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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Das relationale Modell Datenmodellierung VU , WS 2016 Das relationale Modell Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian Skritek Seite 1

2 Das relationale Modell Acknowledgments Die Folien sind eine kleine Erweiterung der Folien von Katrin Seyr. Nysret Musliu, Sebastian Skritek Seite 2

3 Das relationale Modell Übersicht Das relationale Modell Umsetzung eines konzeptuellen in ein logisches Schema Übersetzung von EER in relationales Schema Eigenschaften relationaler Schemata Datenabfragesprachen Relationale Algebra Relationenkalkül Ausdruckskraft von Abfragesprachen Nysret Musliu, Sebastian Skritek Seite 3

4 Das relationale Modell 1. Begriffsklärung Das Relationale Modell: Begriffsklärung Attribute Name Tupel (Zeile) Telefonbuch Name: string Adresse: string TelNr: integer Mickey Mouse Main Street 4711 Minnie Mouse Broadway Donald Duck Highway Schema Ausprägung Feld Nysret Musliu, Sebastian Skritek Seite 4

5 Das relationale Modell 1. Begriffsklärung Das Relationale Modell: Begriffsklärung Schema: Telefonbuch: {[Name: string, Adresse: string, Telefonnr:integer]} Ausprägung { ( Mickey Mouse, Main Street, 4711), ( Minnie Mouse, Broadway, 94725), ( Donald Duck, Highway, 95672) } ACHTUNG: Keine Ordnung! Nysret Musliu, Sebastian Skritek Seite 5

6 Das relationale Modell 1. Begriffsklärung Relationes Modell: Begriffsklärung Definition (Relation) Seien D 1, D 2,..., D n Domänen (Wertebereiche). Eine Relation (Tabelle) R über D 1, D 2,..., D n ist eine Teilmenge des kartesischen Produkts der Domänen: R D 1 D n n... Stelligkeit der Relation Relationale Datenbank: Menge von Relationen Nysret Musliu, Sebastian Skritek Seite 6

7 Das relationale Modell 1. Begriffsklärung Relationes Modell: Begriffsklärung Beispiel R string string integer Mickey Mouse Main Street 4711 Minnie Mouse Broadway Donald Duck Highway Nysret Musliu, Sebastian Skritek Seite 7

8 Das relationale Modell 1. Begriffsklärung Relationes Modell: Begriffsklärung Definition (Tupel) Ein Tupel t (=Zeile) ist ein Element der Relation t R Beispiel t = ( Mickey Mouse, Main Street, 4711) Nysret Musliu, Sebastian Skritek Seite 8

9 Das relationale Modell 1. Begriffsklärung Relationes Modell: Begriffsklärung Definition (Relationenschema) Das Schema einer Relation besteht aus Name der Relation Liste der Attribute RelName: {[Attr 1 : dom 1,..., Attr n : dom n ]} Beispiel Telefonbuch: {[Name: string, Adresse: string, Telefonnr:integer]} Nysret Musliu, Sebastian Skritek Seite 9

10 Das relationale Modell 1. Begriffsklärung Schlüssel Definition (Schlüssel) Ein Schlüssel ist eine minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren. Anmerkung: Im Allgemeinen mehrere Schlüssel möglich. Ein Schlüsselkandidat wird als Primärschlüssel ausgewählt (Kennzeichnung durch Unterstreichung). Beispiel Telefonbuch: {[Name: string, Adresse: string, Telefonnr:integer]} Telefonbuch: {[Name: string, Adresse: string, Telefonnr:integer]} Nysret Musliu, Sebastian Skritek Seite 10

11 Das relationale Modell 1. Begriffsklärung Begriffsklärung: Fremdschlüssel Fremdschlüssel Ein Fremdschlüssel ist eine Menge von Attributen welche auf den Schlüssel einer (anderen) Relation verweist. Beispiel Raum: {[RaumNr: integer, Bezeichnung: string, Ort: string]} Mitarbeiter: {[PNR: int, Name: string, Raum.RaumNr: integer]} Nysret Musliu, Sebastian Skritek Seite 11

12 Das relationale Modell 2. Von EER zum relationalen Schema Umsetzung eines konzeptuellen Schemas in ein logisches Schema EER relationales Schema Nysret Musliu, Sebastian Skritek Seite 12

13 Das relationale Modell 2. Von EER zum relationalen Schema Zusammenfassung: Konzepte Entitytypen Attribute Beziehungstypen Schwache Entities Generalisierung Schlüssel Relationen(schema) Schlüssel Fremdschlüssel schwache Schlüssel Kardinalitäten Nysret Musliu, Sebastian Skritek Seite 13

14 Das relationale Modell 2. Von EER zum relationalen Schema Von EER zum relationalen Schema: Unischema Beispiel (Unischema) MatrNr Name Semester N voraussetzen M Vorgänger Nachfolger Studenten N hören M Vorlesungen VorlNr SWS N Titel PersNr Fachgebiet N prüfen M lesen Name 1 1 PersNr Name Assistenten Professoren N 1 arbeitenfür Rang Raum Nysret Musliu, Sebastian Skritek Seite 14

15 Das relationale Modell 2. Von EER zum relationalen Schema 2.1. Entitytypen Relationale Darstellung von Entitytypen E A 1... A i A i+1... A k E: {[ A 1 : typ 1,..., A i : typ i, A i+1 : typ i+1,..., A k : typ k ]} Nysret Musliu, Sebastian Skritek Seite 15

16 Das relationale Modell 2. Von EER zum relationalen Schema 2.1. Entitytypen Unischema Beispiel (Unischema) MatrNr Name Semester N voraussetzen M Vorgänger Nachfolger Studenten N hören M Vorlesungen VorlNr SWS N Titel PersNr Fachgebiet N prüfen M lesen Name 1 1 PersNr Name Assistenten Professoren N 1 arbeitenfür Rang Raum Nysret Musliu, Sebastian Skritek Seite 16

17 Das relationale Modell 2. Von EER zum relationalen Schema 2.1. Entitytypen Relationale Darstellung von Entitytypen Relationale Darstellung der vier Entitytypen aus dem Unischema Studenten: {[MatrNr: integer, Name: string, Semester: integer]} Vorlesungen: {[VorlNr: integer, Titel: string, SWS: integer]} Professoren: {[PersNr: integer, Name: string, Rang: string, Raum: integer]} Assistenten: {[PersNr: integer, Name: string, Fachgebiet: string]} Nysret Musliu, Sebastian Skritek Seite 17

18 Das relationale Modell 2. Von EER zum relationalen Schema 2.2. Beziehungstypen Relationale Darstellung von Beziehungstypen A 1 1 E 1... AR 1... R... A 1 k 1 AR kr E n A n k n... A n 1 R : {[E 1.A 1 1,..., E 1.A 1 k }{{} 1,..., E n.a1,..., E n.a n k n, AR 1,..., AR kr ]} }{{}}{{} Schlüssel von E 1 Attribute von R n Schlüssel von E n Nysret Musliu, Sebastian Skritek Seite 18

19 Das relationale Modell 2. Von EER zum relationalen Schema 2.2. Beziehungstypen Von EER zum relationalen Schema: Unischema Beispiel (Unischema) MatrNr Name Semester N voraussetzen M Vorgänger Nachfolger Studenten N hören M Vorlesungen VorlNr SWS N Titel PersNr Fachgebiet N prüfen M lesen Name 1 1 PersNr Name Assistenten Professoren N 1 arbeitenfür Rang Raum Nysret Musliu, Sebastian Skritek Seite 19

20 Das relationale Modell 2. Von EER zum relationalen Schema 2.2. Beziehungstypen Relationale Darstellung von Beziehungstypen Relationale Darstellung der Beziehungstypen aus dem Unischema hören: {[MatrNr: integer, VorlNr: integer]} (N:M) lesen: {[PersNr: integer, VorlNr: integer]} (1:N) arbeitenfür: {[AssiPersNr: integer, ProfPersNr: integer]} (N:1) voraussetzen: {[Vorgänger: integer, Nachfolger: integer]} (N:M) prüfen: {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]} (N:M:1) Schlüssel? Nysret Musliu, Sebastian Skritek Seite 20

