Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 1 6.4.2 C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,

Ähnliche Präsentationen


Präsentation zum Thema: "RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 1 6.4.2 C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,"—  Präsentation transkript:

1 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 1 6.4.2 C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String, d_Interval, d_Date, d_Time, d_Timestamp, d_Boolean (keine eingebaute C++ Typen) Sammlungsklassen (container classes) d_Set, d_Bag, d_List, d_Varray (variables Feld) Folgende eingebaute C++-Datentypen werden ebenfalls unterstützt: d_Short, d_Long, d_UShort, d_ULong, d_Float, d_Double, d_char, d_Octet wobei für diese Typen im Gegensatz zu normalen eingebauten C++- Typen der Wertebereich und die Interpretation auf allen Plattformen gleich sind.

2 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 2 6.4.2 C++-ODL (2/6) zusätzliche Klassen: - Generische Hilfsklassen d_Ref, für Referenzen auf persistente Objekte - d_Rel_Ref, d_Rel_Set, d_Rel_List zur Deklaration von Beziehungspfaden bidirektionale Beziehung M = Pfadangabe: konstante Zeichenkette entspricht dem Attributnamen auf der anderen Seite der Beziehung. Bsp.: class Kunde: public Person {... d_Rel_Ref ist_Mitarbeiter_von;... };

3 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 3 6.4.2 C++-ODL (3/6) - Existiert zwischen zwei Objekten eine Beziehung und ein Objekt wird gelöscht, dann existiert danach die Beziehung nicht mehr und der inverse Pfad wird gelöscht. - Klasse d_Object, stellt Operationen zum Laden, Speichern persistenter Objekte zur Verfügung. - Generische Klasse d_Extent zur Bereitstellung von Extensionen

4 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 4 6.4.2 C++-ODL (4/6) Schema kann in C++ spezifiziert werden Syntax von C++ wird nicht erweitert Datenbank steht als Klassenbibliothek zur Verfügung Bidirektionale Beziehungen sind über Template-Klassen realisiert Persistenz wird durch Vererbung bereitgestellt Schlüssel werden nicht unterstützt

5 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 5 6.4.2 C++-ODL (5/6) Beispiel 6-4: Klasse Kunde const char_Arbeitgeber[] = “Arbeitgeber“; const char_Debitor[] = “Debitor“; const char_Teilnehmer[] = “Teilnehmer“; class Kunde: public Person // Oberklasse // erbt von dort // die Eigenschaften // von d_Object { public: // Operationen zur Erzeugung eines Kunden Kunde(); Kunde(d_String PersNr,..., d_String umsatz, d_String ort); // Operationen zum Löschen eines Kunden virtual ~Kunde();

6 RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 6 6.4.2 C++-ODL (6/6) protected: d_StringUmsatz; d_StringOrt; // Bidirektionale-Relationen d_Rel_Ref ist_Mitarbeiter_von; d_Rel_Set ist_Debitor_von; d_Rel_Set ist_Teilnehmer_von; };


Herunterladen ppt "RelationentheorieObjektorientierte Datenbanken  AIFB SS2001 1 6.4.2 C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,"

Ähnliche Präsentationen


Google-Anzeigen