Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Konzepte temporaler Datenbanken Taoufik Saissi Hassani.

Ähnliche Präsentationen


Präsentation zum Thema: "Konzepte temporaler Datenbanken Taoufik Saissi Hassani."—  Präsentation transkript:

1 Konzepte temporaler Datenbanken Taoufik Saissi Hassani

2 Republic of South Africa Konzepte temporaler DB 2 Agenda Motivation Temporale Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

3 Republic of South Africa Konzepte temporaler DB 3 Motivation Aktuelle Datenbanken bieten nur eine Momentaufnahme der Daten Zeitliche Entwicklung wird nicht unterstützt Analyse von Zeitdaten erschwert: Alle Wochen in denen keine Termine vorliegen

4 Republic of South Africa Konzepte temporaler DB 4 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle Das Datenmodell BCDM TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

5 Republic of South Africa Konzepte temporaler DB 5 Temporale Datenbanken Erweitern relationale DB um eine Zeitdimension Abb. 1: Temporale Relation als ein dreidimensionales Objekt

6 Republic of South Africa Konzepte temporaler DB 6 Temporale Datenbanken Arten temporaler Datenbanken (TDB): – Transaktionszeit (transaction time) Zu jeder Transaktion wird die aktuelle Serverzeit gespeichert Reine Vergangenheitsbetrachtung – Gültigkeitszeit (valid time) Ergänzend gibt der Nutzer bei Anfragen einen Gültigkeitszeitraum an – bi-temporale Datenbanken Unterstützung beider Zeitarten

7 Republic of South Africa Konzepte temporaler DB 7 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle Das Datenmodell BCDM TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

8 Republic of South Africa Konzepte temporaler DB 8 Definition der Zeit Zeit ist eine kontinuierliche Veränderliche, auf die die Veränderung von Zuständen oder eine Ereignisfolge bezogen werden kann... Zeit ist eine Existenzform der Materie in der alle ihre Änderungen und Bewegungen ablaufen

9 Republic of South Africa Konzepte temporaler DB 9 Modelle der Zeit Stetiges Modell der Zeit – isomorph zur Menge R dichtes Modell der Zeit – isomorph zur Menge Q diskretes Modell der Zeit – isomorph zur Menge Z

10 Republic of South Africa Konzepte temporaler DB 10 Modelle der Zeit Funktionale Zusammenhänge bilden überabzählbar unendlich viele Tupel (t,y) Nicht Aufgabe temporaler Datenbanken

11 Republic of South Africa Konzepte temporaler DB 11 Zielsetzung von temporalen Datenbanken Aufzeichnung eine endliche Menge von charakteristischen Aussagen als nicht-temporale Attribute zugehörigen (unendlichen, überabzählbaren) Zeitpunkten t als temporale Attribute als Relation

12 Republic of South Africa Konzepte temporaler DB 12 Granularität Eine Granularität wird bestimmt durch eine Länge und einen Ausgangspunkt. Die Länge wie auch der Ausgangspunkt werden in Chronons der zugrunde liegenden Uhr angegeben.

13 Republic of South Africa Konzepte temporaler DB 13 Merkmale der Zeitdimension Datentypen temporaler Attribute: Zeitpunkte Zeitintervalle Zeitfolgen Zeitdauer

14 Republic of South Africa Konzepte temporaler DB 14 Merkmale der Zeitdimension Zeitpunkt: bezieht sich auf einen Zustand, dessen zeitliche Ausdehnung: Vernachlässigbar kleiner als die zugrunde liegende Granularität

15 Republic of South Africa Konzepte temporaler DB 15 Merkmale der Zeitdimension Zeitintervall: Ein Kontinuum von Zeitpunkten: Beschreibung durch die Eckpunkte:

16 Republic of South Africa Konzepte temporaler DB 16 Merkmale der Zeitdimension Zeitfolgen: bestehen entweder aus einzelnen: Zeitpunkten Zeitintervallen Unterscheidung von: linearen Zeitfolgen jeden Dienstag wird der Müll abgeholt nicht-linearen Zeitfolgen jeden 1. Freitag im Monat

17 Republic of South Africa Konzepte temporaler DB 17 Merkmale der Zeitdimension Zeitdauer: beschreibt in absoluter Größe die Anzahl der Zeitpunkte für ein bestimmtes Kontinuum bzw. Intervall immer in Bezug auf eine Granularität

18 Republic of South Africa Konzepte temporaler DB 18 Ein Beispiel Obiges Beispiel enthält eine zustandsstabile Zeitfolge, das Zeitgranulat für das Gehalt ist der Monat. Wir haben zur besseren Lesbarkeit hier Tag gewählt.

19 Republic of South Africa Konzepte temporaler DB 19 Ein Beispiel Abb. 3 beinhaltet sämtliche Zeitfolgen, in der letzten Zeile steht die aktuelle Zeitfolge.

20 Republic of South Africa Konzepte temporaler DB 20 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle Das Datenmodell BCDM TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

21 Republic of South Africa Konzepte temporaler DB 21 Temporale Datenmodelle Temporale Datenmodelle basieren auf dem relationalen Datenmodell. Wichtigste Konzepte: Erweiterung der Tabellen um temporale Attribute Erweiterung der Anfragesprache um temporale Operationen Das Temporale Datenmodell TDM von A Segev und A Shoshani. Temporale Datenmodelle unterscheiden sich weiterhin in den unterstützten Zeitdimensionen und in der Art der Repräsentation temporaler Daten. Die Zeitstempel sind entweder: Explizit, d.h. von außen sichtbar Implizit mit den Aussagen verbunden

22 Republic of South Africa Konzepte temporaler DB 22 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle Das Datenmodell BCDM TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

23 Republic of South Africa Konzepte temporaler DB 23 Das Datenmodell BCDM Ein Datenmodell ist ein formaler Rahmen zur Beschreibung von Datenstrukturen und Operationen auf Daten. Es wird angenommen, dass die abzuspeichernde Information mit Hilfe von Objekten und Beziehungen zwischen Objekten modelliert werden kann. Das Datenmodell BCDM ist Teil und Grundlage des Sprachvorschlages TSQL2. Das BCDM ist ein erweitertes relationales Datenmodell

24 Republic of South Africa Konzepte temporaler DB 24 Das Datenmodell BCDM Bsp.: Abb.4: Temporale Relation mit Tupelstempelverfahren: a) in erster Normalform b) Gemäß BCDM (nicht in erster Normalform)

25 Republic of South Africa Konzepte temporaler DB 25 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle Das Datenmodell BCDM TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

26 Republic of South Africa Konzepte temporaler DB 26 TSQL2 & SQL/Temporal : geschichtlich Seit Mitte der 80er Jahre wurde eine Vielzahl von Sprachvorschlägen vorgestellt, z.B.: IXSQL, TSQL2, SQL/TP Zwei Vorschläge sind bis heute noch wichtig: TSQL2: als SQL-Spracherweiterung. SQL/Temporal: als siebter Teil von SQL3. SQL-86 und SQL-89 beinhalteten noch keine Möglichkeit temporale Daten zu verwalten. Mit SQL-92 (SQL2) wurden die Datentypen DATETIME und INTERVAL eingeführt. erste Schritt in Richtung Zeitunterstützung Im Juni 1993 formte sich nach einem Workshop on an Infrastructure for Temporal Databases in Arlinton, Texas ein TSQL2 Komitee mit dem Ziel, eine Sprachspezifikation einer temporalen Anfragesprache zu verfassen. Im Januar 1993 wurde eine erste Version veröffentlicht und die endgültige Version folgte im September 1994.

27 Republic of South Africa Konzepte temporaler DB 27 TSQL2 & SQL/Temporal TSQL2: - In dieser Sprache ist ein Zeitstempelattribut hinzugefügt, das Mengen von bitemporalen Chronons enthält, und zwar die Zeitpunkte, wann ein Fakt gültig war und wann er eingetragen wurde. - TSQL2 unterstützt die Evolution der relevanten Objekte und damit der ihnen zugeordneten Daten im Zeitablauf. SQL/Temporal: - SQL/Temporal orientiert sich an den Forschungspapieren von TSQL2. - Die Konzepte von TSQL2 wurden jedoch nicht vollständig übernommen. - Danach entstand die Diskussion, die Unterstützung von Gültigkeitszeit (valid time) und Transaktionszeit (transaction time) in SQL/Temporal zu integrieren.

28 Republic of South Africa Konzepte temporaler DB 28 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

29 Republic of South Africa Konzepte temporaler DB 29 Datentypen für Zeitangaben In SQL2 werden bereits einige zeitorientierte Datentypen angeboten: DATE TIME TIMESTAMP als Kombination der beiden erstgenannten INTERVAL ist für die Zeitdauer (nicht zu Verwechseln mit Zeitintervallen, die durch zwei Zeitpunkte begrenzt sind !) PERIOD für den Zeitintervall-Datentyp. PERIOD [datetime1-datetime2] PERIOD(datetime1, datetime2) INTERVAL(PERIOD) : Unwandlung einer Periodenangabe in eine Zeitdauer.

30 Republic of South Africa Konzepte temporaler DB 30 Datentypen für Zeitangaben INTERSECT(PERIOD_1, PERIOD_2) : Ermittlung der Schnittmenge zweier Perioden BEGIN(PERIOD) für den Anfangszeitpunkt einer Periode END(PERIOD) für den Endzeitpunkt einer Periode ALTER TABLE : Zeitdimensionen nachträglich einzufügen, oder zu entfernen. Spezielle Werte zur Definition Periodenbegrenzung - beginning steht für unendlich weit zurückliegende Vergangenheit. - forever steht für unendlich weit entfernte Zukunft. - now steht für die aktuelle Zeit. - PERIOD[beginning,- forever] stellt den maximal in einem System abbildbaren Zeitraum dar.

31 Republic of South Africa Konzepte temporaler DB 31 Datentypen für Zeitangaben [CAST | SCALE ] ( AS ) Zeitangaben werden durch die beiden Operatoren CAST und SCALE in andere Granularitäten umgewandelt. CAST liefert immer ein konkretes Ergebnis. SCALE liefert unbestimmte Ausdrücke, wenn eine Umwandlung in ein feineres Granulat vorgenommen werden soll. Bsp.: (CAST & SCALE) CAST(PERIOD [ ] AS DAY) [ ] SCALE(PERIOD [ ] AS DAY) [ ]

32 Republic of South Africa Konzepte temporaler DB 32 Datentypen für Zeitangaben – Vergleichs-Operatoren Gleichheits-Operator : (=) PRECEDES : die Vorzeitigkeit einer Periode gegenüber einer anderen Periode ausdrücken. Bsp.: X PRECEDES Y, dann ist END(X)< BEGIN(Y); MEETS ist ein Spezialfall von PRECEDES, bei dem END(X) und BEGIN(Y) genau ein Chronon auseinander liegen. OVERLAPS : da wird ermittelt, ob die Schnittmenge zweier Perioden nicht leer ist. CONTAINS ist wiederum ein Spezialfall, bei dem eine Periode vollständig in einer anderen Periode enthalten sein muss.

33 Republic of South Africa Konzepte temporaler DB 33 Agenda Motivation Temporale Datenbanken Begriffsdefinition Merkmale der Zeitdimension Temporale Datenmodelle TSQL2 & SQL/Temporal Datentypen für Zeitangaben Ansätze temporaler Datenbanken Temporale Daten im Data Warehouse Zusammenfassung

34 Republic of South Africa Konzepte temporaler DB 34 Ansätze temporaler Datenbanken Datendefinition (CREATE) Datenmodifikation (INSERT, UPDATE, DELETE) Datenabfragen (SELECT)

35 Republic of South Africa Konzepte temporaler DB 35 Datendefinition (CREATE) Der zugehörige TSQL-Befehl ist CREATE TABLE (...) [AS [ VALID [STATE | EVENT] [AND]] TRANSACTION] Abb.4 Syntaxdiagramm für das Anlegen einer Relation

36 Republic of South Africa Konzepte temporaler DB 36 Datendefinition (CREATE) Beim Kreieren der Tabellen werden mit STATE und EVENT zustandsstabile bzw. ereignisorientierte Zeitfolgen definiert. Es ist ein Zeitstempelattribut hinzugefügt, das Mengen von bitemporalen Chronons enthält, und zwar die Zeitpunkte, wann ein Fakt gültig war und wann er eingetragen wurde. Bsp.: CREATE TABLE personal ( name CHAR(20), gehalt FLOAT ) AS VALID STATE AND TRANSACTION

37 Republic of South Africa Konzepte temporaler DB 37 Datenmodifikation (INSERT, UPDATE, DELETE) temporalen Datenmodifikationen unterscheiden sich vom herkömmlichen SQL durch die optionale VALID-Klausel. Ohne Eingabe der Gültigkeitszeit-Bereiche, so gilt VALID PERIOD [now-forever]

38 Republic of South Africa Konzepte temporaler DB 38 Datenmodifikation (INSERT) Abb.5 Syntaxdiagramm für die INSERT-Operation Der zugehörige TSQL-Befehl für die Insert-Operation ist: INSERT INTO VALUES (...) VALID PERIOD [ ]

39 Republic of South Africa Konzepte temporaler DB 39 Datenmodifikation (INSERT) Bsp.: Der deutsche Staatsbürger Meier reist 1994 in die Schweiz ein und bekommt den Status eines Jahresaufenthalters, er erhält damit eine Aufenthaltsgenehmigung von jeweils nur einem Jahr. Die Gültigkeit des entsprechenden Tupels ist dementsprechend anzugeben als (1) INSERT INTO person VALUES (Meier,D,Bern) VALID PERIOD [ ] (2) übersichtlichere Darstellung INSERT INTO person VALUES (Meier,D,Bern) VALID PERIOD CAST(PERIOD [ ]AS DAY) [ ]

40 Republic of South Africa Konzepte temporaler DB 40 Datenmodifikation (INSERT) Die Aufenthaltsgenehmigung wird um ein weiteres Jahr verlängert: INSERT INTO person SELECT (name,nation,ort) VALID PERIOD [ ] FROM person WHERE name=Meier AND VALID(person) OVERLAPS TIMESTAMP 1994

41 Republic of South Africa Konzepte temporaler DB 41 Datenmodifikation (UPDATE) Der zugehörige TSQL-Befehl für die Update-Operation ist: UPDATE VALID PERIOD [ ] SET... =... WHERE... =... Abb.6 Syntaxdiagramm für die UPDATE-Operation

42 Republic of South Africa Konzepte temporaler DB 42 Datenmodifikation (UPDATE) Bsp.: Die Person Meier hat Ende 1995 die Schweizer Staatsbürgerschaft angenommen, was 1996 durch folgende UPDATE-Operation abgebildet werden soll: UPDATE person VALID PERIOD [1995-forever] SET nation=CHWHERE name=Meier Diese Operation bewirkt, daß nach dem Update der neue Wert nur für das Jahr 1995 gültig ist.

43 Republic of South Africa Konzepte temporaler DB 43 Datenmodifikation (DELETE) Der zugehörige TSQL-Befehl für die Delete-Operation ist: DELETE FROM WHERE... =... VALID PERIOD [ ] Abb.7 Syntaxdiagramm für die DELETE-Operation

44 Republic of South Africa Konzepte temporaler DB 44 Datenmodifikation (DELETE) Bsp.: DELETE FROM person WHERE name=Meier VALID PERIOD [1995-forever] Einfügen des gültigen Faktums: INSERT INTO person VALUES (Meier,CH,Bern) VALID PERIOD [1995-forever] Bsp.: Die Person Meier erhält 1994 eine Niederlassungsbewilligung. Die Gültigkeitsdauer ihres Aufenthalts ist damit prinzipiell nicht beschränkt: INSERT INTO person VALUES (Meier,D,Bern) VALID PERIOD [1994-forever]

45 Republic of South Africa Konzepte temporaler DB 45 Datenabfragen (SELECT) Der zugehörige TSQL-Befehl für die Select-Operation ist: SELECT * FROM WHERE Abb.8 Syntaxdiagramm für die SELECT-Operation

46 Republic of South Africa Konzepte temporaler DB 46 Datenabfragen (SELECT) Bsp.: Ist in der PERSONAL-Tabelle die aktuelle Gehaltszeitfolge von Meier auszugeben, lautet die Anweisung: SELECT * FROM personal WHERE name=Meier Zur Eingrenzung der Gültigkeitszeit SELECT * FROM personal AS p WHERE name=Meier AND VALID(p)OVERLAPS PERIOD [ - ] Zur Abschließung der angegebenen Zeitgrenzen SELECT * VALID INTERSECT PERIOD [ - ] FROM personal WHERE name=Meier Anzeigen der nichtaktueller Zeitfolgen SELECT * FROM personal AS p WHERE TRANSACTION(p) OVERLAPS TIMESTAMP

47 Republic of South Africa Konzepte temporaler DB 47 Agenda Motivation Temporale Datenbanken Temporale Daten im Data Warehouse Der Begriff Data Warehouse – Definition – Konzept – Architektur Zeitbezogene Daten im Data Warehouse Zusammenfassung

48 Republic of South Africa Konzepte temporaler DB 48 Data Warehouse: Definition Ein Data Warehouse ist eine themenorientierte, integrierte, historisierte, nicht flüchtige (d.h. dauerhafte) Sammlung von Daten, um Manager bei Entscheidungsprozessen zu unterstützen. (Inmon,W.H.; Hackethorn,R.D.) Ein Data Warehouse ist eine physische Datenbank, die eine integrierte Sicht auf (beliebige) Daten darstellt, um Analysen zu ermöglichen. (Bauer,A., Günzel,H.) Ein Data Warehouse ist ein physischer Datenbestand, der eine integrierte Sicht auf die zugrundeliegenden Datenquellen ermöglicht. (Zeh,T.)

49 Republic of South Africa Konzepte temporaler DB 49 Data Warehouse: Konzept Das Data Warehouse ist ein unternehmensweites Konzept zur effizienten Bereitstellung und Verarbeitung entscheidungsorientierten Daten.

50 Republic of South Africa Konzepte temporaler DB 50 Data Warehouse: Architektur Unternehmensinterne und –externe Transaktionsorientierte Daten Datenschnittstellen Archivierungs- system Benutzungsschnittstelle Datenbank Data Warehouse Abfrage- und Analysewerkzeuge Metadaten Basisdaten

51 Republic of South Africa Konzepte temporaler DB 51 Agenda Motivation Temporale Datenbanken Temporale Daten im Data Warehouse Der Begriff Data Warehouse Zeitbezogene Daten im Data Warehouse Entity- Relationship-Modelle Zeitbezogene Entity-Relationship-Modelle Entity- Relationship-Modelle im Data Warehouse Zeitbezogene Entity-Relationship-Modelle im Data Warehouse Zusammenfassung