21 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen N:M Beziehung (hören) MatrNr Name Semester Titel SWS VorlNr Studenten N hören M Vorlesungen Studenten MatrNr Name Xenokrates Jonas Fichte Aristoxenos Carnap Feuerbach hören MatrNr VorlNr Vorlesungen VorlNr Titel 5001 Grundzüge 5041 Ethik 5049 Mäeutik 4052 Logik 5216 Bioethik Nysret Musliu, Sebastian Skritek Seite 21

22 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Schlüssel von N:M Beziehungen Schlüssel einer Relation, die aus einer N:M Beziehung entstanden ist, beinhaltet alle Fremdschlüsselattribute der an der Beziehung beteiligten Entities. Beispiele hören: {[MatrNr: integer, VorlNr: integer]} (N:M) voraussetzen: {[Vorgänger: integer, Nachfolger: integer]} (N:M) Nysret Musliu, Sebastian Skritek Seite 22

23 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen 1:N Beziehung (lesen) PersNr Name Rang Raum Titel SWS VorlNr Professoren 1 N lesen Vorlesungen Professoren PersNrNr Name 2125 Sokrates 2126 Russel 2127 Kopernikus 2133 Popper 2134 Augustinus 2136 Curie lesen PersNr VorlNr Vorlesungen VorlNr Titel 5001 Grundzüge 5041 Ethik 5049 Mäeutik 4052 Logik 5216 Bioethik Nysret Musliu, Sebastian Skritek Seite 23

24 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Schlüssel von 1:N Beziehungen Schlüssel einer Relation, die aus einer 1:N Beziehung entstanden ist, beinhaltet jene Fremdschlüsselattribute, die von der N Seite der an der Beziehung beteiligten Entity stammen. Beispiele lesen: {[PersNr: integer, VorlNr: integer]} (1:N) arbeitenfür: {[AssiPersNr: integer, ProfPersNr: integer]} (N:1) prüfen: {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]} (N:M:1) Nysret Musliu, Sebastian Skritek Seite 24

25 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Verfeinerung von 1:N Beziehungen Wir hatten: Professoren: {[PersNr: integer, Name: string, Rang: string, Raum: integer]} Vorlesungen: {[VorlNr: integer, Titel: string, SWS: integer]} lesen: {[VorlNr: integer, PersNr: integer]} Verfeinerung durch Zusammenfassung von Relationen: Professoren: {[PersNr: integer, Name: string, Rang: string, Raum: integer]} Vorlesungen: {[VorlNr: integer, Titel: string, SWS: integer, Prof.PersNr: integer]} Nur Relationen mit gleichem Schlüssel zusammenfassen! Nysret Musliu, Sebastian Skritek Seite 25

26 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Ergebnis der richtigen Zusammenfassung PersNr Name Rang Raum Titel SWS VorlNr Professoren 1 N lesen Vorlesungen Professoren PersNr Name Rang Raum 2125 Sokrates C Russel C Kopernikus C Popper C Augustinus C Curie C4 36 Vorlesungen VorlNr Titel SWS PersNr 5001 Grundzüge Ethik Mäeutik Logik Bioethik Nysret Musliu, Sebastian Skritek Seite 26

27 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Falsches Zusammenfassen führt zu Anomalien Professoren PersNr Name Rang Raum liest 2125 Sokrates C Sokrates C Sokrates C Russel C Curie C4 36??? Vorlesungen VorlNr Titel SWS 5001 Grundzüge Ethik Mäeutik Logik Bioethik Problem Schlüssel: Relation Professoren braucht neuen Schlüssel Update-Anomalie: Sokrates zieht um Einfüge-Anomalie: Curie ist neu und hält noch keine Vorlesung. Was ist der Schlüssel? Lösch-Anomalie: Vorlesung Ethik fällt weg Nysret Musliu, Sebastian Skritek Seite 27

28 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Nullwerte und deren Vermeidung Beispiel Studierende, die als StudienassistentInnen arbeiten, bekommen einen Arbeitsraum. Es gibt Studierende und 200 StudienassistentInnen. MatrNr Name Semester RaumNr m2 Lage Studenten (0,1) N 1 sitzen Raum Studenten: {[MatrNr, Name, Semester]} sitzen: {[Studenten.MatrNr, Raum.RaumNr]} Raum: {[RaumNr, m2, Lage]} Studenten: {[MatrNr, Name, Semester, Raum.RaumNr]} Hier nicht zusammenfassen um Nullwerte zu vermeiden Nysret Musliu, Sebastian Skritek Seite 28

29 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen 1:1 Beziehung (sitzen) PersNr Name Rang RaumNr m2 Lage Professoren 1 1 sitzen (1,1) (0,1) Raum Professoren: {[ PersNr, Name, Rang ]} Raum: {[ RaumNr, m2, Lage ]} sitzen: {[ Professoren.PersNr, Raum.RaumNr]} oder {[ Professoren.PersNr, Raum.RaumNr ]} Professoren: {[ PersNr, Name, Rang, Raum.RaumNr ]} Raum: {[ RaumNr, m2, Lage ]} Professoren: {[ PersNr, Name, Rang ]} Raum: {[ RaumNr, m2, Lage, Professoren.PersNr ]} Achtung: Nullwertvermeidung Nysret Musliu, Sebastian Skritek Seite 29

30 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Verfeinerung bei (min,max)-notation E2.. E1 R En R E 1 E 2 E n Übersetzung ins Relationale Schema: R s : {[key(e 1 ), key(e 2 ),..., key(e n )]} (min,max)-notation: Für jede Entity e i vom Typ E i gilt: min i #Tupel der Art (..., e i,... ) R max i Nysret Musliu, Sebastian Skritek Seite 30

31 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Verfeinerung bei (min,max)-notation PersNr Name Rang Lage m2 RaumNr Professoren (1,1) (0,1) sitzen Raum Professoren: {[ PersNr, Name, Rang]} Raum: {[ RaumNr, m2, Lage]} sitzen: {[ Professoren.PersNr, Raum.RaumNr]} Professoren: {[PersNr, Name, Rang, Raum.RaumNr]} Raum: {[RaumNr, m2, Lage]} Nysret Musliu, Sebastian Skritek Seite 31

32 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Verfeinerung bei (min,max)-notation Die (min,max)-notation gibt an, wie oft eine Entity (des Typs E) in einer Ausprägung eines Beziehungstyps auftreten kann. (0,1) Maximal Einmal Identifiziert Tupel der Beziehung eindeutig. Schlüssel enthält die Fremdschlüsselattribute von E. Zusammenfassen kann zu NULL-Werten führen. (1,1) Genau Einmal Identifiziert Tupel der Beziehung eindeutig. Jede Entity vom Typ E steht in einer Beziehung. Schlüssel enthält die Fremdschlüsselattribute von E. Fasse Beziehung mit der Relation E zusammen. Nysret Musliu, Sebastian Skritek Seite 32

