Hallo zusammen,
ich hätte eine Frage zu folgender Situation: es liegt eine ternäre Beziehung "spielt (InstrumentenNR, MusikerNr, BandNr, von, bis) zwischen den Entities "Instrument", "Musiker", "Band", die Relation "spielt" hat den Primärschlüssel (InstrumentenNr,MusikerNr,BandNr), die natürlich als Fremdschlüssel auf Instrument(InstrumentenNr), Musiker(MusikerNr) bzw. Band(BandNr) verweisen, nun sollen folgende Fremdschlüssel constraints angelegt werden:
(1)ein Musiker kann nur gelöscht werden, wenn er nicht mehr in einer Band spielt,
(2)wird ein Instrument gelöscht, so soll an der entsprechenden Stelle in der Relation "spielt" NULL stehen
(3)wird eine Band gelöscht, soll das ganze Tupel in "spielt" gelöscht werden,
MusikerNr, InstrumentenNr und BandNr sind die Teile des Primärschlüssels, diese dürften doch niemals den Wert NULL bekommen, oder? also (2) ist meiner Meinung nach nicht möglich
(3) sollte mit on delete cascade gehen, oder?
und ist (1) möglich?
Über Rückmeldungen würde ich mich sehr freuen.
Viele Grüße!
ich hätte eine Frage zu folgender Situation: es liegt eine ternäre Beziehung "spielt (InstrumentenNR, MusikerNr, BandNr, von, bis) zwischen den Entities "Instrument", "Musiker", "Band", die Relation "spielt" hat den Primärschlüssel (InstrumentenNr,MusikerNr,BandNr), die natürlich als Fremdschlüssel auf Instrument(InstrumentenNr), Musiker(MusikerNr) bzw. Band(BandNr) verweisen, nun sollen folgende Fremdschlüssel constraints angelegt werden:
(1)ein Musiker kann nur gelöscht werden, wenn er nicht mehr in einer Band spielt,
(2)wird ein Instrument gelöscht, so soll an der entsprechenden Stelle in der Relation "spielt" NULL stehen
(3)wird eine Band gelöscht, soll das ganze Tupel in "spielt" gelöscht werden,
MusikerNr, InstrumentenNr und BandNr sind die Teile des Primärschlüssels, diese dürften doch niemals den Wert NULL bekommen, oder? also (2) ist meiner Meinung nach nicht möglich
(3) sollte mit on delete cascade gehen, oder?
und ist (1) möglich?
Über Rückmeldungen würde ich mich sehr freuen.
Viele Grüße!