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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2006
    Messages : 14
    Points : 8
    Points
    8

    Par défaut Structures tables dans BDD

    Bonjour,
    Quelle peut être la structure d'une BDD MySql.
    J'ai une Table1 avec comme champs ID, Nom, Prenom, pseudo etc.., soit un enregistrement par membre d'une communauté.
    Je voudrai collecter différents avis sur chaque membre, donnés par mes lecteurs et les rajouter dans la table ou dans une autre table liée.
    Je ne vois pas trop comment procéder. Je ne peux tout de même pas créer une nouvelle table pour chaque membre dans laquelle on ajouterai un enregistrement à chaque avis donné.
    Merci par avance de votre aide.
    Bonne journée

    FD

  2. #2
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    4 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 4 683
    Points : 11 937
    Points
    11 937
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    La modélisation est la conséquence des règles de gestion, il faut donc commencer par les formaliser, en les écrivant et en les identifiant par un numéro.

    Par exemple, imaginons que vos règles de gestion soient les suivantes

    R001a : un membre peut être noté par des lecteurs
    R001b : un lecteur peut noter des membres
    R001c : un lecteur peut noter un même membre à plusieurs reprises

    Ces règles de gestion montrent que les avis sont facultatifs ("peut" est utilisé dans chaque règle), la cardinalité mini est donc zéro, elles montrent également que les avis peuvent être multiples dans les deux sens (un lecteur peut noter plusieurs membres et un membre peut être noté par plusieurs lecteurs)

    Le MCD est donc [MEMBRE] 0,n --- (noter) --- 0,n [LECTEUR]

    Puisque les cardinalités maxi sont n de chaque coté de l'association, cette association "noter" deviendra une table.
    Le MLD ou le MPD contiendra donc les tables qui suivent (PK soulignées, FK suffixées #)
    MB_MEMBRE(MB_id, MB_nom, MB_Prenom, MB_pseudo...)
    LC_LECTEUR(LC_id, LC_nom, LC_prenom...)
    NT_NOTER(LC_id#, MB_id#, NT_sequence, NT_dateheure...) <-- la PK de cette table est composée notamment des PK des tables constitutives de la relation + une séquence requise pour la règle R001c

    On remarque que les attributs de l'entité-type [MEMBRE] et de l'entité-type [LECTEUR] sont très similaires, voire identiques.
    Il aurait donc été judicieux de modéliser une entité-type personne pour regrouper les membres et les lecteurs, puis de procéder par spécialisation en utilisant l'héritage pour définir les membres et les lecteurs.
    A compléter si besoin

Discussions similaires

  1. verification existence table dans bdd oracle
    Par flokent7 dans le forum Oracle
    Réponses: 22
    Dernier message: 03/08/2012, 09h23
  2. Suppression table dans BDD SQLite
    Par Yann_69 dans le forum SQLite
    Réponses: 1
    Dernier message: 14/07/2012, 07h59
  3. [AJAX] Listes liées et table dans bdd
    Par Sergio_zero dans le forum AJAX
    Réponses: 15
    Dernier message: 24/01/2012, 09h47
  4. [AC-2007] Ajout tables dans BDD dorsale
    Par fclus dans le forum Modélisation
    Réponses: 3
    Dernier message: 10/11/2011, 11h18
  5. Relation entre tables dans bdd différentes
    Par Mandotnet dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/03/2006, 08h03

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