33 Das relationale Modell 2. Von EER zum relationalen Schema 2.4. Schwache Entitytypen Relationale Darstellung schwacher Entitytypen W 1... W j A 1 W j+1... E R W... A i W k E: {[ A 1,..., A i,a i+1,..., A n ]} W: {[ E.A 1,..., E.A i,w 1,..., W j, W j+1,..., W k ]} Nysret Musliu, Sebastian Skritek Seite 33

34 Das relationale Modell 2. Von EER zum relationalen Schema 2.4. Schwache Entitytypen Relationale Darstellung schwacher Entitytypen MatrNr Name Semester Note 1 N ablegen Prüfungen PrüfTeil Studenten N N PersNr VorlNr umfassen abhalten Name SWS M M Rang Titel Vorlesungen Professoren Raum Prüfungen: {[Student.MatrNr, PrüfTeil, Note]} umfassen: {[Prüfungen.MatrNr, Prüfungen.PrüfTeil, VorlNr]} abhalten: {[Prüfungen.MatrNr, Prüfungen.PrüfTeil, PersNr]} Nysret Musliu, Sebastian Skritek Seite 34

35 Das relationale Modell 2. Von EER zum relationalen Schema 2.5. Generalisierung Relationale Darstellung der Generalisierung A i+1... A n A 1 S 1... E S... A i S k E: {[ A 1 : typ 1,..., A i : typ i, A i+1 : typ i+1,..., A k : typ k ]} S: {[ E.A 1 : typ 1,..., E.A i : typ i, S 1 : typ s1,..., S k : typ sk ]} Nysret Musliu, Sebastian Skritek Seite 35

36 Das relationale Modell 2. Von EER zum relationalen Schema 2.5. Generalisierung Relationale Darstellung der Generalisierung Relationale Darstellung der Generalisierung aus dem Uni Schema Angestellte PersNr is-a Name Rang Fach Assistenten Professoren Raum Angestellte: {[PersNr, Name]} Professoren: {[Angestellte.PersNr, Rang, Raum]} Assistenten: {[Angestellte.PersNr, Fach]} Nysret Musliu, Sebastian Skritek Seite 36

37 Das relationale Modell 2. Von EER zum relationalen Schema 2.5. Generalisierung Von EER zum relationalen Schema: Unischema Beispiel (Unischema) MatrNr Name Semester N voraussetzen M Vorgänger Nachfolger Studenten N hören M Vorlesungen VorlNr SWS N Titel PersNr Fachgebiet N prüfen M lesen Name 1 1 PersNr Name Assistenten Professoren N 1 arbeitenfür Rang Raum Nysret Musliu, Sebastian Skritek Seite 37

38 Das relationale Modell 2. Von EER zum relationalen Schema 2.6. Relationale Universitätsdatenbank Relationale Universitätsdatenbank Studenten MatrNr Name Sem Xenokrates Jonas Fichte Aristoxenos Schopenhauer Carnap Theophrastos Feuerbach 2 Professoren PersNr Name Rang Raum 2125 Sokrates C Russel C Kopernikus C Popper C Augustinus C Curie C Kant C4 7 Nysret Musliu, Sebastian Skritek Seite 38

39 Das relationale Modell 2. Von EER zum relationalen Schema 2.6. Relationale Universitätsdatenbank Relationale Universitätsdatenbank Vorlesungen VorlNr Titel SWS PersNr 5001 Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die drei Kritiken voraussetzen VorgNr NachfNr Nysret Musliu, Sebastian Skritek Seite 39

40 Das relationale Modell 2. Von EER zum relationalen Schema 2.6. Relationale Universitätsdatenbank Relationale Universitätsdatenbank hören MatrNr VorlNr Assistenten PersNr Name Fachgebiet Boss 3002 Platon Ideenlehre Aristoteles Syllogistik Wittgenstein Sprachtheorie Rhetikus Planetenbewegung Newton Kepler Gesetze Spinoza Gott und Natur 2126 prüfen MatrNr VorlNr PersNr Note Nysret Musliu, Sebastian Skritek Seite 40

41 Das relationale Modell 3. Datenabfragesprachen Datenabfragesprachen Nysret Musliu, Sebastian Skritek Seite 41

42 Das relationale Modell 3. Datenabfragesprachen Datenabfragesprachen (Query Languages) In dieser Einheit: Relationale Algebra Relationenkalkül Beide Sprachen Bilden theoretische Grundlage für SQL Sind gleich ausdrucksstark Sind relational abgeschlossen Nysret Musliu, Sebastian Skritek Seite 42

43 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die relationale Algebra CODD 1970: A relational model for large shared data banks. Communications of the ACM, 13(6): CODD 1972: Relational Completeness of Data Base Sublanguages. In: Rustin, R., Hrsg.: Database Systems, Prentice Hall, Englewood Cliffs, NY, USA Relational abgeschlossen: das Ergebnis einer Abfrage ist wieder eine Relation Prozedurale Abfragesprache: Ausdruck beinhaltet implizit Abarbeitungsplan zur Ausführung der Abfrage Mengenorientierte Sprache: Operationen arbeiten auf Mengen von Tupeln Nysret Musliu, Sebastian Skritek Seite 43

44 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Operatoren der relationalen Algebra Basisoperatoren σ: Selektion π: Projektion : Vereinigung : Mengendifferenz : kartesisches Produkt (Kreuzprodukt) ρ: Umbenennung : Join (Verbund), bzw. : linker, rechter bzw. voller äußerer Join bzw. : linker bzw. rechter Semi-Join : Durchschnitt : Division Nysret Musliu, Sebastian Skritek Seite 44

45 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Selektion und Projektion Studenten MatrNr Name Semester Xenokrates Jonas Aristoxenos Schopenhauer Fichte Carnap 3 Studenten MatrNr Name Semester Xenokrates Jonas Fichte 10 Studenten MatrNr Selektion: Wähle Tupel aus Nysret Musliu, Sebastian Skritek Seite 45 Projektion: Wähle Attribute (Spalten) aus

46 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Selektion: σ F (R) Beispiel Finde alle Studierenden, die mehr als 10 Semester inskribiert sind. σ Semester>10 (Studenten) Studenten MatrNr Name Semester Xenokrates Jonas Fichte Aristoxenos Schopenhauer Carnap 3 σ Semester>10 (Studenten) MatrNr Name Semester Xenokrates Jonas 12 Nysret Musliu, Sebastian Skritek Seite 46

47 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Selektion: σ F (R) Auswahl von Zeilen der Relation R mittels der Formel F F verwendet Vergleichsoperatoren (=,,,, >, <), logische Operatoren (,, ), Attributnamen von R und Konstanten Definition (σ F (R)) Schema: sch(σ F (R)) = sch(r) Ausprägung: σ F (R) = {t R terfülltf } Auswertung von F für Tupel t: Ersetze alle Attributnamen in F durch entsprechenden Wert in t Nysret Musliu, Sebastian Skritek Seite 47

