[MYSQL] Brainstorming sur la melleure structure de BDD

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Chacho, 16 Février 2008.

  1. Chacho
    Chacho WRInaute discret
    Inscrit:
    16 Septembre 2007
    Messages:
    72
    J'aime reçus:
    0
    Salut,

    Je réfléchis actuellement à la mise en place d'une nouvelle rubrique pour un site et je m'interroge sur la meilleure structure de bdd possible.

    Pour résumer, je vais avoir des actualités et des lieux qui pourront avoir certaines caractéristiques A,B,C etc
    J'aimerais pouvoir modifier facilement la liste commune aux lieux et actualités ( et possiblement plus tard à d'autres choses ) de caractéristiques possible en rajoutant / supprimant / modifiant (le nom) une caractéristique.

    J'ai une table lieux et une table actualités qui chacune contient les infos de chaque lieu/actualité tel que nom,description etc

    Quel est la meilleure manière de stocker :
    - la liste des caractéristiques possibles
    - si chaque lieu/actualité possède ou non chaque caractéristique ?

    Je réfléchis et je réfléchis mais je ne suis pas satisfait :?

    Rajouter des champs A, B, C de boolean à la table actualités et la table lieux ?
    Ca me semble compliqué et lourd si je veux éditer les caractéristiques..

    Rajouter un champs caractéristiques à la table actualités et la table lieux avec dedans pour chaque élément les caractéristiques présentes sous la forme : A,B,C,D ?
    Mais comment faire si je décide d'effacer la caractéristique B du site ?

    Lol je ne m'en sors pas ! Qqun aurait une brillante idée pour moi plz ?
    Chacho
     
  2. k2pi
    k2pi WRInaute occasionnel
    Inscrit:
    4 Février 2007
    Messages:
    272
    J'aime reçus:
    0
    Si j ai bien compris une actualite et un lieu peuvent avoir des caracteristique commune, une actualite et un lieu pouvant avoir plusieur carateristique
    Dans ce cas
    Une table Actualite
    Une table Lieu
    une Table Caraterique
    et une table d'association AssocCaracteristique (type="Lieu" ou "Actualite", id_element, id_caracteristique)

    id_element correspond a l'id de l'actualite ou du lien auquel tu associe l'id de la caracteristique.
     
  3. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 931
    J'aime reçus:
    269
  4. Chacho
    Chacho WRInaute discret
    Inscrit:
    16 Septembre 2007
    Messages:
    72
    J'aime reçus:
    0
    Merci k2pi ! et (Marie-Aude ;)) Je crois que c'est ce qu'il me faut !
     
  5. Malaiac
    Malaiac WRInaute occasionnel
    Inscrit:
    4 Mai 2005
    Messages:
    266
    J'aime reçus:
    0
    ton explication est pas claire, mais d'apes ce que j'ai pu comprendre, une archi à la osco serait possible :
    une table elements
    id,name,etc.
    une table options ('style','budget')
    id,name
    une table values ('pas cher','bon marche', 'luxueux', 'mexicain','italien','chinois')
    id,name

    qui seront reliés :
    une table elements_options_values :
    element_id,option_id,value_id

    si on veut plus de solidité, une table options2values
    option_id,value_id

    et la table elements_options_values devient
    element_id,option2value_id
     
  6. jarreweb
    jarreweb WRInaute discret
    Inscrit:
    12 Septembre 2003
    Messages:
    185
    J'aime reçus:
    0
    même avis que k2pi
    il est préférable d'avoir des tables avec les données listées uniques
    et une table qui sert à faire la relation entre elles

    c'est ce qu'il y a de plus performant et de plus souple d'utilisation
     
  7. k2pi
    k2pi WRInaute occasionnel
    Inscrit:
    4 Février 2007
    Messages:
    272
    J'aime reçus:
    0
    Au passage, c'est l'architecture classique pour une relation entité n/n
     
Chargement...
Similar Threads - [MYSQL] Brainstorming melleure Forum Date
[résolu][mysql] faire un "NOT LIKE" sur une chaîne contenant des / Développement d'un site Web ou d'une appli mobile 25 Octobre 2014
[MySQL] Liste (select) avec des lignes au hasard Développement d'un site Web ou d'une appli mobile 23 Octobre 2014
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
[MySQL] Nombre d'enregistrements sur des horaires précis Développement d'un site Web ou d'une appli mobile 19 Juillet 2013
[MYSQL] Comment remplacer caractères dans tous les champs de toutes les tables d'une base? Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
[MYSQL] Une sorte de "OR JOIN" ? Développement d'un site Web ou d'une appli mobile 5 Juillet 2013
[MySQL] sélectionner la dernière note pour chaque élève en une seule requète ? Développement d'un site Web ou d'une appli mobile 12 Avril 2012
[Mysql] Requête PDO avec variable php Développement d'un site Web ou d'une appli mobile 16 Février 2012
[Mysql] Requête PDO aléatoire Développement d'un site Web ou d'une appli mobile 7 Février 2012
[MYSQL] Tri par date Développement d'un site Web ou d'une appli mobile 7 Septembre 2011
[MySQL] rechercher une valeur dans un champ sérialisé Développement d'un site Web ou d'une appli mobile 10 Août 2011
[MySQL] Requête SELECT entre 3 tables liées Développement d'un site Web ou d'une appli mobile 10 Août 2011
[MySQL] addslashes et stripslashes Développement d'un site Web ou d'une appli mobile 9 Août 2011
[résolu] [mysql] Conditions WHERE avec AND et OR Développement d'un site Web ou d'une appli mobile 13 Mai 2011
[mysql] trier les résultats d'une requête selon une table non liée à la requête Développement d'un site Web ou d'une appli mobile 15 Avril 2011
[résolu] [mysql] passer un champ à une valeur donnée pour tous les enregistrements Développement d'un site Web ou d'une appli mobile 25 Mars 2011
[MySQL] INSERT / UPDATE conditionnel Développement d'un site Web ou d'une appli mobile 1 Février 2011
[mysql] LIMIT utile sur un champ indexé ? Développement d'un site Web ou d'une appli mobile 8 Décembre 2010
[mySQL] Découper une table et gagner en performance ? Développement d'un site Web ou d'une appli mobile 9 Janvier 2010
[MySQL] Récupérer la première ligne d'un GROUP BY Développement d'un site Web ou d'une appli mobile 14 Décembre 2009