Literatur. Informatik II Vorlesung am D-BAUG der ETH Zürich. Ziele. Datenbankverwaltungssysteme

Ähnliche Dokumente
Informatik II. Vorlesung am D-BAUG der ETH Zürich. Dr. Felix Friedrich und Dr. Hermann Lehner

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL

Informatik II Vorlesung am D-BAUG der ETH Zürich

Informatik II Vorlesung am D-BAUG der ETH Zürich

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Entity Relationship Modell

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Grundlagen des relationalen Modells

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra

Vorlesung Datenbanksysteme vom

Übung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Grundlagen des relationalen l Modells

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells

Datenbanksysteme 2009

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Das relationale Modell

Historische Entwicklung relationaler DBMS. Ted Codd: A Relational Model of Data for Large Shared Data Banks, Comm. ACM, Juni 1970, S.

Datenbanksysteme SS 2007

Relationale Anfragesprachen

Software-Engineering

Transaktionsverwaltung read write read write

Grundlagen des relationalen Modells Seien D 1 ;D 2 ;:::;D n Domänen (Wertebereiche) Relation: R D 1 :::D n Bsp.: Telefonbuch string string integer Tup

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Software-Engineering

Fortsetzung: Projektion Selektion. NULL Werte

DATENBANKSYSTEME: SQL

Uni-Schema. Grundlagen des relationalen Modells N M. 1 Professoren. Bsp.: Telefonbuch string x string x integer

Acknowledgments. Datenmodellierung VU , WS Das Relationale Modell: Begriffsklärung. Übersicht. Das relationale Modell

Datenintegrität. Kapitel 5 1

Anfragebearbeitung 1. Vorlesung Datenbanksysteme vom

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Grundlagen des relationalen Modells

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenbanksysteme SS 2007

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

Objektorientierte Datenbanken

Datenintegrität. Kapitel 5 1

Datenmodellierung. Ausschnitt der Realen Miniwelt. Manuelle/intellektuelle Modellierung. Konzeptuelles Schema (E/R- oder UML-Schema)

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Datenmodellierung. VU , SS 2015 Das relationale Modell. Sebastian Skritek. Institut für Informationssysteme Technische Universität Wien

2. Relationale Datenbanken

Wiederholung VU Datenmodellierung

Abstraktionsebenen des Datenbankentwurfs

Datenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen

Datenmodellierung VU Einführung SS 2015

Wiederholung VU Datenmodellierung

Architektur eines DBMS Logische Optimierung

Datenmodellierung VU Einführung SS 2016

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell

Abstraktionsebenen des Datenbankentwurfs

Rückblick: Datenbankentwurf

Wie definieren wir das Relationen-

3. Relationales Modell & Algebra

Datenbankentwurf. Objektbeschreibung. Prozeßbeschreibungen. Beziehungsbeschreibung: prüfen. Abstraktionsebenen des Datenbankentwurfs

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek

Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator

Kapitel 2: Konzeptuelle Modellierung

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs: 3. Konzeptuelle Ebene. 5. Implementationsebene. 7. Physische Ebene.

3. Relationales Modell & Algebra

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs. 1. Konzeptuelle Ebene. 2. Implementationsebene (Logische Ebene) 3.

Relationales Datenmodell Relationale Algebra

Datenbanksysteme 2013

Kapitel 8: Datenintegrität

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Das relationale Modell

Datenbanksysteme SS 2009

Übung zur Vorlesung Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW) IN8003, SS 2011 Prof. Dr. J. Schlichter

Referentielle Integrität

Kapitel 1: Einführung 1.1 Datenbanken?

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Referentielle Integrität

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Das Relationale Modell

Transkript:

Literatur Literatur: Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage, 203. Informatik II Vorlesung am D-BAUG der ETH Zürich Dr. Felix Friedrich und Dr. Hermann Lehner Vorlesung 2, 208 Datenbanksysteme: Das Entity Relationship (ER) Modell, das Relationale Modell und SQL. Demo: Java & SQL: Eine GUI Applikation fuer die VBZ Daten Quellen: Basismaterial wurde von Prof. Donald Kossmann & Martin Kaufmann freundlicherweise zur Verfügung gestellt. Weitere Quelle: Folien zu Datenbanksysteme: Eine Einführung, Lehrstuhl III Datenbansysteme, Prof. Kemper, TU München 2 Ziele utzen von Datenbanksystemen verstehen, Modellierungskenntnisse ER Modell (Modellierung der Weltsicht) Relationales Modell (Modellierung für die DB) Datenbanksystem anwenden Java + SQL Datenbankverwaltungssysteme Ein Datenbankverwaltungssystem (DBMS) ist ein Werkzeug zur Erstellung und Ausführung datenintensiver Anwendungen grosse Datenmengen grosse Datenströme 3 4

Typische Anwendungen Bank z.b. Konten / Geldtransfer Bibliothek z.b. Bücher / Ausleihen Facebook, Twitter, z.b. Freunde, Sende Tweet Geoinformationssysteme z.b. Topographische Information, "Erzeuge Karte" "Alles, was Sie mit einer Tabelle machen wollen, mit Excel nicht erledigen können und nicht selbst programmieren möchten". Wozu Datenbanksysteme? Vermeide Redundanz und Inkonsistenz Deklarativer Zugriff auf die Daten und Unabhängigkeit von der Implementation (physische Datenunabhängigkeit) Synchronisiere gleichzeitigen Datenzugriff Sicherheit, Vertraulichkeit Minimiere Kosten und Aufwand Ähnliche Funktionalität selbst zu implementieren würde Jahre in Anspruch nehmen 5 6 Datenmodellierung Auschnitt der realen Miniwelt. Teil heutige Vorlesung: Modellierung (ER-Modell) reale Welt: Universität XML konzeptuelles Schema (ER-Schema) relationales Schema intellektuelle Modellierung objektorientiertes Schema halbautomatische Transformation 7 Matrr konzeptuelle Modellierung Persr geben Titel 8

2. Teil heutige Vorlesung: Relationales Datenmodell Legi 2620 25403 Fichte Jonas Legi 25403 2620 5022 500 select from,, where.legi=.legi and.=. and.titel = `Grundzüge ; 500 5022 Titel Grundzüge Glaube und Wissen Entity Relationship Modell update set Title = `Grundzüge der Logik where = 500; 9 0 Entity/Relationship (ER) Modell Modell einer Universität vorraussetzen Legi Semester Legi Vorgänger achfolger Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Hörer Kurs Attribut / Eigenschaft Rolle Semester Persr ote prüfen lesen KP Titel Rang r Titel KP Assistent arbeitenfür Raum Fachgebiet Persr 2

in natürlicher Sprache haben Legir, und Semester. Die Legir identifziert einen eindeutig. haben eine, Kreditpunkte und einen Titel. identifiziert eine Vorlesung eindeutig. haben Persr,, Rang und Raum. Persr identifiziert einen Professor eindeutig. Assistenten haben Persr, und Fachgebiet. Persr. identifiziert einen Assistenten eindeutig. können Voraussetzung für andere sein. lesen. Assistenten arbeiten für werden von über geprüft. erhalten oten als Teil dieser Prüfungen. Ist das die einzig mögliche Interpretation? ein: zu einem ER-Model gehört immer noch Dokumentation und/oder gesunder Menschenverstand Warum ER? Vorteile ER Diagramme sind einfach zu erstellen und editieren ER Diagramme sind aufgrund der grafischen Darstellung einfach zu verstehen (vom Laien) ER Diagramme beschreiben alle Informationsanforderungen Allgemeines Viele Tools verfügbar Kontroverse, ob ER/UML in der Praxis von utzen ist Keine Kontroverse, dass jeder ER/UML lernen sollte 3 4 Funktionalitätsangaben E E R 2 Beispiel: Seminar Um das zu verstehen, denken Sie am besten in Abbildungen (Funktionen): eine Abbildung f(x,y) hat pro Parameter x,y nur einen Wert. : E E 2 R Í E x E 2 : betreuen Seminarthemen ote : :M betreuen: x Seminarthemen betreuen: Seminarthemen x 5 6

