Commit a26aba2f authored by Gaetan Carabetta's avatar Gaetan Carabetta
Browse files

Update MLD

parent 80ab5e1a
......@@ -4,17 +4,33 @@ Tous les héritages sont exclusifs
#### Relationnel
Client(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY}
Assistant(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY}
Veterinaire(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY}
Client(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY, 0100000000 < numero < 0799999999 }
Assistant(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY, 0100000000 < numero < 0799999999 }
Veterinaire(#nom: string, #prenom: string, #ddn: date, adresse: string, numero: int) avec {(nom, prenom, ddn) KEY, 0100000000 < numero < 0799999999 }
PersonnelClasseEspece(#nomClasse=>ClasseEspece,
#nomVeto=>Veterinaire(nom), #prenomVeto=>Veterinaire(prenom), #ddnVeto=>Veterinaire(ddn),
#nomAssis=>Assistant(nom), #prenomAssis=>Assistant(prenom), #ddnAssis=>Assistant(ddn))
avec { ( (nomVeto, prenomVeto, ddnVeto) NULL AND (nomAssis, prenomAssis, ddnAssis) NOT NULL) OR
(nomVeto, prenomVeto, ddnVeto) NOT NULL AND (nomAssis, prenomAssis, ddnAssis) NULL)
) }
ClasseEspece(#nomClasse: string) avec {nomClasse = {Mammifères, Reptiles, Oiseaux ou Autres } }
ClasseEspece(#nomClasse: string)
Espece(#nomEspece: string, nomClasse=>ClasseEspece)
Animal(#nom: string, #poids: float, #taille: float, naissance: date, clientNom=>Client(nom), clientPrenom=>Client(prenom), clientDDN=>Client(DDN), especeNom=>Espece(nom)) avec {poids > 0, taille > 0; naissace = (NULL OR date)} avec {(nom, poids, taille) KEY}
Traitement(#idTraitement: int, nomAnimal=>Animal(nom), poids=>Animal(poids), taille=>Animal(taille), nomVeto=>Veterinaire(nom), prenomVeto=>Veterinaire(prenom), DDNVeto=>Veterinaire(DDN)) avec {idTraitement > 0}
Animal(#nom: string, #poids: float, #taille: float, naissance: date,
clientNom=>Client(nom), clientPrenom=>Client(prenom), clientDDN=>Client(DDN),
especeNom=>Espece(nom)) avec {poids > 0, taille > 0; naissace = (NULL OR date); (nom, poids, taille) KEY}
Traitement(#idTraitement: int,
nomAnimal=>Animal(nom), poids=>Animal(poids), taille=>Animal(taille),
nomVeto=>Veterinaire(nom), prenomVeto=>Veterinaire(prenom), DDNVeto=>Veterinaire(DDN)) avec {idTraitement > 0}
Medicament(#nomMolec: string, description: string)
Posologie(#idTraitement=>Traitement(idTraitement), #nomMolec=>Medicament(nomMolec), debut: date, duree: int, nbJourna: int, ) avec {debut > 0, duree > 0, nbJourna > 0}
Posologie(#idTraitement=>Traitement(idTraitement), #nomMolec=>Medicament(nomMolec),
debut: date, duree: int, nbJourna: int) avec {debut > 0, duree > 0, nbJourna > 0}
#### Contraintes
Projection(ClasseEspece, nomClasse) = Projection(Espece, nomClasse)
......
Supports Markdown
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