184.685 Datenmodellierung VU , Einführung WS 2015 184.685 Datenmodellierung VU , Einführung WS 1. 2015 Motivation Motivation 184.685 Datenmodellierung VU Einführung WS 2015 Wir haben heute Große Datenmengen . . . . . . in den unterschiedlichsten Bereichen Sebastian Skritek Verteilte Applikationen Institut für Informationssysteme Technische Universität Wien Kritische Anwendungen ⇒ benötigen Software zur effizienten Verarbeitung Sebastian Skritek 184.685 Datenmodellierung VU , Einführung WS 1. 2015 Motivation Seite 1 1.1. Datenbankverwaltungssysteme DBMS Zusätzliche Anforderungen an die Software Sebastian Skritek 184.685 Datenmodellierung VU , Einführung WS 1. 2015 Motivation Seite 2 1.1. Datenbankverwaltungssysteme DBMS Datenbankverwaltungssystem (DBMS) Probleme: Datenbankverwaltungssystem (Database Management System – DBMS): Redundanz und Inkonsistenz Verlust von Daten Gesamtheit der Programme zum Zugriff auf die gespeicherten Daten Mehrbenutzerbetrieb Sicherheitsprobleme Integritätsverletzungen Datenbasis: Beschränkte Zugriffsmöglichkeiten Die gespeicherten Daten Hohe Entwicklungskosten Sebastian Skritek Seite 3 Sebastian Skritek Seite 4 184.685 Datenmodellierung VU , Einführung WS 2. 2015 Datenabstraktion und Datenunabhängigkeit 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung Datenabstraktion und Datenunabhängigkeit Datenmodellierung externe Ebene (Sichten) ... Sicht 1 Ausschnitt der realen Welt Sicht n logische Datenunabhängigkeit logische Ebene Datenbankschema manuelle/intellektuelle Modellierung Konzeptuelles Schema physische Datenunabhängigkeit halbautomatische Transformation Datenmodell: Netzwerk, hierarchisch, Logisches Schema relational, oo, deduktiv, XML, . . . physische Ebene Sebastian Skritek Seite 5 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung Sebastian Skritek Datenmodellierung (Bsp.) Abgrenzung der zu modellierenden Welt 3 reale Welt: Universität Vorlesungen Lehrende Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) MatrNr Studenten Professoren N M hören Vorlesungen N 1 lesen Sebastian Skritek ....... hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 24002 Xenokrates 26120 5001 5001 Grundzüge 25403 Jonas 24002 5001 5041 Ethik 26120 Fichte 24002 4052 5049 Mäeutik ... ... 4052 Logik 26830 Aristoxenos PersNr 28106 Carnap 5216 Bioethik Name 29555 Feuerbach ... ... Rang ... ... ....... VorlNr Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) Studenten Studenten 2 Seite 6 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung Datenmodellierung (Bsp.) 1 ER/EER/UML Raum Seite 7 Sebastian Skritek Seite 8 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung 3.1. Das Relationale Datenmodell Das Relationale Datenmodell Datenmodell Datenmodell: Legt generelle Strukturen und Operationen fest, die zur Modellierung genutzt werden können Besteht aus: Edgar F. Codd (1923-2003) A Relational Model of Data for Large Shared Data Banks in: Communications of the ACM, Volume 13, Issue 6 (June 1970) Pages: 377 - 387 (1970) • Datendefinitionssprache (DDL) • Datenmanipulationssprache (DML) Abfragesprache (QL) Befehle zum Einfügen, Löschen, und Verändern der Daten Turing Award (1981) = Nobelpreis der Informatik Sebastian Skritek 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung Seite 9 3.1. Das Relationale Datenmodell Das Relationale Datenmodell Sebastian Skritek 184.685 Datenmodellierung VU , Einführung WS 3. 2015 Datenmodellierung Seite 10 3.2. Moderne Relationale DBMS Moderne Relationale DBMS Anforderungen an das Modell nach E.F. Codd Datenintegration (einheitliche Verwaltung der Daten) Operationen (Speichern, Suchen, Ändern) ANSI-SPARC Architektur Katalog (Zugriff auf Datenbeschreibung) DDL/DML: SQL (Structured Query Language) Benutzersichten (applikationsspezifische Sicht) Einbettung in Programmiersprachen Konsistenzüberwachung (logische Korrektheit der Daten) Tools (zB Entwurf, Masken, Interaktion, ...) Zugriffskontrolle (Datenschutz) Mehrbenutzerbetrieb, Sicherheitsmechanismen Transaktionen (unteilbare Operationsblöcke) Oracle, IBM DB2, MS SQL Server, PostgreSQL, MySQL, . . . Synchronisation (Mehrbenutzerbetrieb) Datensicherung (Wiederherstellung nach Systemcrash) Sebastian Skritek Seite 11 Sebastian Skritek Seite 12