Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Bertha Wolske Geändert vor über 9 Jahren
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; };
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.