Vorlesung Informationssysteme
|
|
|
- Klaudia Auttenberg
- vor 9 Jahren
- Abrufe
Transkript
1 Saarbrücken, Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 5: Relationenalgebra Erik Buchmann Foto: M. Strauch
2 Aus den Videos wissen Sie......dass die relationale Algebra auf Mengen aufsetzt Tabellen sind dagegen Listen SQL (kommt später) arbeitet mit Multimengen...dass die relationale Algebra viele, viele Operatoren besitzt Insbesondere viele Spielarten des Verbundoperators Vertiefung heute: Vom Informationsbedürfnis zur relationalen Algebra Wozu braucht man die relationale Algebra? Geht es auch einfacher? Regeln zur Äquivalenzumformung doch zuerst: Unterschiede zwischen EER- und Relationalem Modell 2 InfoSys - Relationenalgebra
3 Foto: M. Strauch Unterschiede zwischen EER und Relationenmodell
4 Schwierige Sachverhalte Relationales Model hat etwas andere Semantik als das (E)ER-Modell Bei einigen EER-Modellierungen müssen Sie sich zwischen mehreren nicht ganz exakten Umsetzungen entscheiden Bei einigen EER-Modelierungen verlieren Sie im Relationalen Modell Einschränkungen, die Sie im EER-Modell getroffen haben Verbindliche Richtlinie bei der Entwicklung relationaler Modelle NIE mehrere identisch benannte Attribute in einer Relation NIE mehr Schlüsselattribute als unbedingt erforderlich NIE zwei Relationen, wenn auch eine für eine Beziehung reichen würde NIE kapazitätsvermindernde Abbildung MÖGLICHST wenig Attribute, die NULL-Werte enthalten MÖGLICHST keine kapazitätserhöhende Abbildung ( Möglichst bedeutet: wenn es nicht anders geht) 4 InfoSys - Relationenalgebra
5 Beispiel: Indentische Schlüssel Besitzer m kauft n Futter ID Name Ort ID Name Typ Relationenmodell verbietet gleich benannte Attribute in einer Relation Lösung: Attribute umbenennen, ggf. Schlüsselbeziehungen mit Pfeil kennzeichnen [Besitzer]: { [ID, Name, Ort] } [Futter]: { [ID, Name, Typ ] } [kauft]: { [ID1 Besitzer.ID, ID2 Futter.ID] } Ok: Beziehung korrekt darstellbar Problem: Attribute heißen nun anders, natürlicher Verbund funktioniert nicht mit der kauft-relation! 5 InfoSys - Relationenalgebra
6 Beispiel: Mehrere schwache Beziehungen Ohne nachzudenken nach Vorlesungsvideo [Person]: { [PID] } [Firma]: { [FID] } [Anschrift]: {[ID, Straße, HausNr, PID, FID] } Person 1 hat PID Ok: Teilschlüssel PID, FID in [Anschrift] stellt Existenzabhängigkeit von Anschrift sicher Eindeutig falsch: Kapazitätsmindernde Abbildung, nur Anschriften dürfen existieren, die gleichzeitig für eine Person und eine Firma gelten n Anschrift n hat 1 Firma ID Straße HausNr FID 6 InfoSys - Relationenalgebra
7 Beispiel: Mehrere schwache Beziehungen Mögliche Lösung mit nachdenken: PID, FID in Anschrift keine Schlüssel [Person]: { [PID] } [Firma]: { [FID] } [Anschrift]: {[ID, Straße, HausNr, PID, FID] } Ok: Kapazität der 1:n-Beziehungen zwischen Anschrift und Person, Firma bleiben erhalten Problem: Existenzabhängigkeit ist nicht mehr gewährleistet Hier ist Kapazitätserhalt wichtiger als Existenzabhängigkeit Person 1 hat n Anschrift n hat 1 Firma PID ID Straße HausNr FID 7 InfoSys - Relationenalgebra
8 Beispiel: EER-Generalisierung Trockenfutter Pelletgröße Typ Naßfutter Wasseranteil Bezeichung kauft n (...) m Katzenfutter Name Preis Vertiefungsfolien von letztem Donnerstag: künstlicher Schlüssel bei Katzenfutter, 1:1-Bez. mit Trocken- und Naßfutter [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [Typ, Pelletgröße, KID] } [Naßfutter]: { [Bezeichnung, Wasseranteil, KID] } Ok: Trocken-/Naßfutter muss nicht Katzenfutter sein Problem: Katzenfutter kann gleichzeitig Trocken-/Naßfutter sein Problem: Katzenfutter muss nicht Trocken-/Naßfutter sein Hier ist Abbildbarkeit der Generalisierung wichtiger als Kapazität 8 InfoSys - (E) ER und Relationenmodell
9 Schwierige Fälle, die Sie schon kennen Umbenennung eines Primärschlüssels, sein eigener Chef sein Nicht abbildbare Kardinalitäten Chef von Spieler 11 spielt 1 in Mannschaft n Arbeiter 1 SID Name MID Name PID Liga Nicht abbildbare Disjunktheit von Bio- und Juniorfutter Preis Katzenfutter Bio-Futter Junior Herkunft Alter Name 9 InfoSys - Relationenalgebra
10 Kein Anspruch auf Vollständigkeit Die eben gezeigten Beispiele sind nur Beispiele Sie müssen für Ihr Projekt selbst überlegen, welche Aussagen Ihr Relationenmodell zulässt! Im Zweifel Entscheiden Sie sich gemäß der allgemeinen Richtlinien zuvor Dokumentieren Sie Ihre Entscheidung nachvollziehbar 10 InfoSys - Relationenalgebra
11 Foto: M. Strauch Praxisbeispiele für relationale Algebra
12 Beispiel 1: Logische Optimierung Suche zum Unfall vom mit einem blauen Fahrzeug das KFZ-Kennzeichen des Fahrzeugs sowie Name, Adresse des Halters in folgendem Relationenschema [Unfall]: {[ID, Datum, Schaden]} [Fahrzeug]: {[Kennz, Typ, Farbe]} [Halter]: {[Perso, Name, Adresse ]} [hat]: {[Kennz, ID]} [gehört]: {[Kennz, Perso]} Entsprechende Anfrage in Relationenalgebra π Name, Adresse, Kennz (σ Farbe=blau Datum= ( Unfall hat Fahrzeug gehört Halter)) Was ist die optimale Ausführungsreihenfolge, sodass Ausführungszeit und/oder Speicherverbrauch möglichst klein sind? 12 InfoSys - Relationenalgebra
13 Beispiel 2: Vorberechnung von Zwischenergebnissen Data Warehouse, d.h., statischer Datenbestand ohne Änderungen Beispiel: Autoversicherung [Unfall]: {[ID, Datum, Schaden]} [Fahrzeug]: {[Kennz, Typ, Farbe]} [Halter]: {[Perso, Name, Adresse ]} [hat]: {[Kennz, ID]} [gehört]: {[Kennz, Perso]} häufige Anfragen Alle Unfall-IDs in diesem Jahr mit einer Schadenssumme > Kennzeichen aller Unfälle ab , an denen ein BMW beteiligt war Namen von KFZ-Haltern aus München mit Unfällen dieses Jahr Kann man die Ausführungszeit einiger oder aller Anfragen verbessern, wenn man häufig benutzte Zwischenergebnisse vorherberechnet? 13 InfoSys - Relationenalgebra
14 Foto: M. Strauch Äquivalenzumformung
15 Minimale Operatorenmenge (1/3) Person 1 m hat Katze Person hat Katze Perso Perso Name Name Rasse Perso Name Mika 456 Blacky Mika Blacky Mischling Perser Rasse Mucki Mucki Perser Projektion π Rasse (Katze) Rasse Mischling Natürlicher Verbund hat Katze Perser Perso Name Rasse Selektion σ Perso<500 (Person) Perso Mika Mischling 456 Blacky Perser 456 Mucki Perser InfoSys - Relationenalgebra
16 Minimale Operatorenmenge (2/3) Person 1 m hat Katze Person hat Katze Perso Perso Name Name Rasse Perso Name Mika 456 Blacky Mika Blacky Mischling Perser Rasse Mucki Mucki Perser Umbenennung ρ Typ Rasse (Katze) Name Typ Differenz Person - σ Perso=123 (Person) Perso Mika Blacky Mucki Mischling Perser Perser Vereinigung σ Perso=456 (Person) Perso 456 σ Perso=123 (Person) InfoSys - Relationenalgebra
17 Minimale Operatorenmenge (3/3) {π, σ, ρ,, -, } und {π, σ, ρ,, -, } sind äquivalent (also beides minimale Operatorenmengen) Seien A, B zwei Relationen mit den Schlüsseln s: [A]: {[s]}, [B]: {[s]} Umformung vom natürlichen Verbund zum Kreuzprodukt: Natürlicher Verbund ohne gleichbenannte Schlüssel ist Kreuzprodukt A ρ X s (B) A B Umformung Kreuzprodukt zum natürlichen Verbund Selektion auf identische Schlüsselattribute σ A.s=B.s (A B) A B Zur Umformung der anderen Operatoren siehe Vorlesungsvideos 17 InfoSys - Relationenalgebra
18 Die wichtigsten Regeln zur Termumformung Kommutativität, Assoziativität Alle Verbundoperationen und Kreuzprodukt Kaskaden auflösen Projektionen, Selektionen Vertauschen Projektion + Selektion Projektion + Verbund Projektion + Vereinigung Selektion + Verbund Selektion + Vereinigung/Differenz 18 InfoSys - Relationenalgebra
19 Kommutativität, Assoziativität Kommutativität A B B A A B B A Assoziativität (A B) C A (B C) (A B) C A (B C) Gilt für alle Verbundoperatoren und das Kreuzprodukt, da diese sich voneinander ableiten lassen Beispiel: Ableitung des Theta-Verbunds aus dem natürlichen Verbund σ Prädikat (A B) A Prädikat B also gilt auch Kommutativität und Assoziativität für Theta-Verbund 19 InfoSys - Relationenalgebra
20 Kaskaden zusammenfassen Kaskade von Projektionen für [E]: {[a1,...,an]} und {ai,...,aj} {ap,...,aq} gilt: π ap,...,aq ( π ai,...,aj ( E ) ) π ap...aq ( E ) Kaskade von Selektionen σ Prädikat1 (σ Prädikat2 (σ PrädikatN (E)...) σ Prädikat1 Prädikat2 PrädikatN (E) 20 InfoSys - Relationenalgebra
21 Vertauschen (1/2) Projektion + Selektion wenn in Prädikat nur die Attribute {a1...an} verwendet werden π a1,...,an (σ Prädikat (E)) σ Prädikat (π a1,...,an (E)) Projektion + Verbund wenn [A]: {[a1,...an]} und [B]: {[b1,...bn]}, und in Prädikat nur die Attribute {a1...an} und {b1...bn} verwendet werden π a1,...,an, b1,...,bn ( A Prädikat B )) (π a1,...,an (A)) Prädikat (π b1,...,bn (B)) Anmerkung1: Man darf keine Attribute wegprojezieren, die für darauffolgende Operationen gebraucht werden Anmerkung2: Prädikat meint grundsätzlich für alle Verbundoperatoren z.b. ist Prädikat beim Equi-Verbund a1=b1 a2=b2 21 InfoSys - Relationenalgebra
22 Vertauschen (2/2) Projektion + Vereinigung wenn [A]: {[a1,...an]} und [B]: {[a1,...an]} π a1,...,an ( A B ) (π a1,...,an (A)) (π a1,...,an (B)) Selektion + Verbund wenn in Prädikat nur Attribute aus A auftreten σ Prädikat (A B) σ Prädikat (A) B sonst σ Prädikat (A B) σ Prädikat (A) σ Prädikat (B) Selektion + Vereinigung/Differenz wenn [A]: {[a1,...an]} und [B]: {[a1,...an]} σ Prädikat (A B) σ Prädikat (A) σ Prädikat (B) 22 InfoSys - Relationenalgebra
23 Foto: M. Strauch Praxisbeispiele Reloaded
24 Beispiel 1: Logische Optimierung Suche zum Unfall vom mit einem blauen Fahrzeug das KFZ-Kennzeichen des Fahrzeugs sowie Name, Adresse des Halters in folgendem Relationenschema [Unfall]: {[ID, Datum, Schaden]} [Fahrzeug]: {[Kennz, Typ, Farbe]} [Halter]: {[Perso, Name, Adresse ]} [hat]: {[Kennz, ID]} [gehört]: {[Kennz, Perso]} Anfrage in Relationenalgebra π Name, Adresse, Kennz (σ Farbe=blau Datum= ( Unfall hat Fahrzeug gehört Halter)) Was ist die optimale Anfrageausführung? 24 InfoSys - Relationenalgebra
25 Beispiel 1: Logische Optimierung Einfachste Heuristik: 1) Löse alle Operatoren in Basisoperatoren auf (Verbund, Division, zus. Prädikate) 2) Stelle einen Operatorbaum auf 3) Verschiebe alle Selektionen so weit wie möglich nach unten 4) Fasse alle aufeinanderfolgenden Selektionen zusammen 5) Verschiebe alle Projektionen so weit nach unten wie möglich Die selbe Anfrage in Basisoperatoren aufgelöst π Name, Adresse (π Kennz (σ Farbe=blau (σ Datum= ( Unfall hat Fahrzeug gehört Halter)))) 25 InfoSys - Relationenalgebra
26 Ausführungsreihenfolge Beispiel 1: Logische Optimierung Einfachste Heuristik: 1) Löse alle Operatoren in Basisoperatoren auf (Verbund, Division, zus. Prädikate) π Name, Adresse π Kennz 2) Stelle einen Operatorbaum auf σ Farbe=blau 3) Verschiebe alle Selektionen so weit wie möglich nach unten 4) Fasse alle aufeinanderfolgenden Selektionen zusammen σ Datum= ) Verschiebe alle Projektionen so weit nach unten wie möglich Fahrzeug Unfall hat gehört Halter 26 InfoSys - Relationenalgebra
27 Beispiel 1: Logische Optimierung Einfachste Heuristik: 1) Löse alle Operatoren in Basisoperatoren auf (Verbund, Division, zus. Prädikate) π Name, Adresse π Kennz 2) Stelle einen Operatorbaum auf 3) Verschiebe alle Selektionen so weit wie möglich nach unten 4) Fasse alle aufeinanderfolgenden Selektionen zusammen gehört Halter 5) Verschiebe alle Projektionen so weit nach unten wie möglich σ Datum= hat σ Farbe=blau Unfall Fahrzeug 27 InfoSys - Relationenalgebra
28 Beispiel 1: Logische Optimierung Einfachste Heuristik: 1) Löse alle Operatoren in Basisoperatoren auf (Verbund, Division, zus. Prädikate) π Name, Adresse 2) Stelle einen Operatorbaum auf 3) Verschiebe alle Selektionen so weit wie möglich nach unten π Kennz gehört Halter 4) Fasse alle aufeinanderfolgenden Selektionen zusammen 5) Verschiebe alle Projektionen so weit nach unten wie möglich σ Datum= hat σ Farbe=blau Unfall Fahrzeug 28 InfoSys - Relationenalgebra
29 Beispiel 2: Vorberechnung von Zwischenergebnissen Data Warehouse, d.h., statischer Datenbestand ohne Änderungen Zwischenergebnisse abspeichern, welche von verschiedenen Anfragen immer wieder gebraucht werden Durch Umformung von Anfragen identische Teil-Anfragen identifizieren Beispiel: Data Warehouse einer Autoversicherung [Unfall]: {[ID, Datum, Schaden]} [Fahrzeug]: {[Kennz, Typ, Farbe]} [Halter]: {[Perso, Name, Adresse ]} [hat]: {[Kennz, ID]} [gehört]: {[Kennz, Perso]} häufigste Anfragen der Versicherung Alle Unfall-IDs in diesem Jahr mit einer Schadenssumme > Kennzeichen aller Unfälle ab , an denen ein BMW beteiligt war Namen von KFZ-Haltern aus München mit Unfällen dieses Jahr 29 InfoSys - Relationenalgebra
30 Beispiel 2: Vorberechnung von Zwischenergebnissen [Unfall]: {[ID, Datum, Schaden]} [Fahrzeug]: {[Kennz, Typ, Farbe]} [Halter]: {[Perso, Name, Adresse ]} [hat]: {[Kennz, ID]} [gehört]: {[Kennz, Perso]} Anfragen Alle Unfall-IDs in diesem Jahr mit einer Schadenssumme > π ID (σ Schaden> Datum > (Unfall) ) Kennzeichen aller Unfälle ab , an denen ein BMW beteiligt war π Kennz (σ Datum> (Unfall) hat σ Typ=BMW (Fahrzeug) ) Namen von KFZ-Haltern aus München mit Unfällen dieses Jahr π Name (σ Datum > ( Halter gehört hat Unfall) ) 30 InfoSys - Relationenalgebra
31 Beispiel 2: Vorberechnung von Zwischenergebnissen Anfragen, Äquivalenzumformung Alle Unfall-IDs in diesem Jahr mit einer Schadenssumme > π ID (σ Schaden> ( σ Datum > (Unfall) )) Kennzeichen aller Unfälle ab , an denen ein BMW beteiligt war π Kennz (( σ Datum> (Unfall) ) hat σ Typ=BMW (Fahrzeug)) Namen von KFZ-Haltern aus München mit einem Unfall dieses Jahr π Name (( σ Datum > (Unfall) ) hat gehört Halter) Ergebnis der Umformung: Vorabberechnung von σ Datum > (Unfall) 31 InfoSys - Relationenalgebra
32 Foto: M. Strauch Wie kommt man zu einer Anfrage?
33 Vom Informationsbedürfnis zur Anfrage Faustregel 1) Verbund über alle Tabellen, die mit der Anfrage zu tun haben Suche kürzesten Weg über die Schlüsselbeziehungen zu allen Relationen, welche die Daten enthalten, die selektiert oder ausgegeben werden müssen 2) Selektiere die relevanten Tupel Alles mit Selektion ausfiltern, was nicht in das Anfrageergebnis gehört 3) Projeziere die Attribute, die ausgegeben werden müssen Faustregel funktioniert meistens Natürlicher Verbund nur, wenn gleichlautende Schlüssel in den jeweils zu verbindenden Tabellen an sonsten Equi-Join oder Umbenennung mit ρ b a Natürlicher Verbund ist ungeeignet, wenn Anfrage auf Outer Join o.ä. abzielt, dann gleich den passenden Join 33 InfoSys - Relationenalgebra
34 Verschieden komplexe Beispiele Beispielanfragen Welche Personen existieren in der DB? Welches Futter ist billiger als 5 EUR? Wo wohnt Jens? Wer hat das Katzenfutter Saarlands Bestes gekauft? An welche Straßen wurde Naßfutter mit >80% Wasseranteil geliefert? Person 1 n [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} hat Anschrift n kauft Name m Trockenfutter Katzenfutter Naßfutter Name Preis ID Straße ID Pelletgröße ID Wasseranteil 34 InfoSys - Relationenalgebra
35 Beispiel 1 Welche Personen existieren in der DB? Anfrage in Relationenalgebra zu einfach ;-) (Person) Person 1 [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} hat n kauft Name m Katzenfutter Name Preis n Anschrift Trockenfutter Naßfutter ID Straße ID Pelletgröße ID Wasseranteil 35 InfoSys - Relationenalgebra
36 Beispiel 2 Welches Futter ist billiger als 5 EUR? Anfrage in Relationenalgebra 1. beteiligte Relation suchen 2. nach Preis selektieren 3. Name ausfiltern π Name (σ Preis<5 (Katzenfutter)) Person 1 [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} hat n kauft Name m Katzenfutter Name Preis n Anschrift Trockenfutter Naßfutter ID Straße ID Pelletgröße ID Wasseranteil 36 InfoSys - Relationenalgebra
37 Beispiel 3 Wo wohnt Jens? Anfrage in Relationenalgebra 1. Weg von [Person] zu [Anschrift] suchen Name in [Anschrift] enthalten, d.h. [Person] wird nicht gebraucht 2. nach Jens selektieren 3. Straße filtern π Straße (σ Name=Jens (Anschrift)) [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} Person 1 n hat n kauft Name m Katzenfutter Name Preis Anschrift Trockenfutter Naßfutter ID Straße ID Pelletgröße ID Wasseranteil 37 InfoSys - Relationenalgebra
38 Beispiel 4 Wer hat das Katzenfutter Saarlands Bestes gekauft? Anfrage in Relationenalgebra 1. Weg von [Katzenfutter] nach Name in [Person] suchen 2. nach Saarlands Bestes selektieren 3. Projektion auf Namen π kauft.name (σ Katzenfutter.Name= Saarlands Bestes ( [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} kauft kauft.kid=katzenfutter.kid Katzenfutter)) Achtung, Name kommt in [kauft] und [Katzenfutter] vor, also muss bei Selektion unbedingt Herkunft angegeben und Gleichverbund genutzt werden! 38 InfoSys - Relationenalgebra
39 Beispiel 5 An welche Straßen wurde Naßfutter mit >80% Wasseranteil geliefert? [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} Anfrage in Relationenalgebra 1. Weg von [Naßfutter] zu [Anschrift] suchen 2. nach Wasseranteil selektieren 3. Straße herausprojezieren π Straße (σ Wasseranteil > 80 ( Naßfutter kauft Anschrift) ) Gleichverbund ist möglich, weil [Katzenfutter] nicht Bestandteil der Verbundoperationen ist. Anderenfalls würde Katzenfutter.Name mit kauft.name (Fremdschlüssel von Person) in Konflikt treten. 39 InfoSys - Relationenalgebra
40 Beispiel 5 mit verschiedenen Verbundtypen formuliert An welche Straßen wurde Naßfutter mit >80% Wasseranteil geliefert? [Person]: { [Name] } [Anschrift]: { [ID, Name, Straße] } [Katzenfutter]: { [KID, Name, Preis] } [Trockenfutter]: { [ID, Pelletgröße, KID] } [Naßfutter]: { [ID, Wasseranteil, KID] } [kauft]: {KID, Name} Natürlicher Verbund π Straße (σ Wasseranteil > 80 ( Naßfutter kauft Anschrift) ) Equi-Verbund (Spezialfall des Theta-Verbunds) π Straße (σ Wasseranteil > 80 ( (Naßfutter Naßfutter.KID=kauft.KID kauft) kauft.name=anschrift.name Anschrift)) Kreuzprodukt π Straße (σ Wasseranteil > 80 Naßfutter.KID=kauft.KID kauft.name=anschrift.name (Naßfutter kauft Anschrift)) 40 InfoSys - Relationenalgebra
41 Foto: M. Strauch Zum Abschluss
42 Wie geht es weiter? bis Sonntag, , 12 Uhr Abgabe der 5. Gruppenaufgabe als PDF-Datei in Moodle Dienstag, , GHH Uhr: Tutoriumstermin Besprechung von Aufgabenblatt 5: EER Relationenmodell nächstes Aufgabenblatt: Relationenalgebra Donnerstag, : Fronleichnahm Dienstag, , GHH Uhr: Zwischenklausur Inhalt: Alles bis einschließlich Relationenalgebra 42 InfoSys - Relationenalgebra
Vorlesung Informationssysteme
Saarbrücken, 11.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 6: SQL und Verschachtelte Anfragen Erik Buchmann ([email protected]) Foto: M. Strauch Aus den
Vorlesung Informationssysteme
Saarbrücken, 21.04.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung zu Kapitel 2: ER-Modell Erik Buchmann ([email protected]) Wer hat noch keine Gruppe? Bitte im Q&A-Forum
Vorlesung Informationssysteme
Saarbrücken, 07.05.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung zu Kapitel 3: Von (E)ER nach UML Erik Buchmann ([email protected]) Foto: M. Strauch Aus den Videos wissen
Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE B 22.06.2012 Matrikelnr. Familienname
Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung
Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:
Relationales Datenmodell Relationale Algebra
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Relationale Algebra Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Grundbegriffe des Relationalen Modells Abbildung
Anfrageoptimierung Logische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer
4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen
Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A 05.05.2015 Matrikelnr. Familienname
Relationen-Algebra. Prof. Dr. T. Kudraß 1
Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen
Vorlesung Informationssysteme
Saarbrücke, 2.05.205 Iformatio Systems Group Vorlesug Iformatiossysteme Vertiefug Kapitel 4: Vo (E)ER is Relatioemodell Erik Buchma ([email protected]) Foto: M. Strauch Aus de Videos wisse Sie......welche
3. Grundlagen relationaler Datenbanksysteme
3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen
Kapitel DB:IV (Fortsetzung)
Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-46 Relational Design
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 05.05.2015 Matrikelnr.
Rückblick: Datenbankentwurf
Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände
1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,
Kapitel DB:IV (Fortsetzung)
Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-45 Relational Design
3. Relationales Modell & Algebra
3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell
Geoinformation Abbildung auf Tabellen
Folie 1 von 32 Geoinformation Abbildung auf Tabellen Folie 2 von 32 Abbildung auf Tabellen Übersicht Motivation des relationalen Datenmodells Von Objekten zu Tabellen Abbildung von Objekten Schlüssel Abbildung
Übung VI Aufgabe 1a-c
Aufgabe a-c a) Selektion I [(b=2) (c=2)] r 2 2 2 0 2 b) Projektion F [a,b] r4 a b 2 c) natürlicher Join r2 * r3 a c d e 0 0 2 0 0 0 0 2 0 r* (r2 * r3) d e 0 2 2 0 Bemerkung: natürlicher Join ist kommutativ
DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,
3. Relationales Modell & Algebra
3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell
Rückblick: Relationale Normalisierung
Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren
1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 9. Oktober 2013 Allgemeines In diesem Übungsteil werden Sie den Entwurf einer kleinen Datenbank üben, deren Überführung in das Relationenschema, sowie die relationale
Kapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:
Query Languages (QL) Relationale Abfragesprachen/Relational
Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
1 Informationsmodellierung mit dem Entity-Relationship-Modell
Informationsmodellierung mit dem Entity-Relationship-Modell McAcid's benötigt ein neues Burgastisches Kassensystem, bei dem eine relationale Datenbank verwendet werden soll. [5 P.] Erfassen Sie die im
mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))
3. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 Hinweis: Wir schlagen vor, die Aufgaben in der Reihenfolge
Vorlesung Datenbanken I Zwischenklausur
Prof. Dr. Stefan Brass 12. Dezember 2003 Institut für Informatik MLU Halle-Wittenberg Vorlesung Datenbanken I Zwischenklausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Integritätsbedingungen)
Kap. 3 Relationenmodell mit relationaler Algebra
Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 06.05.2014 Matrikelnr.
Grundlagen von Datenbanken
Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt r. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing ([email protected])
1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 24. April 2012 Allgemeines In diesem Übungsteil sollten Sie den Entwurf einer kleinen Datenbank üben, die Überführung in das Relationenschema, sowie die relationale
Kommunikation und Datenhaltung
Kommunikation und Datenhaltung von ER-Modellen auf das Relationenmodell Überblick über den Datenhaltungsteil Einleitung Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell
Indexstrukturen in SQL
Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename
1. Übungsblatt 3.0 VU Datenmodellierung
1. Übungsblatt 3.0 VU Datenmodellierung 22. November 2011 Allgemeines In diesem Übungsteil sollten Sie den Entwurf einer kleinen Datenbank üben, die Überführung in das Relationenschema, sowie die relationale
Übung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 3 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer [email protected] http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)
10. Logischer Entwurf 10-1 10. Logischer Entwurf 10-2 Stufen der Entwicklung einer Datenbank 1. Datenbank - Entwurf ( ER - Diagramm) Logischer Entwurf 2. Umsetzen des ER - Diagramms ins relationale Modell
Die Bestellungen eines Schreibwarengeschäftes sollen auf eine aktuelle Form mit Hilfe einer zeitgemäßen Datenbank umgestellt werden.
Die Bestellungen eines Schreibwarengeschäftes sollen auf eine aktuelle Form mit Hilfe einer zeitgemäßen Datenbank umgestellt werden. Die nachfolgende Tabellenform, eine sogenannte Nullform muss in eine
Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.
Datenbanksysteme I WS 17/18 HS-Übung Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke Kapitel 1: Definitionen Grundlegenge Begriffe IS, DB, DBMS/
2.5 Relationale Algebra
2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle
1. Ü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
Kapitel 3: Relationale Algebra
Kapitel 3: Relationale Algebra Algebra Motivation (1) Wir wollen aus Relationen für uns interessante Informationen extrahieren, Tabellen modifizieren und neue Tabellen aus alten generieren Datenbankeinsatz:
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof Alfons Kemper, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/
Vorlesung DBIS I (WS 2005/2006) Teil 4
otivation Das Relationenmodell Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik Humboldt-Universität zu Berlin WS 2005/2006 Ziel des Relationenmodells Hoher Grad an Datenunabhängigkeit
2. Relationale Datenbanken
2. Relationale Datenbanken Inhalt 2.1 Entity-Relationship-Modell 2.2 Relationales Modell 2.3 Relationale Entwurfstheorie 2.4 Relationale Algebra 2.5 Structured Query Language (SQL) 2 2.1 Entity-Relationship-Modell
Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,
Übungsblatt DB:IV. Abzugeben sind, bis , Lösungen zu den Aufgaben 1d, 1e, 3, 7, 9, 12. Aufgabe 1 : Datenintegrität
Datenbanken WS 2012/13 8. November 2012 Übungsblatt DB:IV Abzugeben sind, bis 19.11.2012, Lösungen zu den Aufgaben 1d, 1e, 3, 7, 9, 12. Aufgabe 1 : Datenintegrität (a) Welche Arten von Integritätsbedingungen
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen ([email protected])
KonzMod-Braindump. von Ersties für Ersties. vom 15. Februar 2012
KonzMod-Braindump von Ersties für Ersties vom 5. Februar 202 Inhaltsverzeichnis Grundwissen: 6 Punkte 2. DB, DBS, DBMS: 3 Punkte.................................... 2.2 internes Schema: 2 Punkte.....................................
Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
Semesterklausur Datenbanksysteme 1 SS 2015
Universität Augsburg, Institut für Informatik Sommersemester 2015 Prof. Dr. W. Kießling 10. April 2015 F. Wenzel, L.Rudenko Datenbanksysteme 1 Semesterklausur Datenbanksysteme 1 SS 2015 Hinweise: Die Bearbeitungszeit
Diskussion: Personal (1)
Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens
Übungsblatt 10: Lösungsvorschlag
Ludwig-Maximilians-Universität München Institut für Informatik Prof. Dr. Christian Böhm Sebastian Goebl Einführung in die Informatik: Systeme und Anwendungen SS 2014 Übungsblatt 10: Lösungsvorschlag Aufgabe
3.4 Die relationale Algebra
Algebra: 3.4 Die relationale Algebra gegeben eine Menge N ( Anker der Algebra ) Menge von Operationen { σ 1,, σ n } der Form σ j :N k N elationale Algebra Anker ist die Menge aller elationen {(, I) I ist
Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD
Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der
