Exercices Corrigés Traduction du modèle entité-association MEA vers le modèle relationnel Merise

Exercice1 : Gestion des emprunts dans une Bibliothèque
 




  • La date d'emprunt doit être inférieure à la date de retour.
  • La date d'emprunt doit être postérieure à la date d'achat.
  • Un livre ne peut être loué qu'une fois à un moment précis : il ne peut y avoir de recouvrement dans les dates pour la location d'un même livre.

Exercice 2 : Plats 
  
  • La quantité doit être strictement supérieure à zéro.


Exercice 3 : Université 



Exercice 4 : Analyse financière
   


  • La quantité d'actions dans un indice doit être strictement supérieure à zéro.
  • Cours minimum <= cours d'ouverture, cours de fermeture, <= cours maximum.
  • Les actions d'un indice appartiennent au même marché que l'indice.

Exercice 5 : Organisation d'un colloque
 
  
  • L'heure de présentation d'un article doit être comprise dans les heures de la session.
  • L'orateur d'un article doit être un auteur de cet article.
  • Un expert ne peut pas avoir le même employeur que celui d'un auteur d'un article qu'il évalue.
  • Un président de session ni un orateur ne peuvent être au même moment à deux sessions.
  • Deux articles ne peuvent pas être présentés à la même session à la même heure.
           

-----------------------------------------------------------------------------------------------------
Correction
-----------------------------------------------------------------------------------------------------
 
Bases de données

Traduction du modèle entité-association vers le modèle relationnel

Corrections

Exercice 1 : Bibliothèque

Client(SSN, Nom, Prénom, AdRue, AdNuméro, AdCodePostal, AdVille)

Emprunt(Numéro, SSN, ISBN, DateEmprunt, DateRetour)
  SSN reference Client.SSN
  ISBN reference LIvre.ISBN

Livre(ISBN, Titre, DateAchat)

LivreAuteur(ISBN, Auteur)
  ISBN référence Livre.ISBN

  • Emprunt.DateEmprunt < Emprunt.DateRetour
  • Pour l'emprunt d'un livre, Emprunt.DateEmprunt >= Livre.DateAchat
  • Pour tous les emprunts d'un même livre, il ne peut y avoir de recouvrement dans les dates.
 
Exercice 2 : Plats

Plat(Nom, Origine)

Ingredient(Nom, Unité)

Contient(NomPlat, NomIngredient, Quantité)
  NomPlat reference Plat.Nom
  NomIngredient reference Ingredient.Nom

  • Contient.Quantité >= 1

Exercice 3 : Université

Professeur(Matricule, Titre, Nom, Prenom, AdRue, AdNuméro, AdCodePostal, AdVille)

Cours(Mnémonique, Professeur, Intitulé, Résumé)
  Professeur reference Professeur.Matricule

Filière(Code, Nom, Professeur)
  Professeur reference Professeur.Matricule

Etudiant(Matricule, Nom, Prenom, AdRue, AdNuméro, AdCodePostal, AdVille, Filière)
  Filière reference Filière.Code

EtudiantCours(Matricule, Mnémonique)
  Matricule reference Etudiant.Matricule
  Mnémonique reference Cours.Mnémonique

  • Professeur est unique dans la relation Filière (un professeur peut diriger au maximum une filière)
  • Pour tout Etudiant.Matricule, il existe au moins un EtudiantCours.Matricule (un étudiant suit au moins un cours)
  • Pour tout Filière.Code, il existe au moins un Etudiant.Filière  (une filière possède au moins un étudiant)


Exercice 4 : Analyse financière

Première solution
 
Actualité(Lien, Titre, Source, Date, Description)
 
ProduitFinancier(Code, Nom, MNom, MVille, MPays, Type)
  ProduitFinancier.(MNom, MVille, MPays) référence Marche.(Nom, Ville, Pays)
 
ActualitéProduit(Lien,Code)
  Lien reference Actualite.Lien
  Code reference ProduitFinancier.Code
 
Marché(Nom, Ville, Pays, Devise)

Cours(Code, Date, Volume, CoursO, CoursF, CoursMin, CoursMax)
  Code reference ProduitFinancier.Code (où ProduitFinancier.Type == "Action")
 
Compose(CodeIndice, CodeAction, Quantité)
  CodeIndice reference ProduitFinancier.Code (où  ProduitFinancier.Type == "Indice")
  CodeAction reference ProduitFinancier.Code (où  ProduitFinancier.Type == "Action") 
 
  • Pour tout Actualité.Lien, il existe au moins un ActualitéProduit.Lien (une actualité concerne au moins un produit)
  • Pour tout Marché.(Nom, Ville, Pays), il existe au moins un  ProduitFinancier.(MNom, MVille, MPays) (un marché contient au moins un produit)
  • ProduitFinancier.Type est soit "Indice" soit "Action"
  • Pour un cours, CoursMin <= (CoursO, CoursF) <= CoursMax
  • Pour tout ProduitFinancier.Code où Type = "Action", il existe au moins un Cours.Code (une action a au moins un cours)
  • Un CodeIndice apparaissant dans Compose y apparaît au moins deux fois.
  • Compose.Quantité >= 1
  • Pour tout tuple dans la relation Compose, CodeIndice et CodeAction référencent des produits d'un même marché.

Deuxième solution
 
Actualité(Lien, Titre, Source, Date, Description)

ActualitéProduit(Lien,Code)
  Lien reference Actualite.Lien
  Code reference ProduitFinancier.Code
 
Marché(Nom, Ville, Pays, Devise)
 
ProduitFinancier(Code, Nom, MNom, MVille, MPays)
  ProduitFinancier.(MNom, MVille, MPays) référence Marche.(Nom, Ville, Pays)
  
Action(Code)
  Code reference ProduitFinancier.Code
 
Indice(Code)
  Code reference ProduitFinancier.Code
 
Cours(Code, Date, Volume, CoursO, CoursF, CoursMin, CoursMax)
  Code reference Action.Code
 
Compose(CodeIndice, CodeAction, Quantité)
  CodeIndice reference Indice.Code
  CodeAction reference Action.Code
  
  • Pour tout Actualité.Lien, il existe au moins un ActualitéProduit.Lien (une actualité concerne au moins un produit)
  • Pour tout Marché.(Nom, Ville, Pays), il existe au moins un ProduitFinancier.(MNom, MVille, MPays) (un marché contient au moins un produit)
  • Pour un cours, CoursMin <= (CoursO, CoursF) <= CoursMax
  • Pour tout Action.Code, il existe au moins un Cours.Code (une action a au moins un cours)
  • Action.Code est différent de tous les Indice.Code
  • Un CodeIndice apparaissant dans Compose y apparaît au moins deux fois.
  • Compose.Quantité >= 1
  • Pour tout tuple dans la relation Compose, CodeIndice et CodeAction référencent des produits d'un même marché.
  • Pour tout ProduitFinancier.Code, il existe soit un Action.Code soit un Indice.Code
 
Exercice 5 : Organisation d'un colloque
 
Personne(SSN, nom, adresse, employeur)
 
Expert(SSN, titre, email, tel, fax)
  Expert.SSN référence Personne.SSN
 
Auteur(SSN, titre)
  Auteur.SSN référence Personne.SSN
 
AuteurPrincipal(SSN, email, tel, fax)
  AuteurPrincipal.SSN référence Auteur.SSN
 
Orateur(SSN, CV)
  Orateur.SSN référence Auteur.SSN
 
Article(titre, nbPages, AuteurPrincipal)
  AuteurPrincipal référence AuteurPrincipal.SSN
 
ArticleMot(titre, mot)
  titre reference Article.titre
 
ArticleAccepté(titre, heure, orateur, thème, dateJour, dateMois, dateAnnée, dateHeureDebut, dateHeureFin)

  titre reference Article.titre
  orateur référence Orateur.SSN
  thème, dateJour, dateMois, dateAnnée, dateHeureDebut, dateHeureFin référence Session.thème, dateJour,  dateMois, dateAnnée, dateHeureDebut, dateHeureFin
   
Contribue(titre, auteur)
  titre référence Article.titre
  auteur référence Auteur.SSN
   
Evaluation(expert, titre, note)
  expert référence Expert.SSN
  titre référence Article.titre
  
Session(thème, dateJour, dateMois, dateAnnée, dateHeureDebut, dateHeureFin,  président)
  président référence Personne.SSN
  
  • Pour tout AuteurPrincipal.SSN, il existe au moins un Article.AuteurPrincipal
  • Pour tout Orateur.SSN, il existe au moins un ArticleAccepté.orateur
  • Pour tout Session.thème, dateJour, dateMois, dateAnnée, dateHeureDebut, dateHeureFin, il existe au moins un ArticleAccepté.thème, dateJour, dateMois, dateAnnée, dateHeureDebut, dateHeureFin
  • Pour tout Auteur.SSN, il existe au moins un Contribue.auteur
  • Un titre apparaît au plus trois fois dans la relation Evaluation
  • Pour tout Expert.SSN, il existe au moins un Evaluation.expert
  • Pour la Session d'un ArticleAccepté, ArticleAccepté.heure est compris entre Session.DateHeureDébut et Session.DateHeureFin
  • Pour un même Article.titre, ArticleAccepté.orateur doit être parmi Contribue.auteur
  • Pour un Article.titre, Evaluation.expert ne peut avoir le même employeur (personne.employeur) que Contribue.auteur.
  • Deux ArticleAccepté de la même sesion ne peuvent être présentés à la même heure
  • Pour un Session.président, il ne peut y avoir deux sessions au même moment
  • Pour un ArticleAccepté.orateur, il ne peut y avoir deux sessions au même moment
               

Article plus récent Article plus ancien

Leave a Reply