Commit 8a56aee9 authored by Ismail Merzougui's avatar Ismail Merzougui

Mise au clair des contraintes

parent d3440cf6
Adherent( #IdCarte: string, nom: string, prenom: string, email: string, login: string, mot de passe: string, numeroTel: string, Blackliste?: boolean)
Contributeur(#nom: string, #prenom: string, #dateDeNaissance: date ,nationalite: string)
Contributeur(#nom: string, #prenom: string, #dateDeNaissance: date ,nationalite: string)
Personnel (#login:string , nom: string, prenom: string, email: string, mdp: string, numeroTel: string)
Film(#code: string, titre: string, dateSortie: date, genre: string, langue: string, etat du document: Etat, resume : string, longueurFilm : string)
Livre( #code: string, titre: string, dateSortie: date, editeur: string, genre: string, langue: string, etat du document: Etat, ISBN: string, resume : string )
Musique (#code: string, titre: string, dateSortie: date, editeur: string, genre: string, langue: string, etat du document: Etat, duree : time)
EmpruntLivre(#code => Livre, #Idcarte => Adherent,#dateEmprunt: date, duree: time ,dateRetour: date, dateLimite: date, etat d’emprunt: etat, etat de retour: etat)
EmpruntMusique(#code => Musique, #Idcarte => Adherent,#dateEmprunt: date,duree: time , dateRetour: date, dateLimite: date, etat d’emprunt: etat, etat de retour: etat)
EmpruntFilm(#code => Film, #Idcarte => Adherent,#dateEmprunt: date, duree: time, dateRetour: date, dateLimite: date, etat d’emprunt: etat, etat de retour: etat)
Sanction ( #type de sanction:string, #date de debut:date, duree: time, date de fin: date, #IdCarte => Adherent)
Document(#code: string, titre: string, dateSortie: date, genre: string, langue: string, etat du document: Etat, resume : string, editeur : string, Synopsis: string, ISBN: string, resume : string, duree : time, typeDoc:{Film,Musique,Livre})
ContributionLivre( (#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> livre, typeC string)
ContributionMusique( (#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> musique, typeC string)
ContributionFilm( (#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> film, typeC string)
EmpruntDocument(#code => Document, #Idcarte => Adherent,#dateEmprunt: date, duree: time ,dateRetour: date, dateLimite: date, etat d’emprunt: etat, etat de retour: etat, typeD: TypeDoc)
Sanction ( #type de sanction:string, #date de debut:date, duree: time, date de fin: date, #IdCarte => Adherent)
ContributionDocument((#nom, #prenom, #DateDeNaissance) => Contributeur, #code=> Document, typeC string, TypeDoc => Document)
Adherent: Attributs non nuls sauf nombre de sanction, login, email et numero uniques
Contributeur: Attributs non nul, multi value
Personnel: Attributs non nul, mail et numero unique
Film/Livre/Musique: Attributs non nul, Un Etat à la fois. Pour livre l'ISBN est unique et peut être nul.
EmpruntLivre/Musique/Film: Attributs non nul sauf date de retour et etat de retour. Le nombre d'emprunt ne peut exceder le maximum fixe.
Docu: Attributs non nuls sauf ceux spécifiques au classe fille: resume, Synopsis, ISBN, resume, duree etc .Un Etat à la fois. ISBN est unique.
Cependant, selon le type du document (Attribut typeDoc) certains sont obligatoires, par exemple un film doit forcément avoir une durée.
EmpruntDocument: Attributs non nul sauf date de retour et etat de retour. Le nombre d'emprunt ne peut exceder le maximum fixe.
La date d'emprunt doit être inferieur à la date de retour effective et la date limite.
Le couple (code,dateEmprunt) et (code,dateRetour) est unique (Un document ne peut avoir été emprunté 2 fois en même temps)
Aucune ligne ne doit réferer à un document qui est perdu à l'état d'emprunt
ContributionLivre/Musique/Film: TypeC non nul et unique
ContributionDocument: TypeC non nul et unique, TypeDoc non nul.
Etat: type enumere {Bon, abime, neuf, perdu} un seul etat possible à la fois, non nul
Sanction: Attributs non nuls.
Sanction: Attributs non nuls.
\ 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