IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Association élément unique-liste d'éléments [Entité-Association]


Sujet :

Schéma

  1. #1
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    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.
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    pour compléter ce que j'avais écrit, lisez ceci : http://blog.developpez.com/cinephil/...ive/#more10017

  3. #3
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut
    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
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    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 !

  5. #5
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut
    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
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    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
    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 !

  7. #7
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut
    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
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    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 !

  9. #9
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut
    Tu as raison. Je te remercie vivement pour tes réponses
    A charge de revanche
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Liste avec élément unique
    Par laurentapologic dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 08/04/2010, 17h59
  2. [XSD] éléments uniques dans un xsd:list
    Par nono_31 dans le forum Valider
    Réponses: 5
    Dernier message: 20/08/2009, 09h39
  3. Trouver les éléments unique d'une liste
    Par Loki83 dans le forum Excel
    Réponses: 4
    Dernier message: 27/11/2008, 15h28
  4. Obtenir les éléments uniques d'une liste
    Par Loki83 dans le forum Excel
    Réponses: 3
    Dernier message: 14/11/2008, 11h50
  5. Réponses: 1
    Dernier message: 19/10/2006, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo