Problème avec Merise - SQL/NoSQL - Programmation
Marsh Posté le 18-03-2008 à 11:23:05
Une association qui part de "Option" et qui va vers "Option" en cardinalité 0..n avec association "exclure".
Cela te crééera une table exclure contenant les id des options qui vont pas ensemble ?
Cela resoud ton problème ?
Marsh Posté le 18-03-2008 à 11:29:23
Donc pour toi on aura une réflexive sur l'entité option ?
Je vais y réfléchir. Ca m'as l'air correct.
Merci de ton aide.
Marsh Posté le 18-03-2008 à 11:42:19
Oui je ne vois pas d'autres solutions pour résoudre ton problème.
En imaginant la future BD il te faut un table qui donne pour un ID les ID qui sont exclus et cela pase par une reflexive AMHA.
Marsh Posté le 18-03-2008 à 12:23:32
Et l'entité Client je la relie quand même à l'entité option ?
Elle ne peut pas être reliée à l'association exclure ?
Marsh Posté le 18-03-2008 à 13:05:46
Oui
Non ca n'aurait pas de sens Exclure\date soucription\date résiliation
Marsh Posté le 18-03-2008 à 13:20:13
Merci beaucoup car je me cassais la tête avec ce problème depuis un petit bout de temps.
Par contre, du côté traitement même en ayant créé une table exclure avec la liste des options incompatibles, comment empêcher la saisie d'une souscription erronée à deux options voire trois ?
Marsh Posté le 18-03-2008 à 15:01:25
BD
EXCLURE : {id_opt1, id_opt2}
Traitement
$datesouscription, $opt1, $opt2, $opt3
SELECT * FROM EXCLURE WHERE id_opt1 = $opt1 AND (id_opt2 = $opt2 OR id_opt2 = $opt3)
-->
Si nbresultat>0 ALORS afficher erreur (avec des jointures et une requete un ^peu propre tu peut faire error : nom_opt1 incompatible avec nom_opt2)
Marsh Posté le 17-03-2008 à 09:17:37
Bonjour
Je dois écire sur papier un Modèle conceptuel de données.
J'ai un problème concernant le fait suivant.
Un client peut souscrire lorsqu'il le souhaite à une ou plusieurs options de téléphonie. La date de souscription doit être conservée. Si le client résilie une option, la date de résiliation doit également être conservée. Certaines options s'excluent les unes avec les autres.
Le système d'information doit stocker ces incompatibilités.
Par exemple le client ne peut pas souscrire à la fois à l'option appel illimité et à l'option mail.
Comment représenter cette contrainte dans le MCD ?
Je pensais à une cardinalité 0,n du côté client et une cardinalité 0,n du côté option avec une association souscrire dont les propriétés sont date de souscription et date de résiliation mais je n'arrive à intégrer cette incompatibilité entre options dans le MCD ou comment la représenter ?