52 Republic of South Africa Konzepte temporaler DB 52 Entity- Relationship-Modelle Das Entity-Relationship-Modell, kurz ER-Modell oder ERM, dient dazu, im Rahmen der Datenmodellierung die reale Welt semantisch präzise zu beschreiben, um sie in Tabellen und Beziehungen innerhalb einer Datenbank abbilden zu können. Das ER-Modell besteht aus drei charakteristischen Komponenten: Gegenstand (Entity): Bezeichnung für die Objekte der realen Welt, sprich Entitäten (z. B. Angestellter, Artikel, Rechnungsdatum). Beziehung (Relationship): Bezeichnung für die Beziehungen von verschiedenen Gegenständen zueinander (z. B. kaufen, arbeiten, bezahlen). Attributen: Nähere Beschreibung der Entitäten und die Beziehungen.

53 Republic of South Africa Konzepte temporaler DB 53 Entity- Relationship-Modelle Symbole des ER-Diagramms Entitätsmenge Scwache Entitätsmenge Beziehungsmenge Schwache Beziehungsmenge Attribut Schlüsselattribut Abgeleitetes Attribut

54 Republic of South Africa Konzepte temporaler DB 54 Entity- Relationship-Modelle Bsp.: mn Bearbeitung ProjekteMitarbeiter Projekt# Projektname P# NameVorname Telefonnummer Srtaße WohnortGeburtsdatum Alter

55 Republic of South Africa Konzepte temporaler DB 55 Zeitbezogene Entity-Relationship-Modelle (0,*)(1,*) Bearbeitung ProjekteMitarbeiter Projekt# P# Name Geburtsdatum Besitz Mitarbeiter Version# Name P#Geburtsdatum (1,*)(1,1) Mitarbeiter- versionen Mitarbeiter- versionen Mitarbeiter Datum Name P#Geburtsdatum (1,*)(0,*) Zeit

56 Republic of South Africa Konzepte temporaler DB 56 Zeitbezogene Entity-Relationship-Modelle Bearbeitung Mitarbeiter Projekt# P#Geburtsdatum (0,*)(1,*) Projekte Name Mitarbeiter- versionen Zeit Datum (1,*) (0,*)

57 Republic of South Africa Konzepte temporaler DB 57 Entity-Relationship-Modelle im Data Warehouse Das Extended-Entity-Relationship-Modell (EER-Modell) stellt eine Erweiterung des Entity- Relationship-Modells dar. Die zentrale Erweiterung des Entity-Relationship-Modells ist in einer Klassifikation, d.h. einer Gruppierung von Entitätsmengen in neuen Mengen zu sehen. Hierbei wird zwischen Untermengen und Obermengen unterschieden. Die Obermenge und die Untermenge stehen zueinander in Beziehung, in sofern, dass jede Entität der Untermenge zugleich auch Element der Obermenge ist.

58 Republic of South Africa Konzepte temporaler DB 58 Entity-Relationship-Modelle im Data Warehouse

59 Republic of South Africa Konzepte temporaler DB 59 Zeitbezogene Entity-Relationship-Modelle im Data Warehouse

60 Republic of South Africa Konzepte temporaler DB 60 Zusammenfassung Temporale Datenbanken versprechen eine umfassendere Unterstützung der Zeitdomäne. es hat sich gezeigt, dass eine Beschränkung der Zeitdomäne auf ein diskretes Modell der Zeit und der alleinige Verwendung von Zeitpunkten, unter Vernachlässigung von Zeitintervallen und Zeitfolgen, praktikabler erscheint. Fragen In wieweit komplexere Zeitdomänen sowie die Berücksichtigung von Zeitfolgen zu realisieren sind? Was wären die Kompromisse die eingegangen werden müssten? nicht vollständig geklärt, wie Abfragen mit Duplikaterhaltung behandelbar sind.

61 Republic of South Africa Konzepte temporaler DB 61 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "Konzepte temporaler Datenbanken Taoufik Saissi Hassani."

Ähnliche Präsentationen


Google-Anzeigen