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