relationale Algebra und SQL

Größe: px
Ab Seite anzeigen:

Download "relationale Algebra und SQL"

Transkript

1 Entity-Relationship-Modell Seite 1 / 22 Entität: Student Vorlesung Attribut: Name Geburtstag Beziehung: besucht Schlüsselattribut: Matrikelnummer Schreibweise: Entität : {[ Schlüsselattribut : datentyp, Attribut 1 : datentyp, Attribut 2 : datentyp, ]} Beispiel: Student : {[ Matrikelnummer : int, Name : string, Geburtstag : date]} Vorlesung : {[ Nr : int, Titel : string ]} besucht : {[ Matrikelnummer : int, Nr : int, Datum : date]} Name Geburtstag Datum Nr Titel Matrikelnummer Student M besucht N Vorlesung Eine Vorlesung wird von M besucht. Ein Student besucht N Vorlesungen. Funktionalitäten Es gibt vier verschiedene Funktionalitäts-Kombinationen: Bei einer 1:N bzw. N:1 Funktionalität kann man des Schema vereinfachen indem man das Schlüsselattribut der 1-Entität und alle Attribute der Beziehung als Fremdschlüssel in die N-Entität einfügt. Min-Max-Schreibweise Bei der min-max-schreibweise gibt man die minimale Matrikelnummer Name Student Geburtstag (1,*) Vorlesungen werden von einem besucht. (1,*) besuchen eine Vorlesung. Datum (1,*) (1,*) besucht Nr Vorlesung Titel

2 Vereinigung Seite 2 / 22 LMU Emily Medizin = Sofia Philosophie München Emily Medizin Sofia Philosophie Schnittmenge LMU Emily Medizin Sofia Philosophie = hardcore Differenz - LMU Emily Medizin Sofia Philosophie = nicht-hardcore MatrNr Name Fach

3 Symmetische Differenz Seite 3 / 22 LMU Emily Medizin Sofia Philosophie = nicht-hardcore München MatrNr Name Fach Emily Medizin Sofia Philosophie Kartesisches Produkt LMU = Emily Medizin LMU Matr Nr Name Fach Emily Medizin Emily Medizin Emily Medizin Emily Medizin Relationale Division hören MatrNr VorNr Grundlagen Vorlesungen VorNr = hören Grundlagen MatrNr

4 Projektion π β Seite 4 / 22 π MatrNr, Name MatrNr Name Max Lisa Tom Anna Mario Lena Selektion σ β σ MatrNr = Umbenennung ρ β ρ LMU LMU

5 Theta Join θ Seite 5 / 22 TUM.Fach = LMU.Fach LMU Carlo Biologie Emily Medizin Sofia Philosophie Clara Physik = München Carlo Biologie Clara Physik Emily Medizin Natural Join hören MatrNr VorNr = VorNr Semi Join θ hören MatrNr VorNr MatrNr = hören.matrnr =

6 Outer Join θ MatrNr Name Fach hören MatrNr VorNr MatrNr = hören.matrnr = Seite 6 / 22 VorNr NULL Full Outer Join θ hören MatrNr VorNr MatrNr = hören.matrnr = VorNr NULL NULL NULL 1010 Anti-Semi-Join θ hören MatrNr VorNr MatrNr = hören.matrnr = hören MatrNr VorNr

7 SELECT, FROM Seite 7 / 22 Spalten aus einer Tabelle auslesen. DISTINCT SELECT Name FROM ; Name Max Lisa Tom Anna Mario Lena Tom Sofi Spalten aus einer Tabelle auslesen ohne Duplikate. SELECT DISTINCT Name FROM ; Name Max Lisa Tom Anna Mario Lena Sofi WHERE Spalten aus einer Tabelle auslesen unter bestimmten Bedingungen. SELECT Name FROM WHERE.Fach = 'Biologie' ; Name Max Sofi

8 AND & OR Seite 8 / 22 Spalten aus einer Tabelle auslesen unter bestimmten Bedingungen. SELECT Name FROM WHERE.Fach = 'Biologie' OR.Fach = 'Informatik' ; Name Max Sofi Mario ORDER BY Gibt die Reihenfolge an, in der die Zeilen ausgelesen werden. ASC alphabetisch bei Zeichenketten, aufsteigend bei Zahlen DESC rückwerts-alphabetisch bei Zeichenketten, absteigend bei Zahlen SELECT Name FROM WHERE.Fach = 'Biologie' OR.Fach = 'Informatik' ORDER BY Name ASC; Name Mario Max Sofi UPDATE & SET Zeilen in der Tabelle können mit neuen Werten belegt werden. UPDATE SET.Fach = 'Chemie' WHERE.MatrNr = ; Max Chemie

9 DELETE Zeilen in der Tabelle löschen. MatrNr Name Fach DELETE FROM WHERE.MatrNr = ; MatrNr Name Seite 9 / 22 Fach IN Dadurch können in der Where-Klausel spezifische Wertebereiche angegeben werden. SELECT Name FROM WHERE.Fach IN ('Biologie','Informatik') ; Name Max Mario Sofi BETWEEN Dadurch können in der Where-Klausel spezifische Wertebereiche angegeben werden. SELECT Name FROM WHERE.MatrNr BETWEEN AND ; Name Lisa Tom Anna Lena Sofi

10 JOIN / INNER JOIN Seite 10 / 22 Zwei Tabellen können wie in relationaler Algebra gejoint werden. Sowohl JOIN als auch INNER JOIN entsprechen dem Theta-Join in relationaler Algebra. hoeren MatrNr VorNr SELECT.Name, hoeren.vornr FROM JOIN hoeren ON.MatrNr = hoeren.matrnr ; Result Name VorNr Tom 1001 Max 1005 Lisa 1001 Lisa 1002 Lena 1001 Lena 1002 Lena 1011 Mario 1002 Mario 1009 LEFT JOIN / RIGHT JOIN Zwei Tabellen können wie in relationaler Algebra outer gejoint werden. hoeren MatrNr VorNr SELECT.Name, hoeren.vornr FROM LEFT JOIN hoeren ON.MatrNr = hoeren.matrnr ; Result Name VorNr Tom 1001 Max 1005 Lisa 1001 Lisa 1002 Lena Lena Lena Mario Mario 1009 Anna NULL Tom NULL Sofi NULL

11 UNION Seite 11 / 22 Mit UNION können die Ergbenisse von zwei SELECT-Klauseln vereinigt werden. Dabei ist zu beachten, dass UNION Duplikate eliminiert. Will man Duplikate behalten muss man die Klausel UNIOIN ALL verwenden. hoeren MatrNr VorNr SELECT MatrNr FROM UNION SELECT MatrNr FROM hoeren ; Result MatrNr CREATE TABLE Eine neue Tabelle kann erzeugt werden. CREATE TABLE Professoren ( PersNr integer not null, Name varchar (30) not null, Rang character (2) ); Professoren PersNr Name Rang INSERT INTO Einen neuen Datensatz in eine vorhandene Tabelle hinzufügen. INSERT INTO Professoren VALUES(5213, 'Müller', 'C4') ; Professoren PersNr Name Rang 5213 Müller C4 CAST(expression AS [data type]) Datentypenumwandlung. SELECT CAST(17.85 AS int) ; 17 SELECT CAST(17.85 AS float) ; 17,85 SELECT CAST(17.85 AS varchar(5)) ; '17.85'

12 EXISTS / NOT EXISTS Seite 12 / 22 Wenn eine SELECT-Untersequenz keine Ergebnisse (also keine Zeilen) liefert, dann ist EXISTS false und NOT EXISTS true. Professoren PersNr Name Rang 5213 Müller C Schneider C Schmid C3 Vorlesungen VorNr Titel SWS gelesenvon 1001 Grundlagen Analysis Genetik Beispiel: Welche Professoren halten keine Vorlesungen? SELECT p.persnr, p.name FROM Professoren p WHERE NOT EXISTS ( SELECT * FROM Vorlesungen v WHERE v.gelesenvon = p.persnr ) ; Professoren PersNr Name Rang 5712 Schmid C3 GROUP BY Bildet Gruppen von Zeilen, in Abhängigkeit von einer Spalte. Beispiel: Wie viele gibt es pro Semester? SELECT s.semester, count(matrnr) AS Anzahl FROM s GROUP BY s.semester ; Semester GROUP BY Zwischenergebnis Semester Ergebnis Semester Anzahl

13 WITH Seite 13 / 22 Mit der WITH-Klausel kann man Views innerhalb einer Abfrage definieren. Es darf innerhalb einer Abfrage immer nur eine WITH-Klausel vorkommen! Beispiel: Bestimmung des durchschnittlichen Semesters der, die mindestens eine Vorlesung bei Sokrates hören. WITH vorlesungen_von_sokrates AS ( SELECT * FROM vorlesungen v, professoren p WHERE v.gelesenvon = p.persnr AND p.name = Sokrates ), studenten_von_sokrates AS ( SELECT * FROM studenten s WHERE EXISTS ( SELECT * FROM hoeren h, vorlesungen_von_sokrates v WHERE h.matrnr = s.matrnr AND v.vorlnr = h.vorlnr ) ) SELECT avg(semester) FROM studenten_von_sokrates ; CREAT VIEW Mit der CREATE VIEW-Klausel kann man Views in der Datenbank definieren. Mit CREATE VIEW erzeugte Views sind tatsächeliche Objket innerhalb der Datenbank, sie können für mehrere SELECT-Abfragen genutzt werden, mit der WITH-Klausel erzeugte Views sind dagegen nur Teile einer einzigen SELECT-Abfrage. CREATE VIEW WieHartAlsPrüfer (PersNr, Durchschnittsnote) AS SELECT PersNr, avg(note) FROM pruefen pruefen GROUP BY PersNr ; MatrNr VorlNr PersNr Note WieHartAlsPrüfer PersNr DrhNote ,

14 Aggregationen Seite 14 / 22 sum(spaltenname) avg(spaltenname) count(spaltenname) first(spaltenname) last(spaltenname) max(spaltenname) min(spaltenname) Liefert die Summe der Spalte. Liefert den Durchschnittswert der Spalte. Liefert die Anzahl der Werte (NULL-Werte nicht mitgezählt) der Spalte. Liefert den ersten Wert der Spalte. Liefert den letzten Wert der Spalte. Liefert den größen Wert der Spalte. Liefert den kleinsten Wert der Spalte. HAVING Die WHERE-Bedingung wird vor der Aggregation überprüft. Die HAVING-Bedingung wird nach der Aggregation überprüft. Die HAVING-Klausel kann nicht ohne die GROUP BY-Klausel verwendet werden! Beispiel: Alle auswählen, die alle Vorlesungen hören. SELECT h.matrnr FROM hören h GROUP BY h.matrnr HAVING count (*) = ( ) ; SELECT count (*) FROM Vorlesungen hoeren MatrNr VorNr Vorlesungen VorNr Titel SWS gelesenvon 1001 Grundlagen Analysis Genetik Result MatrNr CASE WHEN THEN ELSE END Mit diesen Klauseln können einfache Verzweigungen in SQL-Anfragen realisiert werden. SELECT CASE WHEN Bedingung THEN Ergebnis WHEN Bedingung THEN Ergebnis... ELSE Ergebnis END FROM SELECT MatrNr, CASE WHEN p.note = 1.0 THEN 'perfekt bestanden' WHEN p.note < 4.0 THEN 'nicht bestanden' ELSE 'bestanden' END FROM pruefen p Bedinung ist eine Bedinung wie man sie in der WHERE-Klausel verwendet. Ergebnis ist ein beliebiger SQL-Ausdruck.

15 Seite 15 / 22 Funktionale Abhängigkeiten Aus einer Menge von Atributen, lässt sich eine andere Menge von Attributen bestimmen. Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} Superschlüssel Ein Superschlüssel ist eine Teilmenge von Attributen, durch die man auf alle anderen Attribute der Menge schließen kann. Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} In diesem Beipiel ist jede Teilmenge von {VorNr,Titel,SWS,gelsenVon,Tag,Raum} die {VorNr} enthält ein Superschlüssel, weil {VorNr} selbst bereits ein Superschlüssel (und Kanidatenschlüssel) ist. Kanidatenschlüssel Ein Kanidatenschlüssel ist immer auch ein Superschlüssel. Ein Kanidatenschlüssel ist eine minimale Teilmenge von Attributen, durch die man auf alle anderen Attribute der Menge schließen kann. Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} {VorNr} bestimmt alle anderen Attribute und ist deshalb in diesem Fall der einzige Kanidatenschlüssel. (In anderen Fällen kann es mehrere geben!)

16 erste Normalform Nur atomare Domänen. Seite 16 / 22 nicht atomare Tabelle gleiche Tabelle in 1.NF Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen 8 {5213,5561} {Do,Mi} { , } 1002 Analysis 1 8 {5321} {Di} Genetik 6 {5321} {Mi} Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Grundlagen Mi Analysis Di Genetik Mi zweite Normalform Jede Spalte ist von allen Kanidatenschlüsseln funktional abhängig. Vorlesungen VorNr MatrNr Titel SWS gelesenvon Tag Raum Grundlagen Do Grundlagen Mi Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} Kanidatenschlüssel ist {VorNr,MatrNr} Diese Tabelle ist nicht in 2.NF, weil zum Beispiel Titel nicht von MatrNr funktional abhängig ist. Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Grundlagen Mi Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} Ist in 2.NF weil {VorNr} Kanidatenschlüssel ist und alle Spalten von VorNr abhängig sind.

17 dritte Normalform Seite 17 / 22 Gegeben: Tabelle, Menge A mit Attributen a, Menge B mit Attributen b. Für jede funktionale Abhängigkeit A b, gilt eine der Folgenden drei Bedingungen: 1) A ist Superschlüssel 2) b ist in einem Kanidatenschlüssel enthalten (dann ist b prim) 3) b ist Element von A (dann ist die funktionle Abhängigkeit trivial) Vorlesungen VorNr Titel SWS gelesenvon Tag Raum 1001 Grundlagen Do Grundlagen Mi Analysis Di Genetik Mi {VorNr} {Titel,SWS,gelesenVon} {Titel} {SWS} {gelsenvon} {Raum} {VorNr,Raum} {Tag} Einziger Kanidatenschlüssel ist {VorNr}. Dekompositionsregel 1) 2) 3) {VorNr} {Titel} Ja {VorNr} {SWS} Ja {VorNr} {gelesenvon} Ja {Titel} {SWS} Nein Nein Nein {gelsenvon} {Raum} Nein Nein Nein {VorNr,Raum} {Tag} Ja => Unsere Tabelle ist nicht in 3NF.

