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
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)
Adherent(#IdCarte: string; login=>login)
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)
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)
CHECK(nationalite is NOT NULL)
Personnel (#login:string , nom: string, prenom: string, email: string, mdp: string, numeroTel: 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)
(nom,prenom) key
Personnel (#login:string, email =>EmailPersonnel, mdp: string)
CHECK(email is NOT NULL and mdp is NOT NULL)
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})
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
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 <> perdu)
(code,dateEmprunt) key
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)
CHECK(duree is NOT NULL and date de fin is NOT NULL)
ContributionDocument((#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> Document, typeC string, TypeDoc => Document)
CHECK(typeC is not NULL and TypeDoc is not NULL)
• ContributionDocument((#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> Document, typeC string)
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)))
(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