Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
ODL-Spezifikation von Kunde
class Kunde (extent Kunden key name) { struct TelNr {string vorwahl, anschluss;}; attribute string name; attribute TelNr telefon; relationship Set<Ticket> tickets inverse Ticket::inhaber; Ticket neuesTicket (); void storniere (in Ticket ticket);}; Bemerkungen: Telefonnummer wurde hier in Vorwahl und Anschluss aufgespalten und als strukturierte Sorte abgebildet. Im relationalen Modell wäre dies nur mit getrennten Attributen Vorwahl und Anschluss möglich.
2
ODL-Spezifikation von Ticket
class Ticket (extent Tickets key ticketNr) { 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);}; Bemerkungen: Beziehung zwischen Tickets und Kunden sowie zwischen Ticket und Buchung als relationship modelliert. Vergleiche dazu relationales Modell, wo foreign key und references denselben Effekt hatten.
3
ODL-Spezifikation von Buchung
class Buchung (extent Buchungen key ticket, flug) { attribute Flug flug; attribute date datum; attribute string platzCode; relationship Ticket ticket inverse Ticket::buchungen; void neuerSitzplatz (in string platzcode);}; Bemerkungen: Zusammen mit der Vereinbarung von Ticket: Zweiseitige referenzielle Konsistenz zwischen Ticket und Buchung. Verweis auf Flug wurde aus Effizienzgründen als Attribut modelliert (andernfalls müsste Klasse Flug Rückwärts-Verweise auf alle existierenden Buchungen enthalten).
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.