1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
/* Creation de la table de notes avec les libéllés externalisés */
create table #notes (id_note int, libelle char(20), code_langue varchar(3))
insert into #notes values (1, 'Insuffisant','FR')
insert into #notes values (2, 'Moyen','FR')
insert into #notes values (3, 'Bien','FR')
insert into #notes values (4, 'TB','FR')
insert into #notes values (5, 'Excellent','FR')
go
/* Creation de la table des notations, avec references vers la table des notes */
create table #notations (id_client int, id_voyage int, id_note1 int, id_note2 int, id_note3 int)
go
/* Creation de ma contrainte */
alter table #notations add constraint macontrainte check (id_note1 <= id_note2 or id_note1<=id_note3)
/* La regle fonctionnelle est a l'appreciation de l'utilisateur */
go
/* Insertion des données dans la table */
insert into #notations values (1,1,3 /* Note global Bien */, 4 /*Note satisfaction TB */, 3 /* Notes 3 a Bien*/)
/* Insertion OK car le postulat de départ est respecté a savoir la note globale est <= note 2 ou note 3 */
insert into #notations values (1,2,4 /* Note global TB */, 4 /*Note satisfaction TB */, 3 /* Notes 3 a Bien*/)
/* Insertion OK car le postulat de départ est respecté a savoir la note globale est <= note 2 ou note 3 */
insert into #notations values (1,3,5 /* Note global Excellent */, 4 /*Note satisfaction TB */, 3 /* Notes 3 a Bien*/)
/* Insertion NOK car le postulat de départ n'est pas respecté a savoir la note globale > note3*/ |
Partager