Datenmodellierung VU - Einführung 184.685 Datenmodellierung VU Einführung SS 2016 Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian Skritek Seite 1 Datenmodellierung VU - Einführung 1. Motivation Motivation Wir haben heute Große Datenmengen . . . . . . in den unterschiedlichsten Bereichen Verteilte Applikationen Kritische Anwendungen Nysret Musliu, Sebastian Skritek Seite 2 Datenmodellierung VU - Einführung 1. Motivation Motivation Wir haben heute Große Datenmengen . . . . . . in den unterschiedlichsten Bereichen Verteilte Applikationen Kritische Anwendungen ⇒ benötigen Software zur effizienten Verarbeitung Nysret Musliu, Sebastian Skritek Seite 3 Datenmodellierung VU - Einführung 1. Motivation 1.1. Datenbankverwaltungssysteme DBMS Zusätzliche Anforderungen an die Software Probleme: Redundanz und Inkonsistenz Verlust von Daten Mehrbenutzerbetrieb Sicherheitsprobleme Integritätsverletzungen Beschränkte Zugriffsmöglichkeiten Hohe Entwicklungskosten Nysret Musliu, Sebastian Skritek Seite 4 Datenmodellierung VU - Einführung 1. Motivation 1.1. Datenbankverwaltungssysteme DBMS Datenbankverwaltungssystem (DBMS) Datenbankverwaltungssystem (Database Management System – DBMS): Gesamtheit der Programme zum Zugriff auf die gespeicherten Daten Datenbasis: Die gespeicherten Daten Nysret Musliu, Sebastian Skritek Seite 5 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 6 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit logische Ebene physische Ebene Nysret Musliu, Sebastian Skritek Seite 7 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... Sicht n logische Ebene physische Ebene Nysret Musliu, Sebastian Skritek Seite 8 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... Sicht n logische Ebene physische Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 9 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... Sicht n logische Datenunabhängigkeit logische Ebene physische Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 10 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... Sicht n logische Datenunabhängigkeit logische Ebene physische Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 11 Datenmodellierung VU - Einführung 2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1 ... Sicht n logische Datenunabhängigkeit Datenbankschema logische Ebene physische Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 12 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Nysret Musliu, Sebastian Skritek Seite 13 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Konzeptuelles Schema Nysret Musliu, Sebastian Skritek ER/EER/UML Seite 14 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Konzeptuelles Schema Logisches Schema Nysret Musliu, Sebastian Skritek ER/EER/UML Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML, . . . Seite 15 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt manuelle/intellektuelle Modellierung Konzeptuelles Schema Logisches Schema Nysret Musliu, Sebastian Skritek ER/EER/UML Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML, . . . Seite 16 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt manuelle/intellektuelle Modellierung Konzeptuelles Schema ER/EER/UML halbautomatische Transformation Datenmodell: Netzwerk, hierarchisch, Logisches Schema relational, oo, deduktiv, XML, . . . Nysret Musliu, Sebastian Skritek Seite 17 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Nysret Musliu, Sebastian Skritek Seite 18 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt reale Welt: Universität Vorlesungen Studenten Lehrende Nysret Musliu, Sebastian Skritek Seite 19 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt reale Welt: Universität Vorlesungen Studenten Lehrende 2 Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) Nysret Musliu, Sebastian Skritek Seite 20 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt reale Welt: Universität Vorlesungen Studenten Lehrende 2 Ü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 PersNr Name ....... Rang VorlNr Nysret Musliu, Sebastian Skritek ....... Raum Seite 21 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 3 Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) Nysret Musliu, Sebastian Skritek Seite 22 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodellierung (Bsp.) 3 Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) 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 ... ... ... ... Nysret Musliu, Sebastian Skritek Seite 23 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodell Datenmodell: Legt generelle Strukturen und Operationen fest, die zur Modellierung genutzt werden können Nysret Musliu, Sebastian Skritek Seite 24 Datenmodellierung VU - Einführung 3. Datenmodellierung Datenmodell Datenmodell: Legt generelle Strukturen und Operationen fest, die zur Modellierung genutzt werden können Besteht aus: • Datendefinitionssprache (DDL) • Datenmanipulationssprache (DML) Abfragesprache (QL) Befehle zum Einfügen, Löschen, und Verändern der Daten Nysret Musliu, Sebastian Skritek Seite 25 Datenmodellierung VU - Einführung 3. Datenmodellierung 3.1. Das Relationale Datenmodell Das Relationale Datenmodell 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) Turing Award (1981) = Nobelpreis der Informatik Nysret Musliu, Sebastian Skritek Seite 26 Datenmodellierung VU - Einführung 3. Datenmodellierung 3.1. Das Relationale Datenmodell Das Relationale Datenmodell Anforderungen an das Modell nach E.F. Codd Datenintegration (einheitliche Verwaltung der Daten) Operationen (Speichern, Suchen, Ändern) Katalog (Zugriff auf Datenbeschreibung) Benutzersichten (applikationsspezifische Sicht) Konsistenzüberwachung (logische Korrektheit der Daten) Zugriffskontrolle (Datenschutz) Transaktionen (unteilbare Operationsblöcke) Synchronisation (Mehrbenutzerbetrieb) Datensicherung (Wiederherstellung nach Systemcrash) Nysret Musliu, Sebastian Skritek Seite 27 Datenmodellierung VU - Einführung 3. Datenmodellierung 3.2. Moderne Relationale DBMS Moderne Relationale DBMS ANSI-SPARC Architektur DDL/DML: SQL (Structured Query Language) Einbettung in Programmiersprachen Tools (zB Entwurf, Masken, Interaktion, ...) Mehrbenutzerbetrieb, Sicherheitsmechanismen Oracle, IBM DB2, MS SQL Server, PostgreSQL, MySQL, . . . Nysret Musliu, Sebastian Skritek Seite 28