Datenmodellierung. VU , SS 2015 Das relationale Modell. Sebastian Skritek. Institut für Informationssysteme Technische Universität Wien
|
|
- Klara Böhme
- vor 6 Jahren
- Abrufe
Transkript
1 Das relationale Modell Datenmodellierung VU , SS 2015 Das relationale Modell Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Sebastian Skritek Seite 1
2 Das relationale Modell Acknowledgments Die Folien sind eine kleine Erweiterung der Folien von Katrin Seyr. 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 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 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) } 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 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 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) 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]} 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]} Sebastian Skritek Seite 10
11 Das relationale Modell 2. Von EER zum relationalen Schema Umsetzung eines konzeptuellen Schemas in ein logisches Schema EER relationales Schema Sebastian Skritek Seite 11
12 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 Sebastian Skritek Seite 12
13 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 ]} Sebastian Skritek Seite 13
14 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]} Sebastian Skritek Seite 14
15 Das relationale Modell 2. Von EER zum relationalen Schema 2.2. Beziehungstypen Relationale Darstellung von Beziehungstypen E 1 A 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 Sebastian Skritek Seite 15
16 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? Sebastian Skritek Seite 16
17 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen N:M Beziehung (hören) MatrNr Name Semester VorlNr SWS Titel 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 Sebastian Skritek Seite 17
18 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) Sebastian Skritek Seite 18
19 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen 1:N Beziehung (lesen) PersNr Name Rang Raum VorlNr SWS Titel 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 Sebastian Skritek Seite 19
20 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) Sebastian Skritek Seite 20
21 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! Sebastian Skritek Seite 21
22 Das relationale Modell 2. Von EER zum relationalen Schema 2.3. Schlüssel von Beziehungstypen Ergebnis der richtigen Zusammenfassung PersNr Name Rang Raum VorlNr SWS Titel 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 Sebastian Skritek Seite 22
23 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 Sebastian Skritek Seite 23
24 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 Sebastian Skritek Seite 24
25 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 Sebastian Skritek Seite 25
26 Das relationale Modell 2. Von EER zum relationalen Schema 2.4. Schwache Entitytypen Relationale Darstellung schwacher Entitytypen W 1... W j A 1... E R W A i W j+1... W k W: {[ E.A 1,..., E.A i,w 1,..., W j, W j+1,..., W k ]} Sebastian Skritek Seite 26
27 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]} Sebastian Skritek Seite 27
28 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 ]} Sebastian Skritek Seite 28
29 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]} Sebastian Skritek Seite 29
30 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 Sebastian Skritek Seite 30
31 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 Sebastian Skritek Seite 31
32 Das relationale Modell 2. Von EER zum relationalen Schema 2.6. Relationale Universitätsdatenbank Relationale Universitätsdatenbank hören Assistenten MatrNr VorlNr PersNr Name Fachgebiet Boss Platon Ideenlehre Aristoteles Syllogistik Wittgenstein Sprachtheorie Rhetikus Planetenbewegung Newton Kepler Gesetze Spinoza Gott und Natur prüfen MatrNr VorlNr PersNr Note Sebastian Skritek Seite 32
33 Das relationale Modell 3. Datenabfragesprachen Datenabfragesprachen Sebastian Skritek Seite 33
34 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 Sebastian Skritek Seite 34
35 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 Sebastian Skritek Seite 35
36 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 Sebastian Skritek Seite 36
37 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 Sebastian Skritek Seite 37
38 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 Sebastian Skritek Seite 38
39 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 Sebastian Skritek Seite 39
40 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 } Sebastian Skritek Seite 40
41 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 Sebastian Skritek Seite 41
42 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} Sebastian Skritek Seite 42
43 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 Sebastian Skritek Seite 43
44 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} Sebastian Skritek Seite 44
45 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 Sebastian Skritek Seite 45
46 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 } Sebastian Skritek Seite 46
47 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die Umbenennung ρ X (R) Beispiel Finde die VorlNr aller Vorlesungen ohne Voraussetzungen ρ VorlNr VorgNr (voraussetzen) Vorlesungen VorlNr Titel SWS PersNr voraussetzen VorgNr NachfNr ρ VorlNr VorgNr (voraussetzen) VorlNr NachfNr π VorlNr (Vorlesungen) π VorlNr (ρ VorlNr NachfNr (voraussetzen)) Sebastian Skritek Seite 47
48 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 Π V1.VorgNr NachfNr VorgNr V 2 NachfNr ( σ V1.NachfNr=V 2.VorgNr V 2.NachfNr=5216 ( ρv1 (voraussetzen) ρ V 2 (voraussetzen) )) Sebastian Skritek Seite 48
49 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 Sebastian Skritek Seite 49
50 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. Sebastian Skritek Seite 50
51 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 Sebastian Skritek Seite 51
52 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 Sebastian Skritek Seite 52
53 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 Sebastian Skritek Seite 53
54 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 Sebastian Skritek Seite 54
55 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 Sebastian Skritek Seite 55
56 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) Sebastian Skritek Seite 56
57 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 Sebastian Skritek Seite 57
58 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 S 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 S 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 Sebastian Skritek Seite 58
59 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 S 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 S A B C D E a 1 b 1 c 1 d 1 e 1 NULL NULL c 3 d 2 e 2 Sebastian Skritek Seite 59
60 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 Sebastian Skritek Seite 60
61 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 Sebastian Skritek Seite 61
62 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 Sebastian Skritek Seite 62
63 Das relationale Modell 3. Datenabfragesprachen 3.1. Die relationale Algebra Die relationale Division R S Definiert auf zwei Relationan 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) Sebastian Skritek Seite 63
64 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 Sebastian Skritek Seite 64
65 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 Sebastian Skritek Seite 65
66 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele Finde alle C4-Professoren: {p p Professoren p.rang = C4 } Finde Paare von Professoren und die ihnen zugeordneten Assistenten: {[p.name, a.persnr] p Professoren a Assistenten p.persnr = a.boss} Sebastian Skritek Seite 66
67 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Tupelkalkül Beispiele 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 )))} 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))} Sebastian Skritek Seite 67
68 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. Sebastian Skritek Seite 68
69 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 : s.aφc : Formeln: 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 Sebastian Skritek Seite 69
70 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. Sebastian Skritek Seite 70
71 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. Sebastian Skritek Seite 71
72 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Finde alle C4-Professoren: {[p, n] o, r([p, n, r, o] Professoren r = C4 )} 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))} Sebastian Skritek Seite 72
73 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Der relationale Domänenkalkül Beispiele Name und MatrNr von Studenten die mindestens eine Vorlesung von Curie besuchen: {[m, n] s([m, n, s] Studenten v, p, g([m, v, p, g] prüfen a, r, b([p, a, r, b] Professoren a = Curie )))} 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)} Sebastian Skritek Seite 73
74 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. Sebastian Skritek Seite 74
75 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 Sebastian Skritek Seite 75
76 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. Sebastian Skritek Seite 76
77 Das relationale Modell 3. Datenabfragesprachen 3.2. Der Relationenkalkül Sichere Ausdrücke im Domänenkalkül Definition (Sichere Ausdrücke) Ein Ausdruck ist sicher, falls: {[x 1, x 2,..., x n ] P(x 1, x 2,..., x n )} 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 (2. und 3. im Tupelkalkül automatisch erfüllt!) Sebastian Skritek Seite 77
78 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) Sebastian Skritek Seite 78
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
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,,...,
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):
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
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!
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
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
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!
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
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
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
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
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
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
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
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.
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
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
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
MehrKapitel DB:V (Fortsetzung)
Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
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
MehrVO Datenmodellierung. Katrin Seyr
Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen
Mehr9. Einführung in Datenbanken
9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken
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
MehrDatenbanksysteme (2) Einführung in SQL
Kapitel 19: Datenbanksysteme (2) Einführung in SQL Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3.
Mehrhttp://www-db.in.tum.de/research/publications/books/dbmseinf
SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale Erweiterung Für praktische Übungen
MehrRelationale Anfragesprachen
Relationale Anfragesprachen Structured Query Language: SQL Query by Example: QBE SQL standardisierte Datendefinitions (DDL) Datenmanipulations (DML) Anfrage (Query)Sprache derzeit aktueller Standard ist
MehrMicrosoft SQL-Server 2000. Enterprise-Manager
Kapitel 7: SQL Microsoft SQL-Server 2000 Server: Client: Enterprise-Manager Query-Analyzer Installation Query Analyzer Tunnel mit Putty Tunnel mit Putty SQL: Geschichte 1970: System R mit Abfragesprache
Mehrkonzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities
Datenbankentwurf bisher: konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten (min, max)-notation n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities nun: Generalisierung,
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme Vorlesung:
MehrInhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)
2. Datenbanken Inhalt 2.1 Datenbankentwurf 2.2 Relationales Modell 2.3 Relationale Entwurfstheorie 2.4 Relationale Algebra 2.5 Structured Query Language (SQL) 2 2.1 Datenbankentwurf Datenbankanwendungen
MehrEs wird empfohlen folgendes Material anzusehen:
Übung zur Vorlesung "Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW)" IN8003, SS 2011 Prof. Dr. J. Schlichter Dr. Georg Groh, Dipl.Inform. Dipl.Geogr. Jan Herrmann, Florian Schulze
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrObjektorientierte Datenbanken
OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz
MehrEinführung und Überblick
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken und Überblick Dr. Thomas Gottron Wintersemester 2012/13 Frage an das Publikum... Welche Erfahrungen gibt es mit Datenbanken? Systeme?
MehrRelationale Datenbanken
Datenbanksysteme Relationale Datenbanken Relationales Datenmodell Deklarationen Anfragen! Entwurf, z.b. mit Entity Relationship Model! Deklaration! Speichern der Daten! Hauptspeicher, Cache, virtueller
MehrEinleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join
Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans
MehrDatenbanken: Relationales Datenbankmodell RDM
Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B
MehrDatenbanken: ER-Modell
Beispiel: Lastenheft: Für eine Hochschule soll eine Verwaltungssoftware geschrieben werden, die alle relevanten Daten in einem relationalen Datenbanksystem speichert. Zu diesen Daten zählen die Stamm-
MehrER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung
ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung Datenbank-Praktikum SS 2010 Prof. Dr. Georg Lausen Florian Schmedding ER-Modell: Wiederholung Entitäten E Beziehungen B Attribute
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrStructured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken
Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data
MehrLogische Datenmodelle
Kapitel 3 Logische atenmodelle In Abhängigkeit von dem zu verwendenden atenbanksystem wählt man zur computergerechten Umsetzung des Entity-Relationship-Modells das hierarchische, das netzwerkorientierte,
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
Mehr1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 22. April 2016 Allgemeines In diesem Übungsteil werden Sie den Entwurf einer kleinen Datenbank üben, deren Überführung in das Relationenschema, sowie die relationale
MehrLogische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung
Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrAnfragebearbeitung 3
Anfragebearbeitung 3 VL Datenbanksysteme, WS 2014/5 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Kostenmodelle und
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrNull-Werte in Relationalen Datenbanken
Seminar: Imperfektion in Datenbanken WS03/04 Null-Werte in Relationalen Datenbanken Thomas Bierhance Einführung Null-Werte in DBen sind notwendiges Übel, da... (1) das Wissen über die tatsächliche Welt
MehrRelationales Datenmodell
Relationales Datenmodell Ein Datenmodell hat zwei Bestandteile: Eine mathematische Notation zur Darstellung von Daten und Beziehungen. Operationen auf den Daten, um Abfragen und andere Manipulationen zu
MehrKapitel DB:III. III. Konzeptueller Datenbankentwurf
Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte
Mehr1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 28. November 2016 Allgemeines In diesem Übungsteil werden Sie den Entwurf einer kleinen Datenbank üben, deren Überführung in das Relationenschema, sowie die relationale
MehrSicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung
Sicherheitsaspekte Sicherheit im DBMS Identifikation und Authentisierun Autorisierun und Zuriffskontrolle Auditin Szenarien Literaturdatenbank in der Hochschule: erines Sicherheitsbedürfnis ERP-Datenbank
MehrProbabilistische Datenbanken
Probabilistische Datenbanken Seminar Intelligente Datenbanken AG Intelligente Datenbanken Prof. Dr. Rainer Manthey 26.04.05 Maarten van Hoek - 1 - Inhaltsverzeichnis 1.0 Einleitung...3 2.0 Modell probabilistischer
MehrEinführung in das Entity-Relationship-Modell
Einführung in das Entity-Relationship-Modell Historie Entity-Relationship-Modell kurz: ER-Modell bzw. ERM 1976 von Peter Chen vorgeschlagen Standardmodell für frühe Entwurfsphasen in der Datenbankentwicklung
MehrObjektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme Relationale Datenbanken Vorlesung Datenbankmanagementsysteme Relationale Datenbanken M. Lange, S. Weise Folie #4-1 Relationale Datenbanken Wiederholung - Datenbankmodelle,
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrIm Fall einer Personaldatenbank würde eine Relation beispielsweise wie folgt aussehen:
Grundwissen zu relationalen Datenbanken Die Funktion einer relationalen Dankbank besteht in der elektronischen Verwaltung von Daten in Computersystemen. Die Basis für relationale Datenbanken bildet das
MehrDatenbanken. Einführung. Tobias Galliat. Sommersemester 2012
Datenbanken Einführung Tobias Galliat Sommersemester 2012 Basistext: A. Kemper, A. Eickler: Datenbanksysteme, Oldenbourg Verlag, München, 2011, 8. Auflage, Preis: 39,80 ebenfalls empfehlenswert: T. Kudraß
MehrDatenbankmodelle 2. Das relationale Modell
Datenbankmodelle 2 Das relationale Modell Datenbankmodelle ER-Modell Netzwerkmodell hierarchisches Modell relationales Modell objektorientierte Modelle Relationales Modell - 2 relationales Modell basiert
MehrDatenbanksysteme 2011
Datenbanksysteme 2011 Anfang von Kapitel 10: Datenbankapplikationen Vorlesung vom 06.06.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access
MehrÜbungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 19.05.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 02.06.2009, 12:00 Uhr Übungen zu Datenbanksysteme
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
MehrAls logisches Datenmodell wird hier das Relationenmodell vorgestellt, das heute den Standard für relationale Datenbanken darstellt.
Das Relationenmodell Logische Datenmodell Das Entity Relation Modell wird in ein logisches Datenmodell umgesetzt. Welches logische Datenmodell gewählt wird, hängt von dem verwendeten Datenbanksystem ab.
MehrKapitel 3: Die Relationale Algebra
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2005/2006 Kapitel 3: Die Relationale Algebra Vorlesung:
MehrSQL. Kapitel 4 SQL 121 / 508
Kapitel 4 SQL 121 / 508 Generelle Anmerkungen SQL: Structured Query Language Früherer Name war SEQUEL Standardisierte Anfragesprache fuer relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative
Mehr4. Structured Query Language (SQL)
4. Structured Query Language (SQL) Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf
MehrDatenbanken I - Einführung
- Einführung April, 2011 1 von 30 Outline 1 Organisatorisches 2 Vorlesungsinhalt 3 Begrisklärung 4 Motivation 5 Abstraktion 6 Datenmodelle 7 Literaturangabe 2 von 30 Scheinkriterien Belegübung Regelmäÿige
Mehr1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 5. März 2014 Allgemeines In diesem Übungsteil werden Sie den Entwurf einer kleinen Datenbank üben, deren Überführung in das Relationenschema, sowie die relationale
MehrDatenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005
Webbasierte Informationssysteme SS 2005 8. SQL-Vertiefung Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanksprache SQL Structured Query Language (SQL) - am IBM San Jose Research Laboratory entwickelt
MehrARBEITSBLATT ZU SQL-BEFEHLEN
ARBEITSBLATT ZU SQL-BEFEHLEN Die Syntax eines Standard-SELECT-Befehls in Backus-Naur-Form sieht wie folgt aus: SELECT [ALL DISTINCT]{spalten *} FROM tabelle [alias] [tabelle[alias]]... [WHERE {bedingung
MehrTeil III. Relationale Datenbanken Daten als Tabellen
Teil III Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL
MehrKapitel 3. Relationales Modell (Relationenmodell) Transformation ER-Modell Relationenmodell. Prof. Dr. Wolfgang Weber, Vorlesung Datenbanken 1
Kapitel 3 Relationales Modell (Relationenmodell) Transformation ER-Modell Relationenmodell Prof. Dr. Wolfgang Weber, Vorlesung Datenbanken 1 Definition Relationenmodell entwickelt von Codd u. a. beruht
Mehr2. Übungsblatt 3.0 VU Datenmodellierung
2. Übungsblatt 3.0 VU Datenmodellierung 2. Dezember 2015 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele
MehrSQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.
SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,
Mehr2.1 Überblick. 2 Das Relationale Datenmodell
c M. Scholl, 2005/06 Informationssysteme: 2. Das Relationale Datenmodell 2-1 2 Das Relationale Datenmodell 2.1 Überblick Ende der 60er Jahre: Grundlagenforschung am IBM-Forschungslabor San Jose, CA., mit
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrSoftware-Engineering Einführung
Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab
MehrEin Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert
Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll
MehrKapitel DB:III (Fortsetzung)
Kapitel DB:III (Fortsetzung) III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen
MehrPRG2 Folien Zicari Teil 4 Einführung in Datenbanken SS 2007
Folien Zicari Teil 4 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main Fachbereich Informatik und Mathematik IV-1 Relationales Datenmodell
MehrEinführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL
Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
Mehr1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme
Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die
MehrSchlüssel bei temporalen Daten im relationalen Modell
Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell
MehrCarl-Christian Kanne. Einführung in Datenbanken p.1/513
Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrRelationales Datenmodell
Relationales Datenmodell Spezialfall der logikorientierten Datenmodelle: Anfrageprogramme : Sichtrelationen : semantische Bedingungen : nur bezüglich Basisrelationen kein Relationensymbol wird rekursiv
MehrEinführung in Datenbanksysteme. Donald Kossmann Institut für Informationssysteme ETH Zürich
Einführung in Datenbanksysteme Donald Kossmann Institut für Informationssysteme ETH Zürich kossmann@inf.ethz.ch www.dbis.ethz.ch Vorlesungen Termine Mittwoch: 10 Uhr bis 12 Uhr Übungen (Start am 2. April)
MehrDatenbanksysteme 2015
Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ
MehrDesign Theorie für relationale Datenbanken
Design Theorie für relationale Datenbanken Design von relationalen Datenbanken alternativen Datenabhängigkeiten Normalisierung Ziel: automatisches Datenbankdesign IX-1 Schlechtes Datenbank Design Frage:
MehrÜbungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 12.05.2015 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~dbs Nils Haldenwang, M.Sc. Testat bis 03.06.2015, 14:00 Uhr Übungen zu Datenbanksysteme
Mehr