18 Synthesealgorithmus Seite 18 / 22 Eingabe: kanonische Überdeckung F C Linksreduktion Rechtsreduktion Funktionale Abhängigkeiten der Form A entfernen (falls vorhanden) Funktionale Abhängigkeiten mir gleicher linker Seite zusammenfassen Algorithmus: 1. Für jede funktionale Abhängigkeit A B in F C forme ein Unterschema R α = A B 2. Schreibe alle funktionalen Abhägigkeiten A B in F C als Relationen R α = {a 1,, a n, b 1,, b n } 3. Prüfe ob eine Relation einen Kanidatenschlüssel enthält. Ja, dann alles ok. Nein, dann erstelle neue Relation R k, die genau einen Kanidatenschlüssel enthält. 4. Verwerfe redundante Relationen, also wenn R i R j verwerfe R i 5. Unterstreiche alle a 1,, a n in den Relationen. Ausgabe: Eine Zerlegung des unsprünglichen Schemas, wo alle Schemata in 3.NF sind. Die Zerlegung ist abhängigkeitsbewahrend und verlustfrei. Beispiel: R : {[ A, B, C, D, E, F]} {B} {ACDEF} {EF} {BC} {A} {D} Kanonische Überdeckung F C : F: {B} {ACDEF} {EF} {BC} {A} {D} Linksreduktion: {B} {ACDEF} {EF} {BC} {A} {D} Rechtsreduktion: {B} {ACDEF} {EF} {BC} {A} {D} F C : {B} {AEF} {EF} {BC} {A} {D} Synthesealgorithmus: 1. Unterschema erstellen R 1, R 2, R 3, 2. Relationen erstellen R 1 = {BAEF}, R 2 = {EFBC}, R 3 = {AD} 3. Kanidatenschlüssel K 1 = {B}, K 2 = {EF} 4. Verwerfe gleiche R α R 1 = {BAEF}, R 2 = {EFBC}, R 3 = {AD} 5. Unterstreiche a n R 1 = {BAEF}, R 2 = {EFBC}, R 3 = {AD}

19 Boyce-Codd-Normalform Seite 19 / 22 Ein Relationenschema R i ist in BCNF, wenn es in 3NF ist unf für alle funktionalen Abhängigkeiten der Form {a 1,, a n } {b 1,, b n } gilt: {b 1,, b n } {a 1,, a n } {a 1,, a n } ist Superschlüssel Dekompositionsalgorithmus Der Dekompositionsalgorithmus erzeugt aus einem Relationenschema R i mit funktionalen Abhängigkeiten eine Zerlegung in BCNF. Der Dekompositionsalgorithmus ist verlustfrei aber nicht abhägigkeitsbewahrend. 1. Finde eine funktionale Abhängigkeit der Form {a 1,, a n } {b 1,, b n } für welche gilt: Nicht trivial: A B = {a 1,, a n } ist kein Superschlüssel 2. Falls es mehrere gibt, wähle diejenige für welche {b 1,, b n } alle R i - {a 1,, a n } enthält. 3. Zerlege R i in R 1 = A B und R 2 = R i - {b 1,, b n } 4. Ersetze R i durch R 1 und R 2. Beispiel R : {[ A, B, C, D, E, F]} Nicht trivial: A B = {a 1,, a n } ist kein Superschlüssel {B} {DA} Ja Ja {DEF} {B} Ja Ja {C} {EA} Ja Ja R 1 = {A, B, D} mit F 1 = {B} {DA} Ja Nein R 2 = {B, C, E, F} mit F 2 = {C} {E} Ja Ja R 2.1 = {C, E} mit F 2 = {C} {E} Ja Nein R 2.2 = {B, C, F} Ergebnis: R 1 = {A, B, D} R 2.1 = {C, E} R 2.2 = {B, C, F} vierte Normalform Ein Relationenschema R i ist in BCNF, wenn es in 3NF ist unf für alle mehrwertigen Abhängigkeiten der Form {a 1,, a n } {b 1,, b n } gilt: {b 1,, b n } {a 1,, a n } {a 1,, a n } ist Superschlüssel

