begin process at 2012 02 12 08:35:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Conception de BDD: relation n-n


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conception de BDD: relation n-n

vendredi 3 octobre 2008 à 17:54:01 | Conception de BDD: relation n-n

leica69

Bonjour,
je souhaiterais concevoir une BDD mais avant d'attaquer j'aurais une question à vous poser.

En simplifiant, voici ma situation:
Je veux mettre en relation une table de médicaments et une table de propriétés (antitussif, expectorant, ...)

t_medicaments{
   medic_id
   medic_nom
}

t_proprietes{
   prop_id
   prop_nom
}

Chaque médicament a plusieurs propriétés.
Chaque propriété peut être exercée par plusieurs médicaments.
On se trouve donc dans une relation n-n

Quel est, d'après vous, le meilleur moyen de mettre en relation ces deux tables?
A/ Créer une 3ème table liant les 2 premières?
t_relations{
   relation_id
   relation_medic_id
   relation_prop_id
}

ou

B/ Ajouter à la table médicaments un autre champ qui aurait une sorte de "array" des prop_id qui lui correspondent?
t_medicaments{
   medic_id
   medic_nom
   medic_proprietes
}

pour obtenir qqch du genre:
   medic_id     medic_nom     medic_proprietes
   1                  aspirine            ['1';'32']
   2                  medicChose     ['22';'32']
   3                  medicTruc        ['43';'1']

Si je prends l'option B, pour trouver les médics ayant la propriété 23, je devrais faire un
SELECT * FROM t_medicaments WHERE 'medic_proprietes' LIKE '23'

Je n'ai jamais travaillé avec l'option B. Selon votre expérience, quelle méthode est préférable, pratique, conviviale???

Merci pour vos futurs conseils.
Antonio
dimanche 5 octobre 2008 à 11:32:39 | Re : Conception de BDD: relation n-n

Bling 182

L'option B fonctionne, mais est contraire au formalisme de construction d'une table...
Donc utilise la solution A

--
Développeur web freelance - Bling182 Dev : http://www.bling182.fr - http://freelancedev.ovh.org
mardi 7 octobre 2008 à 19:49:32 | Re : Conception de BDD: relation n-n

malalam

Administrateur CodeS-SourceS
Hello,

et puis surtout, LIKE est TRES lent.
Sans compter que ça ne te faciliterait pas la tâche pour sortir des états/reporting/statistiques.
En effet, choix A sans hésiter. Sauf que je ne nommerais pas mes champs ainsi mais ça...c'est une simple préférence.
jeudi 9 octobre 2008 à 19:00:16 | Re : Conception de BDD: relation n-n

leica69

Merci pour vos conseils, je prend donc la méthode A.

J'ai d'autres questions sur le développement de ma BDD, j'ai fait un autre post http://www.sqlfr.com/forum/sujet-CONCEPTION-BDD-RELATION_1210869.aspx#2

Si vous pouviez y jeter un oeil, ça m'aiderait certainement.

Antonio


Cette discussion est classée dans : table, id, relation, proprietes, medic


Répondre à ce message

Sujets en rapport avec ce message

Relation et Foreign Key [ par ripoux ] Bonjour,J'ai une petite question au niveau des relations avec MySQL.Je n'ai pas bien compris le concept, car je travail malheuresuement en général ave MySQL_INSERT_ID mais pour le delete ???? [ par ripoux ] Hello,Peut-être l'aurez-vous compris dans le titre...Je cherche un moyen pour faire un delete de plusieur table relié entre elle.Pour un Insert, il ex trier par WHERE avec une variable [ par benji86446 ] Bonjour tout le monde!Voila, j'ai une petite question à propos des requetes SQL. J'aimerais trier les résultats lus sur une table par rapport aux résu Probleme d'affichage dans une liste déroulante [ par JohnInsane ] Bonjour à tous, Voilà j'ai un problème, j'ai fais un script où l'on choisit une catégorie dans une liste déroulante qui est dans la table cat où j'a Probleme recuperation de l'id d'une table pour insérer dans une autre par la methode update [ par Alpha911 ] Bonjour,Je test plusieurs methodes pour pouvoir prendre l'id d'une table qui et la recopier dans une autre table j'ai 2 tables UTILISATEUR et une autr Affichage de doublons dans une recherche sur deux tables [ par rafou77 ] Bonjour,c'est encore moi le newbizzzVoilà mon probleme, je fais une recherche sur deux tables (credits (id,nom,prenom,ect..) ) et (credits5 ( id,id_cl récup var d'url [ par skaterboss2000 ] bonjoursi j'ai une table comme ceci : |MA BDD| |MA TABLE| [id] [autrechamps] comment faire pour afficher le contenu de autrechamps en fonction de l'id Script de téléchargement [ par The_Sniper ] Bonjour je suis en trin de faire un script de téléchargement mais je suis bloquer a la place ou je doit ajouter dans mon champ id_cat de ma table télé verifier existence table SQLite [ par Bis2Kt ] bonjour, j'aimerai qu'une table soit crée genre BLABLA1, et si la table existe déjà, qu'il l'enregistre sous le nom BLABLA2 (graçe au $i) avec ce code auto increment [ par bob ] Bonjour ! Alors voila, j'ai une question qui va etre surement trés simple pour vousvoila le sql de mla table CREATE TABLE `blogs` ( `id` smallint(6)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales