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 :

Attribut multi-valué.. le mal ? [Modèle Relationnel]


Sujet :

Schéma

  1. #1
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut Attribut multi-valué.. le mal ?
    Bonjour à tous, pour démarrer la semaine en beauté je me ramène avec une petite question sur ces fameux attributs. En effet, je me retrouve devant une impasse, mais il doit bien exister une solution. Je vous l'explique avec une jolie allégorie

    Je vais donc inventer un nouveau sport, le foot à une seul équipe.

    Et une table qui ressemblerait étroitement à cela : *

    table : But
    PK : action (peno, retourné .. )
    attribut : buteur

    On ne sait pas à l'avance qui va marquer bien entendu. Dès qu'il y a un but, en fonction de l'action, on place le numéro du buteur. Si il refait la même action et qu'il marque on incrémente cette valeur. Vous voyez où je veux en venir.

    Cela va me ramener avec un attribut multivalué (ils marquent toujours plein de buts.) Ne voyez pas l'absurdité de l'exemple, c'est ce modèle dont j'ai besoin.

    J'aimerais bien trouver une autre solution pour stocker de cette manière les données, ma mémoire me soufflant que de tels attributs c'est mal. J'attends vos suggestions ! Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Je n'est pas vraiment compris ton problème. Sois précis dans ton explication et montre nous des exemples.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    table : But
    PK : action (peno, retourné .. )
    attribut : buteur
    Si PK signifie clé primaire de la table But, par définition, pour chaque valeur de cette clé, il y a au plus une valeur de l’attribut Buteur. Autrement dit, il n’y a qu’un seul joueur qui puisse marquer un penalty, un seul joueur qui puisse effectuer un retourné, etc.

    Dans ces conditions, la structure de la table est à revoir.


    Je comprends Hephaistos007. Dans un 1er temps, le mieux serait déjà de montrer un exemple de résultat attendu, sous la forme, disons, d’un tableau Excel.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut
    > fsmrel, je vais suivre l'instruction de ta signature !

    Je vais également vous faire part des mes avancées.

    Je souhaite (sans allégorie sans rien ) stocké le : Titre, contenu, url et rank des résultats obtenue lorsque l'on fait une requête envers un (mais surtout plusieurs) moteurs de recherche.
    Je désigne ces trois éléments par les initiales tcu.

    Je souhaite ensuite rassembler les doublons au niveau des urls. Pour ce faire il me faut garder une trace de chaque occurrence d'une url pour un moteur de recherches précis.

    Ma première idée (la mauvaise) était donc :

    table : Mr_tcu
    pk : url
    attribut : title
    content
    rank
    moteur de recherche
    L'attribut multi-valué est donc moteur de recherche car on ne sait pas à l'avance quels sont les moteurs de recherche qui peuvent être présent.
    (le mr c'est mon buteur de taleur ).

    J'en suis donc arriver à cette solution,

    Table : Mr_tcu
    pk : url
    attributs : title
    content
    rank
    Table : Mr_occurrence
    clef étrangère : url (référençant url de Mr_tcu)
    clef primaire : mr & url
    attribut : occurrence (valant le nombre de fois que le moteur de recherche à sorti cette url )

    Je précise également que je ne stocke pas ces informations car je souhaite simplement les afficher à partir d'une machine distante. (ça peut toujours aider de savoir cela à la conception car cela donne des idées).

    Que pensez vous donc de cette modélisation ? Je me demande également si une autre représentation qui ne m'oblige pas à utiliser une base transactionnelle serait une bonne idée.. (sachant que toutes les infos dont j'ai besoin sont dans ces deux tables). Merci =)

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Ca semble mieux.

    Dans une base de données relationnelle, on ne peut pas avoir d'attribut multivalué.

    Ainsi, ce tube de la table Mr_tcu n'a pas une structure valide au niveau du champs MoteurRecherche : (developpez.net, Forum Developpez, blablabla, (Google, Yahoo, Live) )

    A la place on a le tuple (developpez.net, Forum Developpez, blablabla ) dans la table Mr_tcu et les trois tuples (developpez.net, Google); (developpez.net, Yahoo); et (developpez.net, Live) dans la table Mr_occurence. Pour bien faire, il faudrait aussi une table Moteur_recherche qui contient la liste des moteurs de recherche utilisés.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut
    Ma modélisation me semble donc correct =)

    Pour ce qui est des noms des moteurs de recherche, ça peut être une idée intéressante, cela correspondrait bien avec l'architecture général de mon projet qui doit être modulable à souhait. Deplus, le script ne connait pas à l'avance les moteurs de recherche.

    Merci à vous !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/07/2010, 14h30
  2. Ajouter à une liste déroulante multi-valuée
    Par Jonkill dans le forum VBA Access
    Réponses: 7
    Dernier message: 31/08/2008, 20h17
  3. Réponses: 16
    Dernier message: 23/05/2008, 09h04
  4. [SSRS][2k5] parameter multi-value
    Par ahmedz dans le forum SSRS
    Réponses: 2
    Dernier message: 07/05/2008, 11h13
  5. Réponses: 2
    Dernier message: 16/01/2008, 16h16

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