20 RAID Seite 20 / 22 Redundant Array of Independent Disks Aufgabe: Organisation von mehreren physischen Festplatten Ziele: höhere Datenverfügbarkeit größere Datenübertragung RAID Level 0 : Striping A D C B RAID Level 1 : Mirroring A C B D A C B D RAID Level 2 : Striping auf Bit-Ebene A1 C1 B1 D1 A2 C2 B2 D2 RAID Level 3 : XOR auf Bit-Ebene Paritätsplatte A1 C1 B1 D1 A2 C2 B2 D2 XOR Ap Cp Bp Dp RAID Level 4 : XOR Paritätsplatte A G E D F C B H XOR P(A,B) P(C,D) P(E,F) P(G,H) RAID Level 5 : Striping, Verteilung der Paritätsinformation auf alle Blöcke Ap C1 B1 D1 XOR A2 C2 Bp D2 XOR A1 B2 Cp D3 XOR A3 C3 B3 Dp

21 Seite 21 / 22 B-Bäume Balancierte Mehrwege-Suchbäume Aufbau eines B-Baumes: Jeder B-Baum hat eine Kapazität, abgekürzt mit k. Die Kapazität k gibt an wie viele Schlüssel in einem Knoten mindestes sein müssen 2k ist die maximale Anzahl an Schlüsseln in einem Knoten. Ausnahme: Die Wurzel darf weniger als k Schlüssel haben. Einfügen in einen B-Baum Wir wollen die 5 in diesen B-Baum von Grad k=2 einfügen: Lösung Wir spalten den Knoten auf: Löschen in einen B-Baum Wir wollen die 5 löschen: Lösung Wir nehmen einen Schlüssel aus dem Elternknoten um den Unterlauf auszugleichen: Wir wollen die 6 löschen: Lösung Wir mergen zwei Knoten:

22 Join-Trees Seite 22 / 22 Join-Trees bestimmen die Reihenfolge, in der die Joints ausgeführt werden. Es gibt drei verschiedene Arten von Join-Trees: Analog zum Left-Deep-Tree gibt es auch einen Right-Deep-Tree. Recovery Stürzt eine Datenbank ab, dann kann man die Daten der Datenbank mit einem Recovery-Prozess wiederherstellen. Beim Recovery-Prozess werden diejenigen Daten wiedehergestellt, die kurz vor dem Absturz der Datenk aktuell waren Um den Recovery-Prozess zu regeln, kann man verschiedene Strategien nutzen: steal steal force kein Redo kein Undo kein Redo Undo force Redo kein Undo Redo Undo Ersetzung von Seiten im Pufferspeicher mit Seiten aus dem Hauptspeicher steal: Alle nicht fixierten Seiten dürfen ausgelagert werden. steal: Wenn eine Transaktion eine Seite im Pufferspeicher modifiziert hat und noch läuft, darf diese Seite nicht ausgelagert werden. Speichern von Seiten in den Hauptspeicher, nachdem die Transaktion abgeschlossen wurde. force: Nach Abschluss einer Transaktion müssen die Seiten in den Hauptspeicher geschrieben werden. force: Nach dem Abschluss einer Transaktion können die geänderten Seiten im Pufferspeicher bleiben.

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

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create

Mehr

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

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

Mehr

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

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Datenbanksysteme 2013

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

Mehr

Wiederholung VU Datenmodellierung

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

Mehr

Kapitel 8: Datenintegrität

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

Mehr

Wiederholung VU Datenmodellierung

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

Mehr

Grundlagen: Datenbanken

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

Mehr

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. 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 (renen@in.tum.de)

Mehr

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

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 noch Kapitel 7: SQL Vorlesung vom 13.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle Transitive Hülle 35.) Liste alle Voraussetzungen

Mehr

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

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

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

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

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 7a: Structured Query Language (SQL) MySQL 5.0 (enthalten in: http://www.apachefriends.org/de/xampp.html)

Mehr

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

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 9 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd/ Technische Universität München Fakultät für Informatik

Mehr

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

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

Mehr

DATENBANKSYSTEME: SQL

DATENBANKSYSTEME: SQL Datendefinitions-, Manipulations- und Anfrage-Sprache SQL, Datendefinition, Veränderung am Datenbestand, Einfache SQL Abfrage, Anfragen über mehrere Relationen, Mengenfunktionen, Aggregatfunktion und Gruppierung,

Mehr

Diskussion: Personal (1)

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

Mehr

Entity Relationship Modell

Entity Relationship Modell Entity Relationship Modell 2 Entity/Relationship (ER) Modell Legi Name Semester Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Studenten hören Hörer Kurs Vorlesungen Attribut

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Relationale Anfragesprachen

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

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 7 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de)

Mehr

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

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

Mehr

Relationale Entwurfstheorie (Teil 2)

Relationale Entwurfstheorie (Teil 2) Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken (Teil 2) Dr. Gerd Gröner Wintersemester 2013/14 Gliederung Funktionale Abhängigkeiten Dekomposition der Relationenschemata:

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 9 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül

(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül Musterlösunq zur Klausur 1665 Datenbanksvsteme 19.03.2005 Aufgabe 1: Relationenalgebra - Relationenkalkül (4 Punkte) In der Relationenalgebra werden die gewünschten Relationen durch Angabe einer Folge

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

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

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

Mehr

Fortsetzung: Projektion Selektion. NULL Werte

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

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.:

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.: Übungen Aufgabe 6 In der folgenden Relation speichern wir die Betreuer für jeden Studenten. Ein Student kann aber gleichzeitig mehrere Hauptfächer studieren (um am Ende mehrere Diplomen zu kriegen, z.b.

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

6. Tutorübung zu Grundlagen: Datenbanken

6. Tutorübung zu Grundlagen: Datenbanken 6. Tutorübung zu Grundlagen: Datenbanken Chaoran Chen chaoran.chen@in.tum.de 17.11-23.11.2014 Von letzter Woche.. select s.matrnr, count (s.matrnr) as anz vorlesungen from studenten s left join hoeren

Mehr

Rückblick: Relationale Normalisierung

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

Mehr

8. Tutorübung zu Grundlagen: Datenbanken

8. Tutorübung zu Grundlagen: Datenbanken 8. Tutorübung zu Grundlagen: Datenbanken Chaoran Chen chaoran.chen@in.tum.de 01.12-07.12.2014 Relationale Entwurfstheorie Normalformen 1. Normalform 2. Normalform 3. Normalform Boyce-Codd Normalform (BCNF)

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

Es wird empfohlen folgendes Material anzusehen:

Es 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

Mehr

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

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

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 3. Zentralübung / Fragestunde Linnea Passing Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift stellen wir im Anschluss online. Agenda Hinweise zur Klausur

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

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

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 noch Kapitel 7: SQL Vorlesung vom 7.5.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL: avg, group by 16.) Liste die durchschnittliche

Mehr

5. Relationale Entwurfstheorie

5. Relationale Entwurfstheorie 5 Relationale Entwurfstheorie Motivation Konzeptuelles Modell (ERM) kann in ein relationales Schema mit möglichst wenigen Relationen übersetzt werden (vgl Kapitel 4) Welche Eigenschaften hat ein gutes

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 08 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen

Mehr

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

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

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

Rückblick: Relationale Entwurfstheorie

Rückblick: Relationale Entwurfstheorie Rückblick: Relationale Entwurfstheorie Redundanzen führen zu Anomalien beim Einfügen, Löschen und Ändern Gute Relationenschemata vermeiden Redundanzen und damit Anomalien Funktionale Abhängigkeiten zwischen

Mehr

Rückblick: Relationales Modell

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

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt. Der Wirt gibt dem Kellner den Auftrag

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Vorlesung Datenbanksysteme vom

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

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Wir haben folgende Ausprägung der Relation Studenten:

Wir haben folgende Ausprägung der Relation Studenten: Übungen Aufgabe Wir haben folgende Ausprägung der Relation Studenten: SID Name Email Age Note 2833 Jones jones@scs.ubbcluj.ro 9 9 2877 Smith smith@scs.ubbcluj.ro 2 8 2976 Jones jones@math.ubbcluj.ro 2

Mehr

Grundlagen: Datenbanken WS 15/16

Grundlagen: Datenbanken WS 15/16 Grundlagen: Datenbanken WS 15/16 2. Zentralübung / Wiederholung / Fragestunde Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss. Termine Klausur 24.02.2016,

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

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

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

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 26. IV. 2016 Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte

Mehr

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

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

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

Mehr

Datenbanken (Übung 12)

Datenbanken (Übung 12) Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas

Mehr

Ü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) Übung 3 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Rückblick: Relationales Modell

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