48 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Projektion π Ai (R) Beispiel Finde alle Rangbezeichnungen für Professoren. π Rang (Professoren) Professoren PersNr Name Rang Raum 2125 Sokrates C Russel C Kopernikus C Popper C Augustinus C Curie C4 36 π Rang (Professoren) Rang C3 C4 Nysret Musliu, Sebastian Skritek Seite 48

49 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Projektion π Ai (R) Auswahl einer Menge von Spalten A i einer Relation E Achtung: Duplikate werden eliminiert Definition (π Ai (R)) Sei A i eine Teilmenge der Attribute von R Schema: sch(π Ai (R)) = A i Ausprägung: {t t R : t.a i = t } Nysret Musliu, Sebastian Skritek Seite 49

50 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Vereinigung R S Beispiel Finde die Namen aller Professoren und Assistenten? π Name (Professoren) π Name (Assistenten) π Name(Professoren) Name Sokrates... Curie π Name(Assistenten) Name Platon... Spinoza π Name (Professoren) π Name (Assistenten) Name Sokrates... Kant Platon... Spinoza Nysret Musliu, Sebastian Skritek Seite 50

51 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Vereinigung R S Definiert auf zwei Relationen R, S mit gleichem Schema Gibt alle Zeilen aus, die in R oder in S vorkommen Definition (R S) Vorbedingung: sch(r) = sch(s) Schema: sch(r S) = sch(r) Ausprägung: {t t R oder t S} Nysret Musliu, Sebastian Skritek Seite 51

52 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Mengendifferenz R S Beispiel Finde die (Matrikelnummer der) Studierenden, die noch keine Prüfung absolviert haben. π MatrNr (Studenten) π MatrNr (prüfen) π MatrNr (Studenten) MatrNr π MatrNr (prüfen) MatrNr π MatrNr (Studenten) π MatrNr (prüfen) MatrNr Nysret Musliu, Sebastian Skritek Seite 52

53 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Mengendifferenz R S Definiert auf zwei Relationen R, S mit gleichem Schema Gibt alle Zeilen aus, die in R aber nicht in S vorkommen Definition (R S) Vorbedingung: sch(r) = sch(s) Schema: sch(r S) = sch(r) Ausprägung: {t t R und t / S} Nysret Musliu, Sebastian Skritek Seite 53

54 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Das Kartesische Produkt R S Beispiel Finde alle Paare von Studenten und Einträgen in hören Studenten hören Studenten hören MatrNr Name Sem hören.matrnr VorlNr Xenokrates Xenokrates Xenokrates Jonas Feuerbach Feuerbach Nysret Musliu, Sebastian Skritek Seite 54

55 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Das Kartesische Produkt R S Verknüpft jede Zeile von R mit jeder Zeile von S Schema von R S ist die Vereinigung der Attribute von R und S Ergebnisgröße: R S = R S Oftmals bessere Operation ist der Join Definition (R S) Sei sch(r) = {[A 1,..., A m ]} und sch(s) = {[B 1,..., B n ]}. Schema: sch(r S) = {[A 1,..., A m, B 1,..., B n ]} (sicherstellen dass kein Attributename doppelt vorkommt) Ausprägung: {t t 1 R : t.[a 1,..., A m ] = t 1 und t 2 S : t.[b 1,..., B n ] = t 2 } Nysret Musliu, Sebastian Skritek Seite 55

56 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Umbenennung ρ X (R) Beispiel Finde die VorlNr aller Vorlesungen ohne Voraussetzungen ρ VorlNr NachfNr (voraussetzen) Vorlesungen VorlNr Titel SWS PersNr voraussetzen VorgNr NachfNr ρ VorlNr NachfNr (voraussetzen) VorgNr VorlNr π VorlNr (Vorlesungen) π VorlNr (ρ VorlNr NachfNr (voraussetzen)) Nysret Musliu, Sebastian Skritek Seite 56

57 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Umbenennung ρ X (R) Beispiel Finde die Vorlesungsnummern der Vorlesungen, die indirekte Vorgänger 2. Stufe der VO 5216 sind (= Vorgänger der Vorgänger von 5216) ρ V1 (voraussetzen) ρ V 2 (voraussetzen) voraussetzen VorgNr NachfNr VorgNr V 1 NachfNr voraussetzen VorgNr NachfNr VorgNr ( σ V1.NachfNr=V 2.VorgNr V 2.NachfNr=5216 ( ρv1 (voraussetzen) ρ V 2 (voraussetzen) )) π V1.VorgNr V 2 NachfNr Nysret Musliu, Sebastian Skritek Seite 57

58 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Umbenennung ρ X (R) Die Umbenennung von Attributen ρ A B (R): ρ A B (R) benennt das Attribut B der Relation R neu mit A Die Umbenennung von Relationen ρ V (R) Die Relation R bekommt den neuen Namen V Nysret Musliu, Sebastian Skritek Seite 58

59 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Definition: Ausdrücke der relationalen Algebra Definition (Relationale Algebra) Die Basisausdrücke der relationalen Algebra sind: Relationen der Datenbank oder konstante Relationen Seien R und S Ausdrücke der relationalen Algebra, so sind: σ F (R) und π Ai (R) R S, R S, und R S ρ A B (R) und ρ V (R) ebenfalls gültige Ausdrücke der relationalen Algebra. Nysret Musliu, Sebastian Skritek Seite 59

60 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Ausdrücke der relationalen Algebra Beispiel π Name (σ R1.MN=St.MN ((π MN (Student) π MN (hören)) Student)) π Name (Professoren) π Name π Name σ R1.MatrNr=Student.MatrNr Professoren Student π MatrNr Student π MatrNr hören Nysret Musliu, Sebastian Skritek Seite 60

61 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Ausdrücke der relationalen Algebra Beispiel π Name (σ R1.MN=St.MN ((π MN (Student) π MN (hören)) Student)) π Name (Professoren) π Name π Name (σ R1.MN=St.MN (... )) σ R1.MN=St.MN σ R1.MN=St.MN ((... ) Student) π Name π Name (Professoren) Professoren (π MN (Student) π MN (hören)) Student Student π MatrNr(... π ) π MatrNr(... π ) Student hören Nysret Musliu, Sebastian Skritek Seite 61

62 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der natürliche Verbund (Join) R S Beispiel Welche Studenten besuchen welche Vorlesungen? σ Studenten.MatrNr=hören.MatrNr (Studenten hören) Studenten hören Studenten MatrNr Name Sem Xenokrates hören MatrNr VorlNr Studenten hören MatrNr Name Sem VorlNr Fichte Schopenhauer Schopenhauer Carnap Carnap Nysret Musliu, Sebastian Skritek Seite 62

63 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der natürliche Verbund (Join) R S Verknüpft zwei Relationen R, S. 1 Bildet das kartesische Produkt der Relationen 2 Selektiert jene Tupel, die auf den gleichnamigen Spalten denselben Wert annehmen 3 Projiziert die doppelt vorkommenden Spalten weg R S R S R S S R A 1 A 2... A m B 1 B 2... B k C 1 C 2... C n Nysret Musliu, Sebastian Skritek Seite 63

64 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der natürliche Verbund (Join) R S Definition (Natürlicher Verbund) Seien R, S mit folgenden Schemata gegeben: R(A 1,..., A m, B 1,... B k ) und S(B 1,... B k, C 1,... C n ). Der natürliche Verbund ist definiert als R S = π A1,...A m,r.b 1,...R.B k,c 1,...C n σ R.B1 =S.B 1 R.B k =S.B k (R S) R S R S R S S R A 1 A 2... A m B 1 B 2... B k C 1 C 2... C n Nysret Musliu, Sebastian Skritek Seite 64

65 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Bsp: Der natürliche Join Welche Studierende besuchen welche Vorlesungen? Studenten MatrNr Name Sem Xenokrates Jonas hören MatrNr VorlNr Vorlesungen VorlNr Titel SWS PersNr 5001 Grundzüge Ethik Nysret Musliu, Sebastian Skritek Seite 65

66 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Bsp: Der natürliche Join Studenten hören Vorlesung MatrNr Name Sem VorlNr Titel SWS PersNr Fichte Grundzüge Schopenhauer Grundzüge Schopenhauer Logik Carnap Ethik Carnap Grundzüge Carnap Logik Carnap Die drei Kritiken Theophrastos Grundzüge Theophrastos Ethik Theophrastos Mäeutik Feuerbach Glaube und Wissen Jonas Glaube und Wissen Nysret Musliu, Sebastian Skritek Seite 66

67 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der allgemeine Verbund (Join) R θ S Verknüpft zwei Relationen R, S, auch wenn sie keine gleichnamigen Attribute haben aufgrund einer logischen Bedingung θ. Definition Seien R und S mit folgenden Schemata gegeben: R(A 1,..., A n ) und S(B 1,..., B m ). Sei θ ein Prädikat über den Attributen A 1,..., A n, B 1,..., B m. Der allgemeine Verbund ist definiert als R θ S = σ θ (R S) Nysret Musliu, Sebastian Skritek Seite 67

68 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der allgemeine Verbund (Join) R θ S Verknüpft zwei Relationen R, S, auch wenn sie keine gleichnamigen Attribute haben aufgrund einer logischen Bedingung θ. Beispiele (θ) θ = Sem > 10 SWS = 4 PersNr = 2134 θ = Student.MatrNr = hören.matrnr hören.vorlnr = Vorlesungen.VorlNr θ = Vorlesungen.VorlNr = voraussetzen.vorgnr Nysret Musliu, Sebastian Skritek Seite 68

69 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Andere Join Arten natürlicher Join (Wh): nur jene Tupel bleiben im Ergebnis, die einen Join-Partner gefunden haben. L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = R L A B C D E a 1 b 1 c 1 d 1 e 1 voller äußerer Join: alle Tupel bleiben erhalten L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = R L A B C D E a 1 b 1 c 1 d 1 e 1 a 2 b 2 c 2 NULL NULL NULL NULL c 3 d 2 e 2 Nysret Musliu, Sebastian Skritek Seite 69

70 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Andere Join Arten: Linker/Rechter äußerer Join linker äußerer Join: Tupel der linken Relation bleiben erhalten L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = R L A B C D E a 1 b 1 c 1 d 1 e 1 a 2 b 2 c 2 NULL NULL rechter äußerer Join: Tupel der rechten Relation bleiben erhalten L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = R L A B C D E a 1 b 1 c 1 d 1 e 1 NULL NULL c 3 d 2 e 2 Nysret Musliu, Sebastian Skritek Seite 70

71 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Andere Join Arten: Semi-Join Semi-Join von L mit R (bzw. R mit L): alle Tupel der Relation L (bzw. R), die einen Join eingehen können, werden ausgewählt. L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = L R A B C a 1 b 1 c 1 L A B C a 1 b 1 c 1 a 2 b 2 c 2 R C D E c 3 d 2 e 2 c 1 d 1 e 1 = L R C D E c 1 d 1 e 1 Nysret Musliu, Sebastian Skritek Seite 71

72 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Der Mengendurchschnitt R S Beispiel Definiert auf zwei Relationen R, S mit gleichem Schema Gibt alle Zeilen aus, die in R und in S vorkommen Kann mittels Mengendifferenz ausgedrückt werden: R S = R (R S) Finde die PersNr jener C4 Professoren, die eine Vorlesung halten. π PersNr (Vorlesungen) π PersNr σ Rang=C4 (Professoren) PersNr Nysret Musliu, Sebastian Skritek Seite 72

73 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die relationale Division R S Beispiel Welche Studierenden haben alle 4-stündigen Vorlesungen gehört? hören MatrNr VorlNr hören π VorlNr σ SWS=4 (Vorlesungen) π VorlNr σ SWS=4 (Vorlesungen) VorlNr = R S MatrNr Nysret Musliu, Sebastian Skritek Seite 73

74 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die relationale Division R S Definiert auf zwei Relationen R, S Schema von S muss Teilmenge von Schema von R sein Ergebnisschema: Attribute von R ohne jenen von S Ergebnis enthält alle Tupel von π R S (R) die mit jedem Tupel in S ein Tupel in R bilden Gegenstück zum kartesischen Produkt: T = U V T U = V und T V = U Kann ausgedrückt werden als R S = π R S (R) π R S ((π R S (R) S) R) Nysret Musliu, Sebastian Skritek Seite 74

75 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die relationale Division R S Definition Seien R, S Relationen, mit S R. Tupel t R S wenn es für jedes Tupel s S ein Tupel r R gibt, mit: r.s = s r.(r S) = t Nysret Musliu, Sebastian Skritek Seite 75

76 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Übersicht Datenabfragesprachen Relationale Algebra Relationenkalkül Ausdruckskraft von Abfragesprachen Nysret Musliu, Sebastian Skritek Seite 76

77 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der Relationenkalkül Deklarative Abfragesprache: spezifiziert, welche Daten gefordert sind, nicht, wie sie erhalten werden Mengenorientierte Sprache: Operationen arbeiten auf Mengen von Tupeln Relational abgeschlossen: das Ergebnis einer Abfrage ist wieder eine Relation Die Anfragen im Relationenkalkül sind von der Form: {t P(t)} wobei P(t) eine Formel ist. Es gibt zwei unterschiedliche, aber gleichmächtige Ausprägungen: der relationale Tupelkalkül der relationale Domänenkalkül Nysret Musliu, Sebastian Skritek Seite 77

78 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Professoren(PersNr, Name, Rang, Raum) Finde alle C4-Professoren: {p p Professoren p.rang = C4 } Finde die Namen aller C4-Professoren: {[p.name] p Professoren p.rang = C4 } Nysret Musliu, Sebastian Skritek Seite 78

79 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Professoren(PersNr, Name, Rang, Raum) Assistenten(PersNr, Name, GebDatum, Boss) Finde Paare von Professoren und die ihnen zugeordneten Assistenten: {[p.name, a.persnr] p Professoren a Assistenten p.persnr = a.boss} Nysret Musliu, Sebastian Skritek Seite 79

80 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Studenten die mindestens eine Vorlesung besuchen: {s s Studenten h hören(s.matrnr = h.matrnr)} MatrNr der Studierenden die alle Vorlesungen besuchen: {[s.matrnr] s Studenten v Vorlesungen( h hören(h.vorlnr = v.vorlnr h.matrnr = s.matrnr))} Nysret Musliu, Sebastian Skritek Seite 80

81 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Professoren(PersNr, Name, Rang, Raum) Studenten die mindestens eine Vorlesung von Curie besuchen: {s s Studenten h hören(s.matrnr = h.matrnr v Vorlesungen(h.VorlNr = v.vorlnr p Professoren(p.PersNr = v.gelesenvon p.name = Curie )))} Nysret Musliu, Sebastian Skritek Seite 81

