module longDemoInteractive ../bin/sunos4/tycoon -store om1TracyTransIc (* 1.) Aenderung einer benutzerdefinierten Integritaetsbedingung *) (* mit Store om1Tracy *) (* Integritaetsbedingung verletzt *) let packageTour22 = packageTour.create(tuple 22 tuple "Scotland" end record let start = dateDef.new( 24 9 1994) let till = dateDef.new(30 9 1994) end tuple "Fife" end tuple "St. Andrews" tuple "Fife" end end tuple "Rufflets Country House Hotel" tuple "Fife" end tuple "St. Andrews" tuple "Fife" end end end record let forth = tuple "Lufthansa" 2268 "Saturday" end let back = tuple "Lufthansa" 2168 "Saturday" end end end); (* mit neuem Store om1TracyTransIc, neu generierte Integritaetsbedingungen *) let packageTour22 = packageTour.create(tuple 22 tuple "Scotland" end record let start = dateDef.new( 24 9 1994) let till = dateDef.new(30 9 1994) end tuple "Fife" end tuple "St. Andrews" tuple "Fife" end end tuple "Rufflets Country House Hotel" tuple "Fife" end tuple "St. Andrews" tuple "Fife" end end end record let forth = tuple "Lufthansa" 2268 "Saturday" end let back = tuple "Lufthansa" 2168 "Saturday" end end end); (* PackageTour kann erzeugt werden *) (* 2.) Transaktionsdemo *) (* mit Store om1TracyTransIc *) tracyTrans.deleteHotel(tuple "Calypso" tuple "WestCrete" end tuple "Chania" tuple "WestCrete" end end end dateDef.new(10 4 1993)); actualizedTour.lookup(tuple 1302 end); (* geloescht, da Reisebeginn vor dem 10.4. *) let actualizedTour1101 = actualizedTour.lookup(tuple 1101 end); packageTour.getTourNo(actualizedTour.getPackageTour(actualizedTour1101)); (* Ergebnis 14, da ActualizedTour1101 jetzt auf PackageTour14 zeigt *) let actualizedTour1303 = actualizedTour.lookup(tuple 1303 end); hotel.getName(packageTour.getHotel(actualizedTour.getPackageTour(actualizedTour1303))); (* Ergebnis: Atrion, da ActualizedTour 1303 jetzt auf PackageTour 16 zeigt, die das Hotel Atrion enthaelt *) packageTour.lookup(tuple 11 tuple "Greece" end end); (* nicht mehr vorhanden, geloescht, da Hotel Calypso nicht mehr vorhanden *) tour.lookup(tuple 11 tuple "Greece" end end); (* vorhanden, da nur PackageTour, nicht aber Tour geloescht wird *) hotel.lookup(tuple "Calypso" tuple "WestCrete" end tuple "Chania" tuple "WestCrete" end end end); (* Hotel ist nicht mehr in Klassenextension, wurde geloescht *)