Commit 9b910aa0 authored by Evenson Jeunesse's avatar Evenson Jeunesse
Browse files

Delete MLD.txt

parent b7e2018d
Note: tous les attributs sont NOT NULL par défaut
Note: Les jointures sont des jointures internes
//Des personnes peuvent partager un même numéro de télephone (redirection numero en local), ce dernier peut être amené à changer.
//Pour des raisons de practicité, on ajoute donc une clef artificielle
//On choisit l'héritage par les classes filles car la classe mère est abstraite et n'a aucune relation avec d'autres classes
Clients(telephone:int, #nom:varchar(50), #prenom:varchar(50),#date_naissance:date, adresse:varchar(255))
<telephone 100000000<telephone<999999999>
Veternaires(telephone:int, #nom:varchar(50), #prenom:varchar(50),#date_naissance:date, adresse:varchar(255), specialité=>Classes(nom))
<telephone 100000000<telephone<999999999>
Assistants(telephone:int, #nom:varchar(50), #prenom:varchar(50),#date_naissance:date, adresse:varchar(255), specialité=>Classes(nom))
<telephone 100000000<telephone<999999999>
Classes(#nom:varchar)
Especes(#nom:varchar, classe=>Classes(nom))
//les attributs ne suffisent pas pour attribuer une clef à Animaux donc on ajoute une clef artificielle
Animaux(#id:int, nom:varchar(30), dernierPoids:int, derniereTaille:int, date_naissance:int, espece=>Especes(nom))
<(date_naissance >= 1900 AND date_naissance <= Annee actuelle) OR NULL>
<dernierPoids > 0 AND derniereTaille > 0>
//un animal peut avoir plusieurs clients comme proprietaires, un client peut avoir plusieurs animaux
Proprietaires(#client_nom=>Clients(nom),#client_prenom=>Clients(prenom),#client_date_naissance=>Clients(date_naissance), #animal=>Animaux(id))
Medicaments(#nomMolecule:varchar, effets:varchar)
Autorise(#medicament=>Medicament(nomMolecule), #espece=>Espece(nom))
//Pour eviter l'ensemble des attributs comme clef, on preferera une clef artificielle pour faciliter les clefs étrangères --->
Traitements(#id:int, nom:varchar, debut:date, duree:time, #veterinaire_nom=>Veterinaires(nom),#veterinaire_prenom=>Veterinaires(prenom),#veterinaire_date_naissance=>Veterinaires(date_naissance), animal=>Animaux(id))
<duree > 0 AND date >= Date Actuelle>
< (nom, debut, duree, veterinaire, animal) KEY >
Prescriptions(#traitement=>Traitements(id), #medicament=>Medicaments(nomMolecule), quantiteJour:int)
<quantiteJour > 0>
VUES /////////////////////////////////////////////////////////////////////////
vClient = Projection(Clients, telephone, nom, prenom, date_naissance)
vPersonnel = Projection (Union(Veterinaires,Assistants), telephone, nom,prenom, date_naissance, specialite)
CONTRAINTES ////////////////////////////////////////////////////////////////////////
Intersection(vClient, vPersonnel) = NULL //le personnel ne peut pas etre client
Projection(Classes, espece) = Projection(Especes, nom)
//Les especes qui constituent les Classes sont les especes dans la table Especes
Projection(Animaux, id) = Projection(Proprietaires, animal)
//un animal a obligatoirement un propriétaire
Projection(Clients, nom,prenom,date_naissance) = Projection(Proprietaires, client_nom,client_prenom,client_date_naissance)
//chaque client est propriétaire d'un animal
Projection(Veterinaires, specialite) U Projection(Assistants, specialite) = Projection(Classes, nom)
//toute classe d'animal présente dans la BDD est une specialité pratiqué par le personnel
Projection(Prescriptions, traitement) = Projection(Traitements, id)
//chaque traitement possède au moins une prescription pour un medicament
Projection(Medicaments, nomMolecule) = Projection(Autorise, medicament)
//Tout medicament dans la BDD doit au moins être autorisé pour une espèce d'animal
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