Commit df6a29f9 authored by Nu Huyen Trang Pham's avatar Nu Huyen Trang Pham
Browse files

MLD ajouté

parent 82a7d63e
#### 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)
)
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