SQL-Skript für Kapitel 13 und 14
create table reihen(
id int generated always as identity primary key,
name varchar(30) not null unique
);
create table alben(
reihe int references reihen,
titel varchar(30),
band int check(band>=0),
preis decimal(4,2) check(preis>=0),
jahr int,
primary key(reihe, band)
);
create table autoren(
id int generated always as identity primary key,
name varchar(20) not null unique
);
create table albenautoren(
autor int not null references autoren,
reihe int not null,
band int not null,
foreign key(reihe, band) references alben,
primary key(autor, reihe, band)
);
insert into reihen(name) values('Gespenster Geschichten');
insert into reihen(name) values('Asterix');
insert into reihen(name) values('Tim und Struppi');
insert into reihen(name) values('Franka');
insert into reihen(name) values('Prinz Eisenherz');
insert into alben values( 1, 'Gespenster Geschichten', 1 ,1.20 ,1974 );
insert into alben values( 2, 'Asterix der Gallier', 1 ,2.80 ,1968 );
insert into alben values( 2, 'Asterix und Kleopatra', 2 ,2.80 ,1968 );
insert into alben values( 2, 'Asterix als Legionär', 10 ,3.00 ,null );
insert into alben values( 2, 'Die Trabantenstadt', 17, 3.80, 1974 );
insert into alben values(2, 'Der große Graben', 25, 5.00, 1980 );
insert into alben values( 3, 'Der geheimnisvolle Stern', 1, null, 1972 );
insert into alben values( 3, 'Tim und der Haifischsee', 23 ,null, 1973 );
insert into alben values( 4, 'Das Kriminalmuseum', 1,8.80,1985 );
insert into alben values( 4, 'Das Meisterwerk', 2, 8.80,1986 );
insert into autoren(name) values('Uderzo');
insert into autoren(name) values('Goscinny');
insert into autoren(name) values('Hergé');
insert into autoren(name) values('Kuijpers');
insert into autoren(name) values('Franquin');
insert into albenautoren values( 1,2,1);
insert into albenautoren values( 1,2,2);
insert into albenautoren values( 1,2,10);
insert into albenautoren values( 1,2,17);
insert into albenautoren values( 1,2,25);
insert into albenautoren values( 2,2,1);
insert into albenautoren values( 2,2,2);
insert into albenautoren values( 2,2,10);
insert into albenautoren values( 2,2,17);
insert into albenautoren values( 3,3,1);
insert into albenautoren values( 3,3,23);
insert into albenautoren values( 4,4,1);
insert into albenautoren values( 4,4,2);