Merise MCD : comment modéliser ca : - SQL/NoSQL - Programmation
Marsh Posté le 10-08-2004 à 09:19:02
tu a deux entités :
VILLE(code_ville, nom_ville) clef principal code_ville
COURSE(numero_course) clef principal numero_course
et deux relations "a pour ville de depart" "a pour ville d'arrivée" ce qui aura pour consequence par la suite que tu aura deux clefs etrangeres dans ta table COURSE qui seront code_ville_depart et code_ville_arrivé mais ca n'apparait pas dans les entités de ton MCD (c est sous entendu par la relation) en fait. Les cardinalités sont 1-n (une seule ville de part/ d'arrivée par course, n courses pour une ville)
Marsh Posté le 10-08-2004 à 09:20:04
au passage pour etre pointilleux si deux villes ne peuvent pas avoir le meme nom, code_ville ne sert a rien.
Marsh Posté le 10-08-2004 à 09:25:04
Ok merci, c t evident mais je ne savais plus comment faire !
Marsh Posté le 17-08-2004 à 11:45:46
J'ai modélisé selon vos ton conseil et ca marche :
VILLE(code_ville, nom_ville) clef principal code_ville
COURSE(numero_course) clef principal numero_course
J'ai donc ds COURSE 2 clé etrangères : CODE_VILLE_DEPART et CODE_VILLE_ARRIVEE
Par contre j'ai un probleme lorsque je fais une requete sur COURSE. Ex :
SELECT * FROM COURSE,VILLE WHERE COURSE.CODE_VILLE_DEPART = VILLE.CODE_VILLE AND COURSE.CODE_VILLE_ARRIVEE = VILLE.CODE_VILLE
il ne me trouve rien comme resultat. Je pense que c normal il y a un pb avec le code ville ..
Vois tu ce que je veux dire ?
Merci
Marsh Posté le 17-08-2004 à 11:51:32
J'ai trouvé ..
Il suffit de rajouer une 2eme table "fictive" ds la clause "FROM"
Nvelle requete :
SELECT * FROM COURSE,VILLE,VILLE2 V2 WHERE COURSE.CODE_VILLE_DEPART = VILLE.CODE_VILLE AND COURSE.CODE_VILLE_ARRIVEE = V2.CODE_VILLE
Marsh Posté le 18-08-2004 à 11:13:43
Je me suis trompé il faut mettre 2 fois la meme table mais avec un alias pr la 2eme.
SELECT * FROM COURSE,VILLE,VILLE V2 WHERE COURSE.CODE_VILLE_DEPART = VILLE.CODE_VILLE AND COURSE.CODE_VILLE_ARRIVEE = V2.CODE_VILLE
Marsh Posté le 10-08-2004 à 09:03:10
J'ai un petit soucis je suis en train de réaliser un MCD et je bloque sur une contrainte.
Je vais prendre un exemple pr vs expliquer :
Admettons il y a une course d'une ville à une autre :
j'ai une entité "Course","ville"
Dans course je veux mettre la ville d'arrivée et la ville de départ
dc ca donne :
VILLE(code_ville,nom_ville)
COURSE(numero_course,code_ville_départ,code_ville_arrivée)
Je sais pas si vous voyez ce que je veux dire mais je pense pas que ca soit bien représenté au niveau du code_ville_depart et code_ville_arrivé car je peux pas relié les entités entre elle avec une association et des cardinalités.
Merci de votre aide !