Membre émérite
Voici ce que donne le MCD avec la CIF :
Une autre CIF peut également être définie avec "Place" pour cible : en effet, pour un abonné et une séance, il ne peut y avoir qu'une place.
Si les 2 CIF sont implémentées, une clé alternative sera générée par
Looping dans le code SQL.
Membre régulier
Envoyé par
Paprick
Bonsoir,
La classe d'entités "Entrée" ne comprenant qu'une seule rubrique, votre solution est acceptable, mais plusieurs places étant concernées par la même entrée, la correction de votre professeur est préférable.
En effet, tel que vous l'avez modélisé, on pourrait avoir des divergences d'écriture sur le libellé de l'entrée ("Centre Balcon", "Centre du balcon", ...) : la correction qui vous est proposée permettra ainsi des requêtes plus fiables (par exemple, le nombre de personnes ayant emprunté une entrée donnée).
Merci pour cette précision. Je viens d'avancer dans le cours. C'est tout à fait possible de normaliser après sur le schema relationnel ? ou il vaut mieux le faire déjà sur le schéma entité-association ?
Envoyé par
Paprick
Non, il faut lire qu'il y a une réservation pour un abonné donné, sur une place donnée à une séance donnée.
Le problème, par contre, vient de la non irréductibilité de l'identifiant : la clé correspondante dans la table de la base de données ne sera pas minimale !
En effet, pour une place donnée à une séance donnée, il ne peut y avoir qu'un seul abonné : il faut donc rajouter une CIF ayant pour cible la classe d'entités "Abonné".
Sur ce point, la correction qui vous a été fournie n'est pas correcte.
Pour le CIF, il n'est pas vu dans les différents cours que j'ai pu avoir, c'est peut être pour cela que c'est simplifié. Par curiosité et perfectionnisme, je vais jeter un œil à l'occasion.
Enfaite, pour une association ternaire, il faut partir de l'association et la décomposer. On ne peut pas partir de chaque types entités par regroupement des ensembles comme on le ferai pour une association binaire ?
Par exemple, on peut dire qu'une place contient une et une seule catégorie, et une catégorie peut être contenu dans plusieurs places différentes. Ce raisonnement à partir des entité n'est pas possible avec des relation ternaire ?
Envoyé par
Paprick
Le sujet indique : "Pour une séance d’un spectacle, les prix à payer sont identiques pour toutes les places d’une catégorie".
Le prix dépend donc bien de la séance et de la catégorie.
Donc, à part la CIF manquante au niveau de l'association "réserver", la correction de votre professeur est correcte.
Mon plus gros problème, ne pas lire en profondeur
Modérateur
Bonjour bbsebb
Envoyé par
bbsebb
Merci pour cette précision. Je viens d'avancer dans le cours. C'est tout à fait possible de normaliser après sur le schema relationnel ? ou il vaut mieux le faire déjà sur le schéma entité-association ?
C'est possible mais pas souhaitable. D'une part déroger d'emblée aux formes normales dès le MCD est une erreur, d'autre part c'est risqué, car à chaque modification du MCD, il faudra penser à modifier manuellement le MLD qui en découle.
L'inverse est parfois utile : normaliser au niveau MCD puis dénormaliser à la marge dans le modèle tabulaire
Pensez à passer le sujet à "résolu" quand ce sera le cas
Membre émérite
Bonjour,
Envoyé par
bbsebb
Merci pour cette précision. Je viens d'avancer dans le cours. C'est tout à fait possible de normaliser après sur le schema relationnel ? ou il vaut mieux le faire déjà sur le schéma entité-association ?
Il est toujours préférable de modéliser de manière exhaustive au niveau conceptuel, surtout lorsque le formalisme le permet (en particulier pour les CIF).
Les modifications au niveau du schéma relationnel doivent se limiter à des optimisations techniques ou à la mise en œuvre de contraintes non décrites dans le MCD.
Bonne continuation !
Membre régulier
+ Répondre à la discussion
Cette discussion est résolue.
Discussions similaires
-
Réponses: 1
Dernier message: 28/12/2020, 14h55
-
Réponses: 5
Dernier message: 24/11/2015, 08h23
-
Réponses: 19
Dernier message: 23/05/2007, 18h03
-
Réponses: 6
Dernier message: 21/10/2003, 16h21
-
Réponses: 4
Dernier message: 09/07/2003, 16h47
Partager