Entity Relationship Modell

Ähnliche Dokumente
Wiederholung: Relationale Algebra

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

DATENBANKSYSTEME: SQL

Grundlagen des relationalen Modells

Vorlesung Datenbanksysteme vom

Fortsetzung: Projektion Selektion. NULL Werte

Relationale Anfragesprachen

Wiederholung: Relationale Algebra

Datenbanksysteme 2009

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

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

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

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

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

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

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

Grundlagen des relationalen Modells

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL

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

Datenbanksysteme SS 2007

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

Grundlagen des relationalen Modells

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

Das relationale Modell

Anfragebearbeitung 1. Vorlesung Datenbanksysteme vom

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

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

Datenbanksysteme SS 2007

Grundlagen des relationalen Modells

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

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

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

Transaktionsverwaltung read write read write

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

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

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

Architektur eines DBMS Logische Optimierung

Grundlagen des relationalen l Modells

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

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

Software-Engineering

Software-Engineering

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

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

Datenintegrität. Kapitel 5 1

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

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

Wiederholung VU Datenmodellierung

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

Wiederholung VU Datenmodellierung

Kapitel 8: Datenintegrität

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

Objektorientierte Datenbanken

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Das Relationale Modell

Diskussion: Personal (1)

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Relationale Abfragesprachen

Datenbanksysteme 2013

Das relationale Modell

Datenintegrität. Kapitel 5 1

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

Datenmodellierung. VU , SS 2015 Relationale Abfragesprachen SQL. Sebastian Skritek

Datenmodellierung. VU , SS 2016 Relationale Abfragesprachen SQL. Nysret Musliu, Sebastian Skritek

Diskussion: Personal (1)

Datenbanksysteme SS 2007

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

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

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

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

Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies

Termin 12: Datenbanksysteme (2) - Einführung in SQL

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert:

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

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

Wie definieren wir das Relationen-

Referentielle Integrität

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

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme (1)

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I

Datenmodelle und Datenbanken 1 Internet-Datenbanken

Referentielle Integrität

Relationales Datenmodell Relationale Algebra

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

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

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

Transkript:

Entity Relationship Modell 2

Entity/Relationship (ER) Modell Legi Name Semester Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Studenten hören Hörer Kurs Vorlesungen Attribut / Eigenschaft Rolle Nr Titel KP 3

Beispiel: Seminar Studenten N betreuen 1 1 Professoren Seminarthemen Note betreuen: Professoren x Studenten Seminarthemen betreuen: Seminarthemen x Studenten Professoren 4

Modell einer Universität vorraussetzen Legi Vorgänger Nachfolger VorlNr Name Studenten hören Vorlesungen KP Semester Titel Note prüfen lesen PersNr Rang Name Assistent arbeitenfür Professoren Raum Fachgebiet PersNr Name 5

Modell einer Universität vorraussetzen Legi Name Studenten N hören Vorgänger Nachfolger M N M Vorlesungen VorlNr KP Semester N M N Titel Note prüfen lesen PersNr 1 1 Rang Name Assistent N arbeitenfür 1 Professoren Raum Fachgebiet PersNr Name 6

Relationales Modell 7

Uni Schema vorraussetzen Legi Name Studenten N hören Vorgänger M N Vorlesungen Nachfolger M VorlNr KP Semester N M N Titel Note prüfen lesen PersNr Name Assistent N arbeitenfür 1 1 1 Professoren Rang Raum Fachgebiet PersNr Name 8

Regel #1: Darstellung von Entities Studenten: {[Legi:integer, Name:string, Semester: integer]} Vorlesungen: {[VorlNr:integer, Titel: string, KP: integer]} Professoren: {[PersNr:integer, Name: string, Rang: string,raum: integer]} Assistenten: {[PersNr:integer, Name: string, Fachgebiet: string]} 9

Ausprägung von hören Studenten Legi... 26120... 27550......... Legi Legi hören VorlNr 26120 5001 27550 5001 27550 4052 28106 5041 28106 5052 28106 5216 28106 5259 29120 5001 29120 5041 29120 5049 29555 5022 25403 5022 29555 5001 Vorlesungen VorlNr... 5001... 4052......... VorlNr Studenten N hören M Vorlesungen 10

Darstellung von Beziehungen hören: {[Legi: integer, VorlNr: integer]} lesen : {[PersNr: integer, VorlNr: integer]} arbeitenfür : {[AssiPersNr: integer, ProfPersNr: integer]} voraussetzen: {[Vorgänger: integer, Nachfolger: integer]} prüfen : {[Legi: integer, VorlNr: integer, PersNr: integer, Note: decimal]} 11

Relationales Modell der Uni-DB Professoren Studenten Vorlesungen PersNr Name Rang Raum Legi Name Semester VorlNr Titel KP gelesenvon 2125 Sokrates FP 226 24002 Xenokrates 18 5001 Grundzüge 4 2137 2126 Russel FP 232 25403 Jonas 12 5041 Ethik 4 2125 2127 Kopernikus AP 310 26120 Fichte 10 5043 Erkenntnistheorie 3 2126 2133 Popper AP 52 26830 Aristoxenos 8 5049 Mäeutik 2 2125 2134 Augustinus AP 309 27550 Schopenhauer 6 4052 Logik 4 2125 2136 Curie FP 36 28106 Carnap 3 5052 Wissenschaftstheorie 3 2126 2137 Kant FP 7 29120 Theophrastos 2 5216 Bioethik 2 2126 29555 Feuerbach 2 5259 Der Wiener Kreis 2 2133 5022 Glaube und Wissen 2 2134 Assistenten voraussetzen 4630 Die 3 Kritiken 4 2137 PerslNr Name Fachgebiet Boss Vorgänger Nachfolger 3002 Platon Ideenlehre 2125 5001 5041 prüfen 3003 Aristoteles Syllogistik 2125 5001 5043 Legi Nr PersNr Note 3004 Wittgenstein Sprachtheorie 2126 5001 5049 28106 5001 2126 1 3005 Rhetikus Planetenbewegung 2127 5041 5216 25403 5041 2125 2 3006 Newton Keplersche Gesetze 2127 5043 5052 27550 4630 2137 2 3007 Spinoza Gott und Natur 2126 5041 5052 5052 5259 hören Legi VorlNr 26120 5001 27550 5001 27550 4052 28106 5041 28106 5052 28106 5216 28106 5259 29120 5001 29120 5041 29120 5049 29555 5022 12

Relationale Algebra & SQL 13

Die relationale Algebra σ Selektion π Projektion kartesisches Produkt Join (Verbund) ρ Umbenennung 14

Relational Algebra und SQL Welcher Professor liest "Mäeutik"? select Name, Titel from Professoren, Vorlesungen where PersNr = gelesenvon and Titel = "Mäeutik" ; Projektion Kreuzprodukt Selektion Name,Titel ( PersNr=gelesenVon Titel= Mäeutik (Professoren Vorlesungen)) 15

Kartesisches Produkt SELECT... FROM Tabelle1, Tabelle2... entspricht dem kartesischen Produkt SELECT * FROM studenten, hören studenten hören 5/23/2016 16

Kartesisches Produkt plus Selektion SELECT * FROM studenten s, hören h WHERE s.legi = h.legi studenten.legi = hören.legi (studenten hören) 5/23/2016 17

Kartesisches Produkt plus Selektion = Join SELECT... FROM Tabelle1 JOIN Tabelle2 ON condition entspricht dem Join SELECT * FROM studenten s JOIN hören h ON s.legi = h.legi SELECT * FROM studenten s, hören h WHERE s.legi = h.legi studentenhören 5/23/2016 18

Mengenoperationen Mengenoperation: union ( select PersNr, Name from Assistenten ) union ( select PersNr, Name from Professoren); union funktioniert nur auf Relationen mit gleichem Schema! 19

Aggregatfunktion und Gruppierung Aggregatfunktionen: avg, max, min, count, sum select v.gelesenvon, p.name, sum(v.kp) from Vorlesungen v, Professoren p where v.gelesenvon = p.persnr and p.rang = 'FP' group by v.gelesenvon, p.name having avg(v.kp) >= 3; SQL weiss nicht, dass sich der Name innerhalb der Gruppe nicht ändern kann, wenn nur gelesenvon angegeben ist 20

Abarbeitung der Anfrage in SQL 1. Schritt: Kreuzprodukt und Selektion from Vorlesungen, Professoren where gelesenvon = PersNr and Rang = FP 2. Schritt: Gruppierung group by gelesenvon, Name 3. Schritt: Selektion der Gruppierung having avg (KP) >= 3 4. Schritt: Projektion select gelesenvon, Name, sum (KP) 21

Geschachtelte Anfrage Unteranfrage in der where-klausel Welche Prüfungen sind besser als durchschnittlich verlaufen? select * from prüfen where Note > ( select avg (Note) from prüfen ); 22