Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Polymorphe Konsistenzbedingungen (1)
Bedingung 1: Schlüsselbedingung. Mit der auf Skalierbarkeit zugeschnittenen Konstruktion der Extension geht ein key-Konstruktor einher, mit dem sich innerhalb einer Extension eine Schlüsseleigenschaft für strukturierte Objekte durchsetzen läßt. key ::= Extent (2sel2Literaltyp) Objekttyp Ziel: Bessere Handhabbarkeit der Eindeutigkeit von Tupeln in Extension dadurch dass zur Feststellung der Eindeutigkeit die Kenntnis der Werte unter ausgewählten Attributen genügt.
2
Polymorphe Konsistenzbedingungen (2)
Schlüsselbedingungen können durch Angabe einer key-Spezifikation formuliert werden: class Ticket (key ticketNr) { attribute string ticketNr, Kunde inhaber; } Beachte: Objekt-Identifikator ist separat von ticketNr-Wert (letzterer kann sich ändern, ersterer nicht).
3
Polymorphe Konsistenzbedingungen (3)
Bedingung 2: Erlaubt referenzielle Konsistenz zwischen zwei Objekttypen, indem man ein ref-Attribut als relationship spezifiziert. relationship ::= Objekttyp Objekttyp Zweiseitige referentielle Konsistenz zwischen zwei Objekttypen erhält man, indem man in beiden Typen dem relationship-Konstrukt eine inverse-Angabe hinzu fügt, die das relationship-Konstrukt in der jeweils anderen Klasse benennt. Nur zweistellige Beziehungen können spezifiziert werden.
4
Polymorphe Konsistenzbedingungen (4)
Semantik ist die der Mengeninklusion. Beispiel: 1:n-Beziehung zwischen Klassen Tickets einerseits sowie Kunde und Buchung andererseits: class Ticket { attribute string ticketNr; relationship Kunde inhaber inverse Kunde::tickets; relationship Set<Buchung> buchungen inverse Buchung::ticket; void buche (in Flug flug, in date datum, in string platzCode); void storniere (in string flugNr, in date datum);};} }
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.