82 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Studenten(MatrNr, Name, Semester) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) hören(matrnr, VorlNr) Studenten die alle vierstündigen Vorlesungen besuchten: {s s Studenten v Vorlesungen(v.SWS 4 h hören(h.vorlnr = v.vorlnr h.matrnr = s.matrnr))} Nysret Musliu, Sebastian Skritek Seite 82

83 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Studenten(MatrNr, Name, Semester) Assistenten(PersNr, Name, GebDatum, Boss) Professoren(PersNr, Name, Rang, Raum) Personalnummern aller Professoren und Assistenten: {[p.persnr] p Professoren p Assistenten} Namen die sowohl Assistenten als auch Studenten tragen: {[p.name] p Assistenten s Studenten( p.name = s.name)} Nysret Musliu, Sebastian Skritek Seite 83

84 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Assistenten(PersNr, Name, GebDatum, Boss) Professoren(PersNr, Name, Rang, Raum) Alle Assistenten die keine Professoren sind: {a a Assistenten p Professoren( p.persnr = a.persnr)} {a a Assistenten p Professoren( p.persnr a.persnr} Nysret Musliu, Sebastian Skritek Seite 84

85 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Definition (Syntax) Die Anfragen des relationalen Tupelkalküls sind von der Form: {t P(t)} t... Tupelvariable (oder Tupelkonstruktor); P(t)... Formel. Formeln werden aus Atomen zusammengebaut (siehe Definition). Definition (Semantik) Ein Tupel t ist im Ergebnis, wenn es die Formel P(t) erfüllt. Die Variable t ist eine freie Variable der Formel P(t), ist also nicht durch einen Quantor (, ) gebunden. Nysret Musliu, Sebastian Skritek Seite 85

86 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Definition (Syntax: Atome und Formeln) Atome: t R : s.aφt.b : Formeln: s.aφc : t Tupelvariable; R Relationenname s und t Tupelvariablen; A und B Attributnamen; φ ein Vergleichsperator (=,, <,, >, ) wie oben, aber c Konstante Atome sind Formeln P Formel, so sind auch P und (P) Formeln P 1, P 2 Formeln, so sind auch P 1 P 2, P 1 P 2 und P 1 P 2 Formeln P(t) Formel mit einer freien Variable t, so sind auch t R(P(t)) und t R(P(t)) Formeln Nysret Musliu, Sebastian Skritek Seite 86

87 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Sichere Ausdrücke im Tupelkalkül Anfragen können unter Umständen eine unendliche Ergebnismenge spezifizieren: Beispiel {n (n Professoren)} gibt alle jene Tupel aus, die nicht in der Tabelle Professoren vorkommen. Davon können wir uns unendlich viele vorstellen. Nysret Musliu, Sebastian Skritek Seite 87

88 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Sichere Ausdrücke im Tupelkalkül Definition (Domäne eines Ausdrucks) Die Domäne einer Formel enthält alle in der Formel vorkommenden Konstanten und alle Attributwerte von Relationen, die in der Formel referenziert werden. Definition (Sichere Ausdrücke) Ein Ausdruck des Tupelkalküls heißt sicher, wenn das Ergebnis des Ausdrucks eine Teilmenge der Domäne ist. Nysret Musliu, Sebastian Skritek Seite 88

89 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Professoren(PersNr, Name, Rang, Raum) Finde alle C4-Professoren: {[p, n, r, o] ([p, n, r, o] Professoren r = C4 )} Finde die Namen aller C4-Professoren: {[n] p, o, r([p, n, r, o] Professoren r = C4 )} Nysret Musliu, Sebastian Skritek Seite 89

90 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Professoren(PersNr, Name, Rang, Raum) Assistenten(PersNr, Name, GebDatum, Boss) Finde Paare von Professoren und die ihnen zugeordneten Assistenten: {[n, a] p, r, o([p, n, r, o] Professoren m, f ([a, m, f, p] Assistenten))} Nysret Musliu, Sebastian Skritek Seite 90

91 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Studierende die mindestens eine Vorlesung besuchen: {[m, n] s([m, n, s] Studenten v([m, v] hören))} MatrNr der Studierenden die alle Vorlesungen besuchen: {[m] n, s([m, n, s] Studenten v, t, s, p ([v, t, s, p] Vorlesungen [m, v] hören)} Nysret Musliu, Sebastian Skritek Seite 91

92 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Professoren(PersNr, Name, Rang, Raum) Name und MatrNr von Studenten die mindestens eine Vorlesung von Curie besuchen: {[m, n] s([m, n, s] Studenten v([m, v] hören t, d, p([v, t, d, p] Vorlesungen a, r, u([p, a, r, u] Professoren a = Curie )))} Nysret Musliu, Sebastian Skritek Seite 92

93 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Professoren(PersNr, Name, Rang, Raum) Name und MatrNr von Studenten die mindestens eine Vorlesung von Curie besuchen: {[m, n] s, v, t, d, p, r, u([m, n, s] Studenten [m, v] hören [v, t, d, p] Vorlesungen [p, Curie, r, u] Professoren)))} Nysret Musliu, Sebastian Skritek Seite 93

94 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Vorlesungen(VorlNr, Titel, SWS, gelesenvon) Name und MatrNr von Studenten die alle vierstündigen Vorlesungen besuchen: {[m, n] s([m, n, s] Studenten v, t, s, p(([v, t, s, p] Vorlesungen s = 4) [m, v] hören)} Nysret Musliu, Sebastian Skritek Seite 94

95 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Studenten(MatrNr, Name, Semester) Assistenten(PersNr, Name, GebDatum, Boss) Professoren(PersNr, Name, Rang, Raum) Personalnummern aller Professoren und Assistenten: {[p] ( n, g, b([p, n, g, b] Assistenten) ( r, a([p, n, r, a] Professoren)} Namen die sowohl Assistenten als auch Studenten tragen: {[n] p, g, b, m, s( [p, n, g, b] Assistenten [m, n, s] Studenten)} Nysret Musliu, Sebastian Skritek Seite 95

96 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Assistenten(PersNr, Name, GebDatum, Boss) Professoren(PersNr, Name, Rang, Raum) Alle Assistenten die keine Professoren sind: {[p] n, g, b ([p, n, g, b] Assistenten n, r, a([p, n, r, a] Professoren))} {[p] n, g, b ([p, n, g, b] Assistenten n, r, a( ([p, n, r, a] Professoren)))} Nysret Musliu, Sebastian Skritek Seite 96

97 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Definition (Syntax) Die Anfragen des relationalen Domänenkalküls sind von der Form: {[v 1, v 2,..., v n ] P(v 1, v 2,..., v n )} v 1, v 2,..., v n... Domänenvariablen, die einen Attributwert repräsentieren; P(v 1, v 2,..., v n ) eine Formel. Formeln werden aus Atomen zusammengebaut (siehe Definition). Definition (Semantik) Ein Tupel [v 1, v 2,..., v n ] ist im Ergebnis, wenn es die Formel P(v 1, v 2,..., v n ) erfüllt. Die Variablen v 1, v 2,..., v n sind freie Variablen der Formel P(v 1, v 2,..., v n ) also nicht durch einen Quantor (, ) gebunden. Nysret Musliu, Sebastian Skritek Seite 97

98 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Definition (Syntax: Atome und Formeln) Atome: [v 1,..., v n ] R : v 1, v 2,..., v n Domänenvariablen; R ein n-stelliger Relationenname Formeln: xφy : xφc : x, y Domänenvariablen; φ ein Vergleichsperator (=,, <,, >, ) wie oben, aber c Konstante Atome sind Formeln P Formel, so sind auch P und (P) Formeln P 1, P 2 Formeln, so auch P 1 P 2, P 1 P 2 und P 1 P 2 P(v) Formel mit freien Variablen v, so sind auch v(p(v)) und v(p(v)) Formeln Nysret Musliu, Sebastian Skritek Seite 98

99 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Sichere Ausdrücke im Domänenkalkül Anfragen können unter Umständen wieder eine unendliche Ergebnismenge spezifizieren: Beispiel {[p, n, r, o] ([p, n, r, o] Professoren)} gibt wieder alle jene Tupel aus, die nicht in der Tabelle Professoren vorkommen. Davon können wir uns unendlich viele vorstellen. Nysret Musliu, Sebastian Skritek Seite 99

100 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Sichere Ausdrücke im Domänenkalkül Definition (Sichere Ausdrücke) Ein Ausdruck {[x 1, x 2,..., x n ] P(x 1, x 2,..., x n )} ist sicher, falls: Für jedes Tupel [c 1, c 2,..., c n ] im Ergebnis: c i (1 i n) ist in der Domäne von P enthalten Für jede Teilformel xp 1 (x): Wenn Konstante c das Prädikat P(c) erfüllt, dann ist c in der Domäne von P 1 enthalten Für jede Teilformel xp 1 (x): dann und nur dann erfüllt, wenn P 1 (x) für alle Werte der Domäne von P 1 erfüllt ist (2. und 3. im Tupelkalkül automatisch erfüllt!) Nysret Musliu, Sebastian Skritek Seite 100

101 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Vergleich: Tupel- und Domänenkalkül Beispiel Gesucht sind Studierende, die mindestens eine Vorlesung besuchen: Studenten(MatrNr, Name, Semester) hören(matrnr, VorlNr) Tupelkalkül: {s s Studenten h hören(s.matrnr = h.matrnr)} Domänenkalkül: {[m, n, s] [m, n, s] Studenten v([m, v] hören)} Nysret Musliu, Sebastian Skritek Seite 101

102 Das relationale Modell 3. Datenabfragesprachen 3.3. Ausdruckskraft der Abfragesprachen Ausdruckskraft der Abfragesprachen Die drei Sprachen relationale Algebra, relationaler Tupelkalkül, eingeschränkt auf sichere Ausdrücke und relationaler Domänenkalkül, eingeschränkt auf sichere Ausdrücke sind gleich mächtig Wichtig: SQL ist ebenfalls gleich mächtig (mit bestimmten Einschränkungen) Nysret Musliu, Sebastian Skritek Seite 102

103 Das relationale Modell 3. Datenabfragesprachen 3.3. Ausdruckskraft der Abfragesprachen Beispiel: Sport (aus: Formale Modellierung) P F U = {Mensch/1, Sportart/1, Anstrengend/1, Betreibt/2} = {handball/0, laufen/0} = {Maria, Martina, Max, Moritz, Basketball, Fußball, Handball, Schach, Singen, Slackline, Turnen, Laufen} I (Mensch) = {Martina, Max, Moritz } I (Sportart) = {Basketball, Fußball, Schach, Turnen } I (Anstrengend) = {Laufen, Basketball, Handball, Singen } I (Betreibt) I (handball) I (laufen) Beispiel = {(Maria, Handball), (Maria, Singen), (Maria, Fußball), (Martina, Laufen), (Martina, Slackline), (Martina, Basketball), (Max, Schach), (Max, Laufen), (Max, Turnen), (Moritz, Laufen), (Moritz, Handball) } = Handball = laufen x(sportart(x) y(mensch(y) Betreibt(y, x))) Nysret Musliu, Sebastian Skritek Seite 103

104 Das relationale Modell 3. Datenabfragesprachen 3.3. Ausdruckskraft der Abfragesprachen Beispiel: Sport (aus: Formale Modellierung) P = {Mensch/1, Sportart/1, Anstrengend/1, Betreibt/2} I (Mensch) = {Martina, Max, Moritz } I (Sportart) = {Basketball, Fußball, Schach, Turnen } I (Anstrengend) = {Laufen, Basketball, Handball, Singen } I (Betreibt) = {(Maria, Handball), (Maria, Singen), (Maria, Fußball), (Martina, Laufen), (Martina, Slackline), (Martina, Basketball), (Max, Schach), (Max, Laufen), (Max, Turnen), (Moritz, Laufen), (Moritz, Handball) } Beispiel x(sportart(x) y(mensch(y) Betreibt(y, x))) {(x) (Sportart(x) y(mensch(y) Betreibt(y, x)))} {[x] ([x] Sportart y([y] Mensch ([y, x] Betreibt)))} Nysret Musliu, Sebastian Skritek Seite 104

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

Acknowledgments. Datenmodellierung VU , WS Das Relationale Modell: Begriffsklärung. Übersicht. Das relationale Modell Das relationale Modell Das relationale Modell Acknowledgments Datenmodellierung VU 184.685, WS 2015 Das relationale Modell Sebastian Skritek Die Folien sind eine kleine Erweiterung der Folien von Katrin

Mehr

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

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

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 4711)

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 711)

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Das relationale Modell VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Das relationale Modell 1. Überblick Überblick

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Historische Entwicklung relationaler DBMS Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel:

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Relation: R D 1 Domänen (Wertebereiche) x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche, Mengen) Eine Relation ist eine Teilmenge R D 1 x x D n Bsp.: Telefonbuch string x string x integer Ein Tupel ist jedes Element

Mehr

Vorlesung Datenbanksysteme vom

Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,

Mehr

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

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell Das relationale odell Das relationale odell Acknowledgments Datenmodellierung VU 184.685, WS 2015 Das relationale odell Sebastian Skritek Die Folien sind eine kleine Erweiterung der Folien von Katrin Seyr.

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Grundlagen Übersetzung von ER-Schemata in relationale Schemata Relationale Algebra Relationenkalkül Domänenkalkül Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen

Mehr

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 11.05.2009: Anfang von Kapitel 6: Das Relationale Modell Oliver Vornberger Institut für Informatik Universität Osnabrück Das Relationale Modell Wertebereiche (Domänen):

Mehr

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

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas Das relationale eato aedatenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 Fichte 25403 5022 5001 Grundzüge 25403... Jonas... 26120... 5001... 5022... Glaube und Wissen...

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Das relationale Modell Verfeinerung des relationalen Schemas Relationale Algebra Relationenkalkül Kapitel 3 1 Grundlagen des relationalen Modells Seien D 1, D,, D n

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück 1 Kapitel 6a: Das relationale Modell 2 Das Relationale Modell Wertebereiche (Domänen): D 1, D 2,,...,

Mehr

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

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D, D 2,, D n Domänen (Wertebereiche) elation: D x x D n Bsp.: Telefonbuch string x string x integer Mickey Mouse Mini Mouse Donald Duck Telefonbuch Straße Main

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Fortsetzung: Projektion Selektion. NULL Werte

Fortsetzung: Projektion Selektion. NULL Werte Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 6 Das Relationale Modell 6.1 Definition Gegeben sind n nicht notwendigerweise unterschiedliche Wertebereiche (auch Domänen genannt) D 1,..., D n, welche nur atomare Werte enthalten, die nicht strukturiert

Mehr

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

Uni-Schema. Grundlagen des relationalen Modells N M. 1 Professoren. Bsp.: Telefonbuch string x string x integer Grundlagen des relationalen odells Seien D, D,, D n Domänen (Wertebereiche, engen) Eine elation ist eine Teilmenge D x x D n Bsp.: Telefonbuch string x string x integer ickey ouse ini ouse Donald Duck

Mehr

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

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

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

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012 Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus

Mehr

Relationale Anfragesprachen

Relationale Anfragesprachen Relationale Anfragesprachen Structured Query Language: SQL Query by Example: QBE Kapitel 1 Übungen Fr 8.0 Uhr Michael Kühn Raum E 11 SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)-

Mehr

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL Einführung, Entity-Relationship Modell, Funktionalitäten, Formalismus des Relationalen Modells, Transformation des ER-Modells, Relationale Algebra: Selektion, Projektion, kartesisches Produkt, Umbenennung

Mehr

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

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

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien

Mehr

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

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Rückblick: Datenbankentwurf

Rückblick: Datenbankentwurf Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE42 Folie Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 2: Datenorientierte Sicht FH Wedel Prof. Dr. Sebastian Iwanowski SWE42

Mehr

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Relationale Algebra Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Grundbegriffe des Relationalen Modells Abbildung von ER-Diagrammen

Mehr

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Software-Engineering

Software-Engineering SWE42 Slide Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 2: Datenorientierte Sicht SWE42 Slide 2 Systemanalyse: Datenorientierte Sicht Entity-Relationship-Modellierung

Mehr

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

Informatik II Vorlesung am D-BAUG der ETH Zürich Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 11, 2017 Datenbanksysteme: Das Entity Relationship (ER) Modell, das Relationale Modell und SQL. Literatur Literatur: Kemper, Eickler: Datenbanksysteme:

Mehr

Architektur eines DBMS Logische Optimierung

Architektur eines DBMS Logische Optimierung Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Das relationale Modell (Teil 1)

Das relationale Modell (Teil 1) Vorlesung #2 Das relationale Modell (Teil 1) Fahrplan WS 2010/11 Feedback Vorlesung#1 Das relationale Modell Einordnung (wir überspringen die Modellierung, das kommt im 4. Semester Datenmanagement ) Definition,

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

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

Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator Fortsetzung: Anfragen mit SQL Bisher: Projektion, Selektion, Duplikatbehandlung, NULL Werte Kreuzprodukt, Inner Join Mengenoperationen Sortierung Geschachtelte Anfragen Existenzquantor, Mengenvergleich