Mehr

Rückblick: Datenbankentwurf

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

Mehr

2. Relationale Datenbanken

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

Mehr

Wiederholung: Relationale Algebra

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

Mehr

Relationales Datenmodell Relationale Algebra

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

Mehr

3. Relationales Modell & Algebra

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

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 27 III 2017 Outline 1 SQL 2 Überblick Datenbankdesign 3 Anomalien 4 Datenbank Normalisierung Zerlegung von Relationen 5 Normalisierung Erste Normalform Zweite Normalform Dritte

Mehr

Kapitel 11: Relationale Entwurfstheorie

Kapitel 11: Relationale Entwurfstheorie Kapitel 11: Relationale Entwurfstheorie Funktionale Abhängigkeiten α β β ist funktional abhängig von α r, t R : r.α = t.α r.β = t.β R A B C D a 4 b 2 c 4 d 3 a 1 b 1 c 1 d 1 a 1 b 1 c 1 d 2 a 2 b 2 c 3

Mehr

Zerlegung einer Relation

Zerlegung einer Relation Normalformen Normalisierung Normalformen definieren Qualitätskriterien (Vermeidung der Inkonsistenzen) Redundanz ist oft die Ursache von Schemata Probleme (keine FDs keine Redundanz) Normalisierung: Jede

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken Zentralübung / Wiederholung / Fragestunde Moritz Sichert Lukas Vogel gdb@in.tum.de WiSe 2018 / 2019 Plattform für Fragen https://arsnova.eu/mobile/#id/65746822 Diese Folien finden

Mehr

Übungsblatt 10: Lösungsvorschlag

Ü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

Mehr

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

GROUP BY, HAVING und Sichten

GROUP BY, HAVING und Sichten GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten Eine Tabelle studenten

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 12: Relationale Entwurfstheorie Oliver Vornberger Institut für Informatik Universität Osnabrück Funktionale Abhängigkeiten ist funktional abhängig von r, t R : r. = t. r.

Mehr

3. Relationales Modell & Algebra

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

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe18 Alexander van Renen, Maximilian

Mehr

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Datenmodelle und Datenbanken 1 Internet-Datenbanken

Datenmodelle und Datenbanken 1 Internet-Datenbanken Datenmodelle und Datenbanken 1 Internet-Datenbanken Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 17. August 2004 Hinweise zur Bearbeitung Die Zeit läuft

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Datenbanksysteme 2009

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

Mehr

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

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

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Übung Datenbanksysteme Normalformen

Übung Datenbanksysteme Normalformen Übung Datenbanksysteme Normalformen 19.1.2004 Final-Klausur Termin: Freitag, 13. Februar 2004 Uhrzeit: ab 16.15 Uhr Ort: Hörsaal PH HS 1 (PH 2501) Funktionale Abhängigkeiten Ab jetzt wieder recht theoretisch

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser 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,

Mehr

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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im W15/16 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

2. Übungsblatt 3.0 VU Datenmodellierung

2. Übungsblatt 3.0 VU Datenmodellierung 2. Übungsblatt 3.0 VU Datenmodellierung 13. November 2013 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr