Probleme de cardinalite
cobra13
-
Breub62 Messages postés 3452 Statut Membre -
Breub62 Messages postés 3452 Statut Membre -
Bonjour,
voila j'ai un petit soucis, je vais essaye d'être clair !! lol
j'ai 2 tables, la première MALADIE et la seconde PIERRE.
- Une maladie peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs maladie
- une pierre peut guérir plusieurs maladies !
Que dois je faire pour quand j'interroge les tables il me sorte pour une pierre toutes les maladies qu'elle peut guérir ? Et vice et versa pour une maladie, toutes les pierres qui peuvent la guérir ?
Merci pour votre aide
voila j'ai un petit soucis, je vais essaye d'être clair !! lol
j'ai 2 tables, la première MALADIE et la seconde PIERRE.
- Une maladie peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs maladie
- une pierre peut guérir plusieurs maladies !
Que dois je faire pour quand j'interroge les tables il me sorte pour une pierre toutes les maladies qu'elle peut guérir ? Et vice et versa pour une maladie, toutes les pierres qui peuvent la guérir ?
Merci pour votre aide
6 réponses
Pour l'instant, je travaille avec un crayon et un papier ! lol
Sans plaisanterie, je suis au tout début de mon projet, et pour moi meurise est tres loin !
table PIERRE
code_pierre
Nom
table MALADIE
code_maladie
Nom
je voulais savoir comment modéliser les 2 tables entres elles car sans relation entre elles je me retrouve avec une cardinalite 1,n de chaque cote.
Comme je l'ai dit auparavant
- Une maladie peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs maladie
- une pierre peut guérir plusieurs maladies !
J'aurais d'autres tables ensuite qui suivront le même schéma
comme par exemple la table SIGNE (code_signe, Nom)
- Un signe peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs signes
Sans plaisanterie, je suis au tout début de mon projet, et pour moi meurise est tres loin !
table PIERRE
code_pierre
Nom
table MALADIE
code_maladie
Nom
je voulais savoir comment modéliser les 2 tables entres elles car sans relation entre elles je me retrouve avec une cardinalite 1,n de chaque cote.
Comme je l'ai dit auparavant
- Une maladie peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs maladie
- une pierre peut guérir plusieurs maladies !
J'aurais d'autres tables ensuite qui suivront le même schéma
comme par exemple la table SIGNE (code_signe, Nom)
- Un signe peut correspondre à plusieurs pierres
- une pierre correspond a plusieurs signes
En terme de MLD (Modèle Logique de Données) ta relation avec les cardinalités 1,n - 1,n donnera ça :
PIERRE(code_pierre, nom)
Clé primaire : code_pierre
MALADIE(code_maladie, nom)
Clé primaire : code_maladie
ETRE_EN_RELATION(code_pierre, code_maladie)
Clé primaire : code_pierre, code_maladie
Clés étrangères : code_pierre EN PROVENANCE DE PIERRE(code_pierre)
code_maladie EN PROVENANCE DE MALADIE(code_maladie)
Les clés étrangères sont des clés primaires dans d'autres tables. Ici, par exemple, code_pierre est la clé primaire de PIERRE, et sera une clé étrangère de ETRE_EN_RELATION.
Grâce à des requêtes SQL utilisant IN/NOT IN ou EXISTS (dans les conditions WHERE/AND/OR) tu pourras savoir quelle pierre correspond à quelles maladies et quels signes.
PIERRE(code_pierre, nom)
Clé primaire : code_pierre
MALADIE(code_maladie, nom)
Clé primaire : code_maladie
ETRE_EN_RELATION(code_pierre, code_maladie)
Clé primaire : code_pierre, code_maladie
Clés étrangères : code_pierre EN PROVENANCE DE PIERRE(code_pierre)
code_maladie EN PROVENANCE DE MALADIE(code_maladie)
Les clés étrangères sont des clés primaires dans d'autres tables. Ici, par exemple, code_pierre est la clé primaire de PIERRE, et sera une clé étrangère de ETRE_EN_RELATION.
Grâce à des requêtes SQL utilisant IN/NOT IN ou EXISTS (dans les conditions WHERE/AND/OR) tu pourras savoir quelle pierre correspond à quelles maladies et quels signes.
En fait la table PIERRE est la table centrale.
Au final, ce que je voudrais c'est que en interrogeant une pierre cela me donne tous les renseignements lui correspondant !
la pierre X correspond aux signes X, Y, Z ..., elle guérit la maladie X,Y,Z
Au final, ce que je voudrais c'est que en interrogeant une pierre cela me donne tous les renseignements lui correspondant !
la pierre X correspond aux signes X, Y, Z ..., elle guérit la maladie X,Y,Z
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donc la cle primaire de la table relation sera (code_pierre,code_maladie)
Tu parles de cles etrangeres ? c'est à dire ?
Tu parles de cles etrangeres ? c'est à dire ?
Une clé étrangère veut simplement dire que le code_pierre que tu trouve dans ta nouvelle table fait référence à la clé primaire de la table pierre.
Donc pour répondre à ta question tu auras 3 tables, avec 2 jointures à faire pour tes requêtes select. Pour connaitre les maladie que guérit un pierre donnée, il te suffit, par exemple, de sélectionner toutes les lignes de la nouvelle table où code_pierre='X'
Donc pour répondre à ta question tu auras 3 tables, avec 2 jointures à faire pour tes requêtes select. Pour connaitre les maladie que guérit un pierre donnée, il te suffit, par exemple, de sélectionner toutes les lignes de la nouvelle table où code_pierre='X'
Ainsi dans cette table c'est le couple pierre-maladie qui constitue une clé unique...