Übung Datenbanksysteme WS 2003/200418.01.2014 Übung Datenbanksysteme Hierarchische DBMS 2.2.2004.

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Datenbank-programmierung
Advertisements

Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen.
Datenintegrität Integitätsbedingungen Schlüssel
ER-Datenmodell und Abfragen in SQL
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Kapitel 3: Logische Datenmodelle
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Prof. Dr. Andreas Schmietendorf
Ein Entity Relationship Diagramm zur ADB/NDB
SendEplanung Datenbank
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
FH-Hof DBS II: Übersicht über die Vorlesung Richard Göbel.
SQL als Abfragesprache
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Übung Datenbanksysteme UML
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Kapitel 9: Integritätssicherung
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Cursor-Konzept u Zugriff auf Mengen von Ergebnistupeln u In SQLJ Iteratoren u Vergleichbar.
objekt-relationale Datenbanken
Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr.
Datenintegrität Integitätsbedingungen Schlüssel
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #9 SQL (Teil 4)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #8 Wiederholung: Referentielle Integrität/ Embedded SQL.
Allgemeines zu Datenbanken
Universität Stuttgart Xiaolong Wan Abschlußpräsentation:
Vorlesung #10 Physische Datenorganisation
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Structured Query Language
Vorlesung #5 SQL (Teil 2).
Vorlesung #2 Das relationale Modell (Teil 1)
Time and Dates. Telling time To ask: What time it is? Wie spät ist es? Wie viel Uhr ist es?
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank System (DBS) - Warum?
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #8 SQL (Teil 5).
 Präsentation transkript:

Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS

Übung Datenbanksysteme WS 2003/ Final-Klausur Termin: Freitag, 13. Februar 2004 Uhrzeit: ab Uhr Ort: Hörsaal PH HS 1 (PH 2501) In der Übung am : Wiederholen von Aufgaben Vorschläge bis per an:

Übung Datenbanksysteme WS 2003/ Unter uns … Prof. Bayer emeritiert … Also bitte regelmäßig an den Vorlesungen teilnehmen, besonders an der letzten … Nichts weiter erzählen…

Übung Datenbanksysteme WS 2003/ Trigger Zwei Tabellen: Temps (place VARCHAR(20), temp Integer) Extremes (place VARCHAR(20), hightemp Integer, highdate Date, lowtemp Integer, lowdate Date) Event, Condition, Action (ECA-Rule)

Übung Datenbanksysteme WS 2003/ Trigger (2a) CREATE TRIGGER temp_trig1 AFTER UPDATE ON temps REFERENCING NEW AS newrow FOR EACH ROW MODE DB2SQL WHEN (newrow.temp > ( SELECT hightemp FROM extremes WHERE place = newrow.place) OR (SELECT hightemp FROM extremes WHERE place = newrow.place) IS NULL)…

Übung Datenbanksysteme WS 2003/ Trigger (2b) … UPDATE extremes SET hightemp = newrow.temp, highdate = CURRENT DATE WHERE place = newrow.place;

Übung Datenbanksysteme WS 2003/ Hierarchisches Modell Älteres Modell als relationales Modell (ca 1960) In der Industrie (Banken, Versicherungen) noch weit verbreitet (IBM IMS) Konzept: –Alle Beziehungen sind Vater-Kind-Beziehung –Kinder werden geclustert hinter Vater gespeichert –Zugriff in enger Kopplung zur Programmiersprache

Übung Datenbanksysteme WS 2003/ Faustregeln zur Umsetzung 1-N (auch 1-1) Seite mit 1 wird Vaterknoten, Seite mit N wird Kind

Übung Datenbanksysteme WS 2003/ Problemstellung bei N-M Wer ist Vater, wer ist Kind:

Übung Datenbanksysteme WS 2003/ Vereinfachung durch Referenzen Problem der strikten Hierarchie: Hohe Redundanzen Vermeidung der Redundanzen durch Verweis auf bestehendes Objekt

Übung Datenbanksysteme WS 2003/ Algorithmus zur Umsetzung Bisher nach Faustregeln und mit Nachbearbeitung Algorithmus vereinfacht Verfahren Vorveränderung: Jede N-M durch eine 1-M- und eine N-1- Beziehung ersetzen

Übung Datenbanksysteme WS 2003/ Algorithmus (1) Hauptprogramm: wähle Entität n mit vielen auf n zeigenden Links, ohne Links weg von n zu nicht markierten Knoten: begin while do wähle unmarkiertes n; build-tree (n) od end

Übung Datenbanksysteme WS 2003/ Algorithmus (2) procedurebuild-tree (n) begin ; for each Kante m -> n in E/R Schema do begin <n wird Vaterknoten, ziehe von n zu m, ; if then build-tree (m) else m Referenzknoten fi end

Übung Datenbanksysteme WS 2003/ Zugriff auf hierarchische DBMS Prozeduraufrufe aus Wirtssprache (jeweils mit Parameter für Prädikate) Syntax nicht einheitlich, Semantik schon GET UNIQUE GU Holt ersten Datensatz GET NEXT GN Holt folgende Datensätze nach GU GET NEXT WITHIN PARENT GNP Holt ersten oder folgende Datensätze unterhalb des aktuellen Datensatzes DBSTATUS: Status der letzten Operation, 0 wenn erfolgreich

Übung Datenbanksysteme WS 2003/ Aufgabe 3a) Ermitteln Sie alle Wagen, die an vierter Position in einem Zug sind. Idee: –Schleife über alle Züge –Suche einen Wagen mit Position 4 im Zug (es gibt maximal einen !) –Wenn gefunden, ins Ergebnis –Wenn nicht, weiter mit nächstem Zug

Übung Datenbanksysteme WS 2003/ Aufgabe 3a) (2) Vector ergebnis; GU ZUG While(DBSTATUS == 0) { Wagen w = GNP WAGEN (Position == 4) If (DBSTATUS == 0) { Ergebnis.add(w) } GN ZUG }

Übung Datenbanksysteme WS 2003/ Aufgabe 3b) Ermitteln Sie alle Züge, die Raucherplätze am Fenster in der ersten Klasse haben Idee: –Schleife über alle Züge –Schleife über alle Wagen – Abbruch, sobald ein Wagen Plätze nach den Kriterien enthält –Suche nach einem Platz, der die Kriterien erfüllt –Wenn gefunden, Ende der Wagenschleife, ins Ergebnis einfügen –Wenn nicht, weiter mit nächstem Wagen

Übung Datenbanksysteme WS 2003/ Aufgabe 3b (2) Vector ergebnis; Boolean found = false; Zug z = GU ZUG WHILE (DBSTATUS == 0) { found = false; GNP WAGEN WHILE (DBSTATUS == 0 && !found) { GNP Platz (Raucher == True, Klasse == 1, Fenster == True) IF (DBSTATUS == 0) { found = true; } GNP WAGEN } if (found) { ergebnis.add(z) } z = GN Zug }

Übung Datenbanksysteme WS 2003/ Aufgabe 3b (3) Zum Vergleich SQL: SELECT z.Zugnummer FROM Zug z, Wagen w, Platz p WHERE z.Zugnummer = w.Zugnummer AND w.Wagennummer = p.Wagennummer AND p.Raucher = 't' AND p.Fenster = 't' AND p.Klasse = 1 Vorteile – Nachteile ??