11.10
Compléments
281
© Dunod – La photocopie non autorisée est un délit.
create dbspace SP_VEHICULE;
create dbspace SP_CLIENT;
create table CLIENT ( NUMCLIENT char (12) not null,
NOM char (38) not null,
ADRESSE char (60) not null,
primary key (NUMCLIENT) )
in SP_CLIENT;
create table CONTRAT ( SIGNATAIRE char (12) not null,
NUMCTR char (8) not null,
TYPE char (12) not null,
DATESIGN date not null,
primary key (SIGNATAIRE,NUMCTR),
foreign key (SIGNATAIRE) references CLIENT )
in SP_CLIENT;
create table VEHICULE (NUMVEH char (16) not null,
MARQUE char (30) not null,
MODELE char (30) not null,
ANNEE decimal (4) not null,
CYLINDREE decimal (6) not null,
SIGNATAIRE char (12) not null,
NUMCTR decimal (8) not null,
NUMCLIENT char (12) not null,
primary key (NUMVEH),
unique (SIGNATAIRE,NUMCTR),
foreign key (NUMCLIENT) references CLIENT,
foreign key (SIGNATAIRE,NUMCTR) references CONTRAT)
in SP_VEHICULE;
create table ACCIDENT (NUMACC char (10) not null,
DATEACC date not null,
MONTANT decimal (6),
primary key (NUMACC))
in SP_VEHICULE;
create table IMPLICATION (NUMVEH char (16) not null,
NUMACC char (10) not null,
primary key (NUMVEH,NUMACC),
foreign key (NUMVEH) references VEHICULE,
foreign key (NUMACC) references ACCIDENT )
in SP_VEHICULE;
create unique index XCLI_NUMCLI
on CLIENT(NUMCLI);
...
create index XIMPL_NUMV
on IMPLICATION(NUMV);
11.10 COMPLÉMENTS
11.10.1Les contraintes d’intégrité additionnelles
On sait que SQL ne prend en charge qu’un nombre restreint de contraintes d’intégrité, à savoir l’unicité (via les primary keys et le prédicat unique), l’intégrité référentielle (foreign key) et les colonnes obligatoires (not null). Les autres contraintes
se coderont à l’aide de prédicats (section 6.4), de déclencheurs (section 6.6) ou de
Précédent

- 281/436

Suivant