Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Nu Huyen Trang Pham
Projet NF17 td5 grps4
Commits
df6a29f9
Commit
df6a29f9
authored
Mar 26, 2019
by
Nu Huyen Trang Pham
Browse files
MLD ajouté
parent
82a7d63e
Changes
1
Hide whitespace changes
Inline
Side-by-side
MLD.md
0 → 100644
View file @
df6a29f9
#### Notes
Tous les attributs sont NOT NULL par défaut
Tous les héritages sont exclusifs
#### Relationnel
Client(#nom: string, #prenom: string, naissance: date, adresse: string, numero: varchar(10)) avec {(nom, prenom) KEY}
Assistant(#nom: string, #prenom: string, naissance: date, adresse: string, numero: varchar(10),specialite=>Classe(nomClasse)) avec {(nom, prenom) KEY}
Veterinaire(#nom: string, #prenom: string, naissance: date, adresse: string, numero: varchar(10), specialite=>Classe(nomClasse)) avec {(nom, prenom) KEY}
Classe(#nomClasse: string)
Espece(#nomEspece: string, nomClasse=>Classe)
Animal(#nom: string, poids: float, taille: float, naissance: date,
nom_client=>Client(nom), prenom_client=>Client(prenom), espece=>Espece(nom))
avec {poids > 0, taille > 0; naissance = (NULL OR date)}
Traitement(#nom:string, debut: date, dure:int, animal=>Animal(nom),
nom_veterinaire=>Veterinaire(nom),prenom_veterinaire=>Veterinaire(prenom)) avec {dure>0}
Medicament(#nom: string, description: string)
avec { la methode espece_autoriser() qui renvois
vrai si l'animal peut prendre le médicament }
Effet_secondaire(#code:varchar(6), description: string)
Medicament_Effet(#medicament=>Medicament(nom),#effet=>Effet_secondaire(code))
Espece_Medicament(#nomEspece=>Espece, #nomMolec=>Medicament)
Traitement_Medicament(#traitement=>Traitement(nom), #medicament=>Medicament(nom),nbjournalier: int)
#### Contraintes
Classe - Espece:
<nomClasse
NOT
NULL
>
AND Projection(Classe, nomClasse) = Projection(Espece, nomClasse)
Veterinaire - Traitement: Projection(Veterinaire, nom,prenom) = Projection(Traitement, nom_veterinaire, prenom_veterinaire)
Dans la classe Client:
<
(
nom
,
prenom
)
NOT
NULL
>
AND Projection(Client, nom,prenom)=Projection(Animal,nom_client,prenom_client)
Animal:
<nomEspece
NOT
NULL
>
AND Projection(Espece,nomEspece)=Projection(Animal,nomEspece)
Projection(Medicament,nom)=Projection(Espece_Medicament,nomMolec) AND Projection(Espece,nomEspece)=Projection(Espece_Medicament,nomEspece)
Projection(Medicament,nom)=Projection(Traitement_Medicament,medicament) AND Projection(Traitement,nom)=Projection(Traitement_Medicament,traitement)
#### Vues
vPersonnel(
Union(
Projection(Assistant, nom, prenom, naissance, adresse, numero, specialite),
Projection(Veterinaire, nom, prenom, naissance, adresse, numero, specialite)
)
)
vPersonne(
Union(
Union(
Projection(Veterinaire, nom, prenom, naissance, adresse, numero, specialite)
Projection(Assistant, nom, prenom, naissance, adresse, numero, specialite)
}
Projection(Client, nom, prenom, naissance, adresse, numero)
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment