Commit 62ef0cc1 authored by Ismail Merzougui's avatar Ismail Merzougui

Normalisation

parent b55f8f0e
Adherent( #IdCarte: string, nom: string, prenom: string, email: string, login: string, motdepasse: string, numeroTel: string, Blackliste?: boolean) (nom,prenom) key Adherent(#IdCarte: string; login=>login)
CHECK(nom is NOT NULL and prenom is NOT NULL and email is NOT NULL and login is NOT NULL and motdepasse is NOT NULL and numeroTel is NOT NULL and blackliste is NOT NULL) CHECK(login is NOT NULL)
CHECK(login is UNIQUE)
login(#login: string, email=>email, motdepasse: string, blackliste?: BOOLEAN)
CHECK(email is NOT NULL and motdepasse is NOT NULL and blackliste?: BOOLEAN)
CHECK(email is UNIQUE) CHECK(email is UNIQUE)
email(#email: string, nom: string, prenom: string, numeroTel: string)
CHECK(nom is not NULL and prenom is not NULL and numeroTel is NOT NULL)
Contributeur(#nom: string, #prenom: string, #dateDeNaissance: date ,nationalite: string) Contributeur(#nom: string, #prenom: string, #dateDeNaissance: date ,nationalite: string)
CHECK(nationalite is NOT NULL) CHECK(nationalite is NOT NULL)
Personnel (#login:string , nom: string, prenom: string, email: string, mdp: string, numeroTel: string) Personnel (#login:string, email =>EmailPersonnel, mdp: string)
CHECK(nom is NOT NULL and prenom is NOT NULL and email is NOT NULL and mdp is NOT NULL and numeroTel is NOT NULL) CHECK(email is NOT NULL and mdp is NOT NULL)
(nom,prenom) key
CHECK(email is UNIQUE) CHECK(email is UNIQUE)
EmailPersonnel(#email,nom: string, prenom: string, numeroTel: string)
CHECK(nom is NOT NULL and prenom is NOT NULL and numeroTel is NOT NULL)
Document(#code: string, titre: string, dateSortie: date, genre: string, langue: string, etat du document: {Bon,abime,neuf,perdu}, resume : string, editeur : string, Synopsis: string, ISBN: string, resume : string, duree : time, typeDoc:{Film,Musique,Livre}) Document(#code: string, titre: string, dateSortie: date, genre: string, langue: string, etat du document: {Bon,abime,neuf,perdu}, resume : string, editeur : string, Synopsis: string, ISBN: string, resume : string, duree : time, typeDoc:{Film,Musique,Livre})
CHECK(titre is NOT NULL and dateSortie is NOT NULL and genre is NOT NULL and langue is NOT NULL and ETAT is NOT NULL) CHECK(titre is NOT NULL and dateSortie is NOT NULL and genre is NOT NULL and langue is NOT NULL and ETAT is NOT NULL)
...@@ -16,16 +29,16 @@ CHECK( (typeDoc = Film and duree is NOT NULL and synopsis is NOT NULL) OR (typeD ...@@ -16,16 +29,16 @@ CHECK( (typeDoc = Film and duree is NOT NULL and synopsis is NOT NULL) OR (typeD
EmpruntDocument(#code => Document, Idcarte => Adherent,#dateEmprunt: date ,dateRetour: date, etat d’emprunt: {Bon, abime, neuf, perdu}, etat de retour: {Bon, abime, neuf, perdu}) EmpruntDocument(#code => Document, Idcarte => Adherent,#dateEmprunt: date ,dateRetour: date, etat d’emprunt: {Bon, abime, neuf, perdu}, etat de retour: {Bon, abime, neuf, perdu})
CHECK(etat d'emprunt is NOT NULL and typeD is NOT NULL and Idcarte is NOT NULL) CHECK(etat d'emprunt is NOT NULL and Idcarte is NOT NULL)
CHECK( etat d'emprunt <= etat de retour) CHECK( etat d'emprunt <= etat de retour)
CHECK( etat d'emprunt <> perdu) CHECK( etat d'emprunt <> perdu)
(code,dateEmprunt) key
PROJECTION(Document, code) INCLU dans PROJECTION(Contribution, code) (On s'assure que chaque document a au moins un contributeur) PROJECTION(Document, code) INCLU dans PROJECTION(Contribution, code) (On s'assure que chaque document a au moins un contributeur)
Sanction ( #type de sanction:string, #date de debut:date, duree: time, date de fin: date, #IdCarte => Adherent) Sanction ( #type de sanction:string, #date de debut:date, duree: time, date de fin: date, #IdCarte => Adherent)
CHECK(duree is NOT NULL and date de fin is NOT NULL) CHECK(duree is NOT NULL and date de fin is NOT NULL)
ContributionDocument((#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> Document, typeC string, TypeDoc => Document) • ContributionDocument((#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> Document, typeC string)
CHECK(typeC is not NULL and TypeDoc is not NULL) CHECK(typeC is not NULL)
CHECK( (TypeDoc = Livre and (typeC = auteur or typeC = editeur)) or (TypeDoc = Film and (TypeC = realisateur or TypeC = acteur)) or (TypeDoc = Musique and (TypeC = chanteur or TypeC = compositeur or TypeDoc = editeur))) CHECK( (TypeDoc = Livre and (typeC = auteur or typeC = editeur)) or (TypeDoc = Film and (TypeC = realisateur or TypeC = acteur)) or (TypeDoc = Musique and (TypeC = chanteur or TypeC = compositeur or TypeDoc = editeur)))
(TypeDoc doit être retrouvé avec le code du document)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment