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
1. Motivation Motivation Wir haben heute Große Datenmengen...... in den unterschiedlichsten Bereichen Verteilte Applikationen Kritische Anwendungen Nysret Musliu, Sebastian Skritek Seite 2
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
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
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
2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit physische Ebene Nysret Musliu, Sebastian Skritek Seite 6
2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit logische Ebene physische Ebene Nysret Musliu, Sebastian Skritek Seite 7
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
2. Datenabstraktion und Datenunabhängigkeit Datenabstraktion und Datenunabhängigkeit externe Ebene (Sichten) Sicht 1... Sicht n physische Datenunabhängigkeit logische Ebene physische Ebene Nysret Musliu, Sebastian Skritek Seite 9
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
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
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
3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Nysret Musliu, Sebastian Skritek Seite 13
3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Konzeptuelles Schema ER/EER/UML Nysret Musliu, Sebastian Skritek Seite 14
3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt Konzeptuelles Schema ER/EER/UML Logisches Schema Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML,... Nysret Musliu, Sebastian Skritek Seite 15
3. Datenmodellierung Datenmodellierung Ausschnitt der realen Welt manuelle/intellektuelle Modellierung Konzeptuelles Schema ER/EER/UML Logisches Schema Datenmodell: Netzwerk, hierarchisch, relational, oo, deduktiv, XML,... Nysret Musliu, Sebastian Skritek Seite 16
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
3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Nysret Musliu, Sebastian Skritek Seite 18
3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Vorlesungen Studenten Lehrende reale Welt: Universität Nysret Musliu, Sebastian Skritek Seite 19
3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Vorlesungen Studenten Lehrende reale Welt: Universität 2 Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) Nysret Musliu, Sebastian Skritek Seite 20
3. Datenmodellierung Datenmodellierung (Bsp.) 1 Abgrenzung der zu modellierenden Welt Vorlesungen Studenten Lehrende reale Welt: Universität 2 Überführung der zu modellierenden Welt in ein konzeptuelles Schema (in der VL: EER) MatrNr Studenten Professoren PersNr... N hören M Vorlesungen N 1 lesen Name Rang VorlNr... Raum Nysret Musliu, Sebastian Skritek Seite 21
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
3. Datenmodellierung Datenmodellierung (Bsp.) 3 Überführung des konzeptuellen Schemas in ein logisches Schema (in der VL: Relationales Schema) Studenten MatrNr Name 24002 Xenokrates 25403 Jonas 26120 Fichte 26830 Aristoxenos 28106 Carnap 29555 Feuerbach...... hören MatrNr VorlNr 26120 5001 24002 5001 24002 4052...... Vorlesungen VorlNr Titel 5001 Grundzüge 5041 Ethik 5049 Mäeutik 4052 Logik 5216 Bioethik...... Nysret Musliu, Sebastian Skritek Seite 23
3. Datenmodellierung Datenmodell Datenmodell: Legt generelle Strukturen und Operationen fest, die zur Modellierung genutzt werden können Nysret Musliu, Sebastian Skritek Seite 24
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
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
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
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