Datenmodellierung VU - Einführung Datenmodellierung VU - Einführung 1. 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 Sebastian Skritek Seite 1 Datenmodellierung VU - Einführung 1. Motivation Sebastian Skritek Datenmodellierung VU - Einführung Seite 2 1. Motivation 1.1. Datenbankverwaltungssysteme DBMS Zusätzliche Anforderungen an die Software Motivation Wir haben heute Probleme: Große Datenmengen . . . Redundanz und Inkonsistenz Verlust von Daten . . . in den unterschiedlichsten Bereichen Mehrbenutzerbetrieb Verteilte Applikationen Sicherheitsprobleme Integritätsverletzungen Kritische Anwendungen Beschränkte Zugriffsmöglichkeiten Hohe Entwicklungskosten ⇒ benötigen Software zur effizienten Verarbeitung Sebastian Skritek Seite 3 Sebastian Skritek Seite 4 Datenmodellierung VU - Einführung 1. Motivation 1.1. Datenbankverwaltungssysteme DBMS Datenbankverwaltungssystem (DBMS) Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit Datenbankverwaltungssystem (Database Management System – DBMS): Gesamtheit der Programme zum Zugriff auf die gespeicherten Daten Datenbasis: Die gespeicherten Daten physische Ebene Sebastian Skritek Datenmodellierung VU - Einführung Seite 5 2. Datenabstraktion und Datenunabhängigkeit Sebastian Skritek Datenmodellierung VU - Einführung Datenabstraktion und Datenunabhängigkeit Seite 6 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 Sebastian Skritek ... logische Ebene logische Ebene physische Ebene physische Ebene Seite 7 Sebastian Skritek Sicht n Seite 8 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenmodellierung VU - Einführung Datenabstraktion und Datenunabhängigkeit 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... externe Ebene (Sichten) Sicht n Sicht 1 ... Sicht n logische Datenunabhängigkeit logische Ebene logische Ebene physische Datenunabhängigkeit physische Datenunabhängigkeit physische Ebene physische Ebene Sebastian Skritek Seite 9 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Sebastian Skritek Seite 10 Datenmodellierung VU - Einführung Datenabstraktion und Datenunabhängigkeit 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... externe Ebene (Sichten) Sicht n Sicht 1 logische Datenunabhängigkeit Sicht n logische Datenunabhängigkeit logische Ebene Datenbankschema physische Datenunabhängigkeit logische Ebene physische Datenunabhängigkeit physische Ebene Sebastian Skritek ... physische Ebene Seite 11 Sebastian Skritek Seite 12 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung VU - Einführung Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Ausschnitt der realen Welt 3. Datenmodellierung Konzeptuelles Schema Sebastian Skritek Datenmodellierung VU - Einführung Seite 13 3. Datenmodellierung ER/EER/UML Sebastian Skritek Seite 14 Datenmodellierung VU - Einführung Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Ausschnitt der realen Welt 3. Datenmodellierung manuelle/intellektuelle Modellierung Konzeptuelles Schema Logisches Schema Sebastian Skritek ER/EER/UML Konzeptuelles Schema Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML, . . . Logisches Schema Seite 15 Sebastian Skritek ER/EER/UML Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML, . . . Seite 16 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung VU - Einführung Datenmodellierung 3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Ausschnitt der realen Welt manuelle/intellektuelle Modellierung Konzeptuelles Schema ER/EER/UML halbautomatische Transformation Datenmodell: Netzwerk, hierarchisch, Logisches Schema relational, oo, deduktiv, XML, . . . Sebastian Skritek Seite 17 Datenmodellierung VU - Einführung 3. Datenmodellierung 1 Abgrenzung der zu modellierenden Welt reale Welt: Universität reale Welt: Universität Vorlesungen Studenten Studenten Lehrende Lehrende 2 Sebastian Skritek 3. Datenmodellierung Datenmodellierung (Bsp.) Abgrenzung der zu modellierenden Welt Vorlesungen Seite 18 Datenmodellierung VU - Einführung Datenmodellierung (Bsp.) 1 Sebastian Skritek Seite 19 Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) Sebastian Skritek Seite 20 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung VU - Einführung Datenmodellierung (Bsp.) 1 3. Datenmodellierung Datenmodellierung (Bsp.) Abgrenzung der zu modellierenden Welt 3 reale Welt: Universität Vorlesungen Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) Studenten Lehrende 2 Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) MatrNr Studenten Professoren N M Vorlesungen hören N 1 PersNr Name lesen ....... Rang ....... VorlNr Raum Sebastian Skritek Seite 21 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung VU - Einführung Datenmodellierung (Bsp.) 3 Sebastian Skritek Seite 22 3. Datenmodellierung Datenmodell Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) Datenmodell: Studenten 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 26830 Aristoxenos ... ... 4052 Logik 28106 Carnap 5216 Bioethik 29555 Feuerbach ... ... ... ... Sebastian Skritek Legt generelle Strukturen und Operationen fest, die zur Modellierung genutzt werden können Seite 23 Sebastian Skritek Seite 24 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung VU - Einführung 3. 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 Datenmodellierung VU - Einführung Seite 25 3. Datenmodellierung 3.1. Das Relationale Datenmodell Das Relationale Datenmodell Sebastian Skritek Datenmodellierung VU - Einführung Seite 26 3. Datenmodellierung 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 27 Sebastian Skritek Seite 28