Hallo,
Die folgenden Anweisungen sind aus dem Aufgabentext eines DBMS Übungsblattes. Bin mir aber im unklaren ob diese so korrekt sind.
Hätte zwei Fragen dazu:
1. Macht die Bedingung "constraint vname..." im table Tickets Sinn? Oder müsste dort foreign key(Veranstaltung) stehen?
2. Welchen Nutzen hat dieses "on update cascade" bei dem constraint vname? Es wäre doch "on delete cascade" sinvoller! Denn, wenn eine Veranstaltung entfällt, so sollten dann auch die zugehörigen Tickets erloschen.
Vg Erdal
Die folgenden Anweisungen sind aus dem Aufgabentext eines DBMS Übungsblattes. Bin mir aber im unklaren ob diese so korrekt sind.
Hätte zwei Fragen dazu:
1. Macht die Bedingung "constraint vname..." im table Tickets Sinn? Oder müsste dort foreign key(Veranstaltung) stehen?
2. Welchen Nutzen hat dieses "on update cascade" bei dem constraint vname? Es wäre doch "on delete cascade" sinvoller! Denn, wenn eine Veranstaltung entfällt, so sollten dann auch die zugehörigen Tickets erloschen.
Code:
create table Veranstaltung (
Veranstaltung varchar(100) not null primary key,
Datum date,
Ort varchar(100));
create table Tickets (
TicketNr integer not null primary key,
Preis decimal(10,2),
Veranstaltungsname varchar(100),
constraint vname
foreign key(Veranstaltungsname)
references Veranstaltung
on update cascade);
create table Verkauft (
TicketNr integer not null primary key,
KundenNr integer,
constraint ticket
foreign key(TicketNr)
references Tickets,
constraint kunde
foreign key(KundenNr)
references Kunde
on delete cascade);
create table Kunde (
KundenNr integer not null primary key,
Name varchar(100),
Wohnort varchar(100));
Vg Erdal