Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek
|
|
- Gertrud Geisler
- vor 7 Jahren
- Abrufe
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
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
MehrDatenmodellierung. 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
MehrGrundlagen 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)
MehrGrundlagen 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)
MehrDas 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
MehrGrundlagen 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:
MehrGrundlagen 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,
MehrGrundlagen 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
MehrVorlesung 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,
MehrAcknowledgments. 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.
MehrDas 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
MehrWiederholung: 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,,
MehrDatenbanksysteme 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):
MehrVorlesungen. 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...
MehrGrundlagen 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
MehrDatenbanksysteme 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,,...,
MehrRelationale 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
MehrDatenbanksysteme 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):
MehrGrundlagen 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,
MehrFortsetzung: 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
MehrDas 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
MehrDas 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
MehrUni-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
MehrKapitel 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
MehrDatenbanken. 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
MehrRelationale 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)-
MehrDATENBANKSYSTEME: 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
MehrDatenintegritä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!
MehrSWE4 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
MehrDatenintegritä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
MehrRü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
MehrSoftware-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
MehrRelationales 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
MehrDatenintegritä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!
MehrSoftware-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
MehrInformatik 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:
MehrArchitektur 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
MehrKapitel 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:
MehrDas 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,
MehrDatenbanksysteme 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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrFortsetzung: 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
MehrTransaktionsverwaltung 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
MehrWS 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)
MehrRelationale 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
MehrDatenmodellierung. 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,
MehrKapitel 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
MehrDatenmodellierung 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
MehrInformatik 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
MehrRü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
MehrDatenintegritä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
MehrDiskussion: 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
MehrAufgabensammlung 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
MehrReferentielle 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
MehrRelationale 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
MehrDatenbanken 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
MehrDatenbankentwurf. 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:
MehrDatenbanken 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
MehrReferentielle 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
MehrSchema: 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
MehrWie 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
MehrEinfü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
MehrStudierende, 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
MehrQuery 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
MehrObjektorientierte 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.)
MehrWeb 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
MehrGruppe 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
MehrGrundlagen: 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
MehrWirtschaftsinformatik 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.
MehrKapitel 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
MehrInformationssysteme. 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
MehrRü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
MehrKap. 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,
Mehr3. 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
MehrTermin 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.
MehrDatenbanken 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
MehrDatenintegritä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
MehrWS 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
Mehrmit 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
MehrWeb 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:
MehrEinfü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,
MehrKonzeptuelle 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
MehrRü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
MehrDas 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
MehrDatenbanksysteme (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
MehrDatenbanksysteme 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
MehrWS 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
MehrRelationen-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
MehrUniversitä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
MehrKapitel 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..
MehrKapitel 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:
MehrDatenbanksysteme 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
Mehr3. 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
MehrKapitel 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
MehrRelationenkalkü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
MehrRelationale 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
MehrKapitel 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