Mehr

Transaktionsverwaltung read write read write

Transaktionsverwaltung read write read write Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50.- Euro: a:= a 50; 3. Schreibe

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls

Mehr

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

Datenmodellierung. VU , SS 2016 Relationale Abfragesprachen SQL. Nysret Musliu, Sebastian Skritek Relationale Abfragesprachen Datenmodellierung VU 184685, SS 2016 Relationale Abfragesprachen SQL Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu,

Mehr

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

Datenmodellierung VU Einführung SS 2016

Datenmodellierung VU Einführung SS 2016 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

Mehr

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

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

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

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Diskussion: Personal (1)

Diskussion: Personal (1) Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens

Mehr

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Aufgabensammlung SQL SW4 1. Einfache Anfragen Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Relationale Abfragesprachen

Relationale Abfragesprachen Relationale Abfragesprachen Relationale Abfragesprachen VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Relationale Abfragesprachen 1 Überblick

Mehr

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen Eine Relation

Mehr

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien. Datenbankentwurf Datenbankentwurf VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenbankentwurf 1. Überblick Überblick Wiederholung:

Mehr

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen Eine Relation

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

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

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells) Datenmodellierung DBS kann vieles, aber nicht alles! Benutzer muss spezifizieren Anforderungen einer Anwendung Art von zu speichernden Daten Zwei wichtige Konzepte beim Entwurf: Datenmodell: Konstrukte

Mehr

Wie definieren wir das Relationen-

Wie definieren wir das Relationen- Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136

Mehr

Einführung in Datenbanksysteme

Einführung in Datenbanksysteme Prof. Dr. Ralf Möller TUHH Das relationale Datenmodell Das relationale Datenmodell 2.1 3.1 RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen. Eine Relation ist eine

Mehr

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

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert: Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert: Lehrangebot des FG Informationssysteme Modellierung Datenbanken Internet-Suchmaschinen Information

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 1 Slide 1 Objektorientierte Datenbanken Vorlesung 1 Sebastian Iwanowski FH Wedel OODB 1 Slide Organisatorisches Vorlesung Mittwochs, 09:30 10:5 Raum HS Übung Dienstags, 09:30 10:5 (erstmalig am 1.0.)

Mehr

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken SQL. Dr. Gerd Gröner Wintersemester 2013/14

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken SQL. Dr. Gerd Gröner Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Kenntnisse der Grundkonzepte von Fähigkeit zur praktischen Anwendung

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. 1. Leistungsüberprüfung AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 16.04.2013

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 1. Zentralübung Harald Lang FAQs Ist der Prüfungtermin schon bekannt? Termin: Mi. 18.02.2015, 08:00 Uhr FAQs Gilt der Bonus auch für die Nachholklausur? Ja. Selbst dann, wenn die

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

Mehr

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester Informationssysteme Sommersemester 2016 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Betriebliche Informationssysteme ˆ spiegeln Geschäftsmodell eines Unternehmens

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

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

Termin 12: Datenbanksysteme (2) - Einführung in SQL Termin 12: Datenbanksysteme (2) - Einführung in SQL Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3.

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler)) 3. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 Hinweis: Wir schlagen vor, die Aufgaben in der Reihenfolge

Mehr

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

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

Mehr

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

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL 304 Literatur, Quellen Literatur: Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage,

Mehr

Konzeptuelle Modellierung

Konzeptuelle Modellierung Kapitel 2 Konzeptuelle Modellierung 2.1 Das Entity-Relationship-Modell Die grundlegenden Modellierungsstrukturen dieses Modells sind die Entities (Gegenstände) und die Relationships (Beziehungen) zwischen

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

Datenbanksysteme (1)

Datenbanksysteme (1) Kapitel 18: Datenbanksysteme (1) Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Datenbanken und Datenbanksysteme Entity/Relationship-Modell (ERM) Das Relationale Datenmodell

Mehr

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

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2009 Vorlesung vom 19.05.2009 noch Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Self Join 15.) Liste die Namen der Assistenten, die für denselben

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2) Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle

Mehr

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

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

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 Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Aufgabe 1: ER-Modellierung 1. Siehe Unterstreichungen in

Mehr

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

Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies Kapitel 8 Dr. Jérôme Kunegis SQL Continued WeST Institute for Web Science & Technologies Lernziele Syntax von SQL Anfragen Erweiterte Konstrukte in SQL Abfragen: Aggregation, Gruppierung, rekursive Anfragen..

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2014 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

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

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large hared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBM wie

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine

Mehr

Relationenkalkül. Prof. Dr. T. Kudraß 1

Relationenkalkül. Prof. Dr. T. Kudraß 1 Relationenkalkül Prof. Dr. T. Kudraß 1 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül (DRK). Kalkül hat Variablen, Konstanten, Vergleichsoperatoren, logische

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2012/2013 Kapitel 2: Das Relationale

Mehr