|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 16 ![]() |
Bonjour,
J'ai un petit soucis de conception sur une association. Je souhaite associer ma table image a elle meme par une relation 1:n dans le sens ou une image peut etre lier a plusieurs autres images. Je travaille sous dbdesigner mais javoue, je comprend pas trop ca logique a ce niveau... En effet il crée une clé sur idimage qui est l'identifiant de la table mais je ne vois pas comment l'association avec les autres images peut se faire dans ce cas... Ne devrait-il pas plutot y avoir une table secondaire pour faire la liaison image 1 lié à la 2 et 3 .... | IMAGE | |----------------------|----| Foreign key Image_FKindex sur image_idimage |IdImage_______|----| |Path__________| |Image_Idimage_| Je ne vois pas comment cette association peux marcher pour demander a quel image l une est associe. Est ce une erreur de generation de table ou alors tou simplement mon choix de relation ki nest pas bon. Merci pour vos conseils ou pour l'eclaircissement de cette situation ;-) Bonne journee |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
Il te faut en effet une table en plus, avec une clef primaire (image1,image2) pour savoir quoi est lié avec quoi.
|
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 16 ![]() |
Citation:
Merci pour ta reponse mirak63 |
|
|
|
00
|
|
|
#4 | |||
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Citation:
Exemple de requête pour avoir tes images liées : Code :
__________________
creapage.net |
|||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
Pour moi ce que tu lui proposes va vachement restreindre les possiblités de ce qu'il semble vouloir faire
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Soit la relation est 1:n soit elle est n:n. Que le lien soit entre deux tables différentes ou la même ne change rien. Tu ne vas pas créer une table intérmédiaire pour chaque relation 1:n sous prétexte de prévoir l'avenir non ?
__________________
creapage.net |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
Ben une relation 1:n pour moi ça veut pas dire grand chose car il manquerait la cardinalité minimale pour les liens.
En uml ou en entité associtation il faut au moins 4 nombres pour decrire entierement une relation. Donc là je sais pas si 1:n decrit les cardinalités max des deux cotés de la relation, ou alors seulement un seul coté avec le max et le min. Au vu de son message je penche plutot pour la deuxieme possibilité mais c'est pas vraiment clair. En fait avec le modele que tu proposes ça donne un graphe orienté avec des noeuds de degré sortant 1 au maximum. Comme il a plutot l'air de vouloir qu'une image puisse en referencer plusieurs, ça va coincer. Il pourra faire au maximum autant de liaisons qu'il a d'images. Faudrait qu'il clarifie ce qu'il veut vraiment faire. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
C'est juste. Je l'ai compris comme les deux cardinalités maximales. Le fait qu'une image puisse en référencer plusieurs ne signifie pas forcément qu'on serait de 1:n vers 1:n. La clef étrangère devra simplement s'appeler "image_id_est_referencee_par". Après si une image peut non seulement référencer plusieurs autre, mais aussi être référencée par plusieurs, là oui on serait en n<=>n.
__________________
creapage.net |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 16 ![]() |
Justement, une image peut en referencer plusieurs autres.
Pour le moment, une image n'est pas sensé êtrereferencé par plusieurs mais ce n'est peut etre pas à exclure. C'est pour ca que le choix d'une table qui référence les id comme par exemple imagereference_id et imageassocie_id me semble plus judicieux. Enfin dit moi si je me trompe.... Je pense que je me suis trompé donc dans la cardinalité de ma liaison si je considére maintenant qu'il est possible qu'on me demande qu'une image soit referencé par plusieurs autres. Sinon j'ai mal saisi ton principe laffreuxthomas, j'avoue que je maitrise pas trop cette notion et je vois pas comment lier et ensuite appeler les images à une seule dans le cas d'une relation 1:n par une clé etrangére. |
|
|
00
|
|
|
#10 | |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Citation:
__________________
creapage.net |
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
Ca n'a pas de rapport avec la question, mais j'etait en train de me demander si un association de n vers 1 etait possible.
|
|
|
00
|
|
|
#12 | |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Citation:
__________________
creapage.net |
|
|
|
00
|
|
|
#13 | ||
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
Citation:
Ca depend du sens semantique de l'asscotiation. Si on considere que c'est une référence y a un sens. D'ou ma question, savoir si ça a une signification dans ce cas. Bref c'etait juste une question |
||
|
|
00
|
|
|
#14 | ||
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Euh, j'ai pas compris.
Par exemple avec des groupes de travail, qui sont parfois parainés par un groupe plus ancien : Code :
Code :
SELECT Groupe_Id FROM Groupe WHERE Parain_Groupe_Ref = 6; Code :
SELECT Parain_Groupe_Ref FROM Groupe WHERE Groupe_Id = 12;
__________________
creapage.net |
||
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 79 ![]() |
bah n : 1 ça ferait : un group peu parainer plusieurs fois le même groupe.
C'etait le sens de ma question. A savoir la reelle signification de n : 1 dont je ne suis pas sur d'ailleurs. |
|
|
00
|
|
|
#16 | ||
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Allez spécialement pour toi, voici une table unique comportant à la fois une association de 1 vers n plus une association de n vers 1.
De 1 vers n : un groupe peut avoir un groupe parain. Donc un parain peut parainer plusieurs groupes. De n vers 1 : un groupe parain peut avoir un groupe parainé préféré. Code :
__________________
creapage.net |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com