Konsistenzbedingungen des Seminar Einschränkungen. dürfen bei einem Professor nur ein Seminarthema bearbeiten 2. können dasselbe Seminarthema nur einmal bearbeiten Universität mit Funktionalitäten Legi Semester vorraussetzen Vorgänger achfolger M M M KP Titel Möglichkeiten. können das Seminarthema für andere wiederverwenden 2. Dasselbe Thema kann von verschiedenen verwendet werden 7 Persr Fachgebiet ote Assistent prüfen arbeitenfür lesen Persr Rang Raum 8 Daumenregeln Wann Attribut, wann Entität? Entität, wenn das Konzept mehr als eine Beziehung hat Attribut, wenn das Konzept nur eine : Beziehung hat Partitionierung von ER-Modellen Realistische Modelle sind grösser als eine Seite ach Bereichen / Organisationseinheiten partitionieren Kein gutes automatisches Graphenpartitionierungstool bekannt Tipps Keine Redundanz modellieren Je weniger Entitäten desto besser ER Modellierung: Zusammenfassung ER beschreibt eine Miniwelt Das "was" und die Regeln ER ist statisch. Es beschreibt keine Übergänge ützlich zum Erstellen von Software zur Beantwortung von (An)fragen über die Miniwelt es folgt nun: ER-Modell à relationales Modell Ähnliche Modellierungsmöglichkeiten bietet UML (mehr auf OOP zugeschnitten) Auch andere graphische Darstellungen des ER Modells gebräuchlich, z.b. "Krähenfussnotation" optisch näher bei UML 9 20

Relationales Modell, Formalismus Relation R R Í D x x D n Relationales Modell Die Welt in Tabellen D, D 2,, D n sind Domänen Beispiel: Telefonbuch Í string x string x integer Tupel: t Î R Beispiel: t = ( Mickey Mouse, Main Street, 47) Relationenschemata werden wie folgt beschrieben Telefonbuch: {[: string, Strasse: string, Telefon#:integer]} 2 {[]} deuten an, dass ein Schema eine Menge von Tupeln [] ist des Attributes Typ des Attributes 22 Relationales Modell Ausprägung: Zustand der Datenbank Telefonbuch Strasse Telefon# Mickey Mouse Main Street 47 Minnie Mouse Broadway 94725 Donald Duck Broadway 95672 Schlüssel: minimale Menge von Attributen, welche ein Tupel eindeutig identifizieren z.b. {Telefon#} oder {, Geburtstag} Regel #: Darstellung von Entities : {[Legi:integer, :string, Semester: integer]} : {[:integer, Titel: string, KP: integer]} : {[Persr:integer, : string, Rang: string,raum: integer]} Assistenten: {[Persr:integer, : string, Fachgebiet: string]} Primärschlüssel (durch Unterstreichung hervorgehoben): Ausgewählter Schlüssel, welcher üblicherweise zur Identifikation eines Tupels in einer Relation verwendet wird. 23 24

Regel #2: Darstellung von Beziehungen! )"! "" E! "#$ E 2 R E n! )#*! " % %! #&! '"! '#( R:{[ ]} R R A,., A k, A2,, A2,,,,,,, k A 2 n Ank A A n kr $!#!" $!#!" $!#!" $!#!" Schlüssel E Schlüssel E 2 Schlüssel E n Attribute von R 25 Darstellung von Beziehungen : {[Legi: integer, : integer]} lesen : {[Persr: integer, : integer]} arbeitenfür : {[AssiPersr: integer, ProfPersr: integer]} voraussetzen: {[Vorgänger: integer, achfolger: integer]} prüfen : {[Legi: integer, : integer, Persr: integer, ote: decimal]} Fremdschlüssel, identifizieren Tupel aus anderen Entitäten 26 Ausprägung von Zur Regel #2: Bennenung der Attribute? Legi 2620 27550 Legi Legi 2620 500 27550 500 27550 4052 2806 504 2806 5052 2806 526 2806 5259 2920 500 2920 504 2920 5049 29555 5022 25403 5022 29555 500 500 4052 M 27 Spezifiziert das ER-Modell Rollen, dann nimm den n der jeweiligen Rolle voraussetzen:{[vorgänger:string, achfolger:string]} andernfalls benutze die n der Schlüsselattribute der Entitäten bei Mehrdeutigkeit erfinde aussagekräftigen n borders_on: {[Code: string, eighbour: string]} Country Code borders_on M vorraussetzen Vorgänger achfolger eighbour Country Code 28

Regel #3: Zusammenfassung von Relationen Ausprägung von und : : lesen: Zusammenfassen: : : {[, Title, CP]} {[Persr,, Level, Room]} {[, Persr]} Fasse (nur) Relationen mit gleichem Schlüssel zusammen (also auch nur (:), (:) oder (:) Beziehungen) {[, Title, CP, gelesenvon]} {[Persr,, Level, Room]} Persr Rang Raum 225 Sokrates FP 226 226 Russel FP 232 227 Kopernikus AP 30 233 Popper AP 52 234 Augustinus AP 309 236 Curie FP 36 237 Kant FP 7 Titel KP gelesenvon 500 Grundzüge 4 237 504 Ethik 4 225 5043 Erkenntnistheorie 3 226 5049 Mäeutik 2 225 4052 Logik 4 225 5052 Wissenschaftstheorie 3 226 526 Bioethik 2 226 5259 Der Wiener Kreis 2 233 5022 Glaube und Wissen 2 234 4630 Die 3 Kritiken 4 237 lesen 29 lesen 30 Das funktioniert ICHT Relationales Modell der Uni-DB Persr Rang Raum liest 225 Sokrates FP 226 504 225 Sokrates FP 226 5049 225 Sokrates FP 226 4052 234 Augustinus AP 309 5022 236 Curie FP 36?? Problem: Redundanz und Anomalien Persr ist kein gültiger Schlüssel für mehr Titel KP 500 Grundzüge 4 504 Ethik 4 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 4 5052 Wissenschaftstheorie 3 526 Bioethik 2 5259 Der Wiener Kreis 2 5022 Glaube und Wissen 2 4630 Die 3 Kritiken 4 lesen 3 Persr Rang Raum Legi Semester Titel KP gelesenvon 225 Sokrates FP 226 24002 Xenokrates 8 500 Grundzüge 4 237 226 Russel FP 232 25403 Jonas 2 504 Ethik 4 225 227 Kopernikus AP 30 2620 Fichte 0 5043 Erkenntnistheorie 3 226 233 Popper AP 52 26830 Aristoxenos 8 5049 Mäeutik 2 225 234 Augustinus AP 309 27550 Schopenhauer 6 4052 Logik 4 225 236 Curie FP 36 2806 Carnap 3 5052 Wissenschaftstheorie 3 226 237 Kant FP 7 2920 Theophrastos 2 526 Bioethik 2 226 29555 Feuerbach 2 5259 Der Wiener Kreis 2 233 5022 Glaube und Wissen 2 234 Assistenten voraussetzen 4630 Die 3 Kritiken 4 237 Perslr Fachgebiet Boss Vorgänger achfolger 3002 Platon Ideenlehre 225 500 504 prüfen 3003 Aristoteles Syllogistik 225 500 5043 Legi r Persr ote 3004 Wittgenstein Sprachtheorie 226 500 5049 2806 500 226 3005 Rhetikus Planetenbewegung 227 504 526 25403 504 225 2 3006 ewton Keplersche Gesetze 227 5043 5052 27550 4630 237 2 3007 Spinoza Gott und atur 226 504 5052 5052 5259 Legi 2620 500 27550 500 27550 4052 2806 504 2806 5052 2806 526 2806 5259 2920 500 2920 504 2920 5049 29555 5022 32

HADS-O: ZUGRIFF AUF SQL DATEBAKE AUS EIER JAVA APPLIKATIO AHAG: WELT-DATEBAK 33 34 [Ein Modell der Welt] [Modell der Welt mit Funktionalitäten] Code Population neighbour Country is_in capital_of City ID Population Code Population borders_on M Country is_in capital_of City ID Population Percentage spoken_in Percentage spoken_in isofficial isofficial M countrylanguage countrylanguage 35 36

[Die Welt in Tabellen] (borders_on nicht modelliert) 37