PPT

 Datenbank

 14 views
of 14
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
Übung Datenbanksysteme Hierarchische DBMS 29.1.2003 Übung Datenbanksysteme WS 2002/2003 15.02.2017 Hierarchisches Modell ã Älteres Modell als relationales…
Share
Transcript
Übung Datenbanksysteme Hierarchische DBMS 29.1.2003 Übung Datenbanksysteme WS 2002/2003 15.02.2017 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 2002/2003 15.02.2017 Faustregeln zur Umsetzung • 1-N (auch 1-1) • Seite mit 1 wird Vaterknoten, • Seite mit N wird Kind Zug Zugnummer Nummer Zug 1 Teil-von N Wagen Nummer Wagen Position Wagennummer Position Übung Datenbanksysteme WS 2002/2003 15.02.2017 Problemstellung bei N-M • Wer ist Vater, Preis Ticket- nummer wer ist Kind: Ankunft Gilt_für M Ticket N Abfahrt Verbindung Tag Verbindung Ankunft Abfahrt Tag Verbindung Ticket Ticket Ticketnummer Preis Ankunft Abfahrt Tag Ticketnummer Preis Verbindung Ticket Verbindung Ankunft Abfahrt Tag Ticketnummer Preis Ankunft Abfahrt Tag Übung Datenbanksysteme WS 2002/2003 15.02.2017 Vereinfachung durch Referenzen • Problem der strikten Hierarchie: Hohe Redundanzen • Vermeidung der Redundanzen durch Verweis auf bestehendes Objekt Verbindung Ankunft Abfahrt Tag Ankunft Abfahrt Tag Ticket Ticket Ticketnummer Preis Ticketnummer Preis Verbindung Verbindung REF Ankunft Abfahrt Tag Übung Datenbanksysteme WS 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 2002/2003 15.02.2017 Algorithmus (2) procedure build-tree (n) begin ; for each Kante m n in E/R Schema do begin then build-tree (m) else m Referenzknoten fi end end Übung Datenbanksysteme WS 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 2002/2003 15.02.2017 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 ?? Übung Datenbanksysteme WS 2002/2003 15.02.2017
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks