Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation > Schéma
Schéma Modélisation Relationnelle (Dépendances Fonctionnelles, Formes Normales, Entité-relation, MCD, MPD ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 11h41   #1
Membre du Club
 
Avatar de Jerome S
 
Homme Jérôme
Développeur informatique
Inscription : août 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 59
Points : 69
Points : 69
Par défaut Association élément unique-liste d'éléments

Bonjour,
Je m'approche de vous car j'ai besoin d'aide en conception de ma base de données. Je ne sais pas trop comment me dépatouiller. J'avais commencer à exposer mon problème ici mais ce n'était pas l'endroit adéquat.

Je reformule.
J'ai un table Personnage qui possède Nom, age, adresse, etc...
Chaque personnage possède une liste de musique préférées. Un personnage peut aimer 3 musique, un autre en aimera 10, et un 3eme 547850 (minimum de 1).
Si je ne me trompe pas :
Individu-(1, n)----AIMER-----(0, n)-musique
J'ai déja une table qui me répertorie toutes les musiques possibles.
Mais voilà, comment faire en sorte de modéliser cette relation ?
Au début, je comptait créer une table par individu, et dans cette table, mettre une FK dans Musique pour chaque musique qu'il aime. Mais j'ai comme l'impression que ca fait "barbare". J'ai regardé dans les tutos, la FAQ, mais soit j'ai mal cherché, soit je suis aveugle, soit je ne sais pas exactement ce que je cherche, soit... ok je sors !
Comment modéliser cela s'il vous plait ? Merci !

P.S : Le titre de la disscussion n'est absolument pas parlant. Si vous avez de meilleures idées, je suis preneur.
Jerome S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h50   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
Bonjour,

pour compléter ce que j'avais écrit, lisez ceci : http://blog.developpez.com/cinephil/...ive/#more10017
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 06/01/2012, 11h57   #3
Membre du Club
 
Avatar de Jerome S
 
Homme Jérôme
Développeur informatique
Inscription : août 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 59
Points : 69
Points : 69
Je suis dans le cas 12. Il me faut une table associative. Mais comment la former ?
Un individu a besoin d'une ou plusieurs musique.
Soit je fais une table/individu ==> Pas bon
Soit je fais une table qui a chaque individu associe une liste de musique ==> Pas bon car il faut créer une table par liste de musique différente

Il me manque la bonne solution
Jerome S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h39   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
Bonjour Jerome S et Punkoff (et CinePhil, pour la référence à son blog),

Je me permets de m'immiscer, Punkoff, pour proposer à CinePhil, s'il le souhaite, de compléter son blog avec la structure des tables découlant des cas analysés.

Jerome S, pour finaliser :
Individu ---0, n----[AIMER]-----0, n--- Musique

Tables (souligné=clé primaire, #=clé étrangère) :
Individu(Id_Individu, Nom, ...) ;
Musique(Id_Musique, Nom, ...) ;
Individu_Musique(#Id_Individu, #Id_Musique, ...).
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/01/2012, 13h24   #5
Membre du Club
 
Avatar de Jerome S
 
Homme Jérôme
Développeur informatique
Inscription : août 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 59
Points : 69
Points : 69
J'approuve l'idée de Richard, pour mettre la structure
Pourquoi
Individu ---0, n----[AIMER]-----0, n--- Musique
et non pas
Individu ---0, n----[AIMER]-----0, n--- Musique
étant donné qu'il doit aimer au moins une musique ?

Si je fais ce que tu me propose, j'aurai ma table Individu_Musique un peu comme ca :

IdIndividu - IdMusique
1-2
1-3
1-5
1-8
1-9
2-4
2-5
2-6
2-7
2-8
2-9

Un même idMusique se retrouvera un très grand nombre de fois. Enfin, ca ne me dérange pas, c'est à la BDD de stocker tout ca

Merci à toi, je n'arrivais pas à m'en sortir !
Cordialement

Résolu
Jerome S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 14h04   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
Citation:
Envoyé par Jerome S
Pourquoi
Individu ---0, n----[AIMER]-----0, n--- Musique
et non pas
Individu ---1, n----[AIMER]-----0, n--- Musique
étant donné qu'il doit aimer au moins une musique ?
==> eh bien, il faut prévoir le cas d'un individu :
  • qui n'aime aucun style de musique, du moins ceux qui lui sont proposés ;
  • dont nous ne savons pas quel style de musique il aime.
Sinon, l'exemple que tu donnes est exact et
Citation:
Un même idMusique se retrouvera un très grand nombre de fois .../...
==> c'est le but de l'opération.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 14h21   #7
Membre du Club
 
Avatar de Jerome S
 
Homme Jérôme
Développeur informatique
Inscription : août 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 59
Points : 69
Points : 69
Dans mon cas, pour déclarer un individu, il faut absolument renseigner quel musique il aime.
Enfin, mon application ne gère pas des individus ni des musiques, mais j'ai pris un exemple plus simple pour ne pas avoir à expliquer les spécifications de mon projet. Donc cela te dérange-t-il que je mette une relation 1,n ?
Je sais que c'est moi qui décide et que je met bien ce que je veux mais si tu devais regarder ma BDD et que tu voyais une relation 1,n, est-ce que tu trouverais ca mal sachant qu'il n'est pas possible qu'un individu soit déclaré sans au moins 1 musique (déjà référencé dans ma table musique) ?

Merci
Jerome S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 14h52   #8
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
Si la règle de gestion est
Citation:
Envoyé par Jerome S
.../... qu'il n'est pas possible qu'un individu soit déclaré sans au moins 1 musique (déjà référencé dans ma table musique) .../...
==> alors, pas de problème, il faut conserver la cardinalité 1,n.

Mais bon, sachant que "qui peut le plus, peut le moins", le "1,n" est, en quelque sorte, inclus dans le "0,n" et non l'inverse, il y a moins de risque. Mais c'est un détail.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 15h17   #9
Membre du Club
 
Avatar de Jerome S
 
Homme Jérôme
Développeur informatique
Inscription : août 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 59
Points : 69
Points : 69
Tu as raison. Je te remercie vivement pour tes réponses
A charge de revanche
Jerome S est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h16.


 
 
 
 
Partenaires

Hébergement Web