[MySQL] - Aide sur la conception de ma bdd

Résolu/Fermé
bobox87 Messages postés 32 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 25 juillet 2011 - 24 janv. 2011 à 01:02
 Profil bloqué - 26 janv. 2011 à 15:03
Bonjour,

Voilà je suis en train de créer une base de données sous Mysql et j'aimerais avoir quelques conseils au niveau de la conception. Pour l'instant je simplifie j'ai 3 tables:

membres (membre_id, membre_nom)
news (news_id, news_message, #news_posteur)
comments (comment_id, comment_message, #comment_news, #comment_posteur)

Je voudrais utiliser le moteur InnoDB pour gérer les clés étrangères mais avec PHP j'ai quelques doutes sur la manière de procéder.

Je m'explique. Sur la page de consultation d'une news je met un lien avec le nom de l'auteur et son identifiant qui pointe sur son profil. Sa donne un truc du genre:
<a href="membre.php?id=membre_id">membre_nom</a>

Là ou j'hésite c'est sur la manière de "construire" ce lien. Je pense qu'il y a trois possibilités :

- Dans le champ #news_posteur je peux stocker à la fois l'id et le nom du membre séparé par un point virgule et avec la fonction explode de php je récupère les données. L'inconvénient c'est que ma clé étrangère devient inutile...

- Je fais une requête supplémentaire pour récupérer le nom du membre dans la table membre. Mais ça fais une requête en plus...

- Ou alors carrément je créer deux champs dans la table news, #news_posteur_id et #news_posteur_nom, mais ça fais un champ en plus et de la redondance de données...

Autre question, pour la table comments quelle est la clé primaire ? Seulement comment_id ou comment_id plus les deux clés étrangères #comment_news et #comment_posteur (puisque c'est un commentaire d'un membre sur une news) ?


Merci d'avance à tous ceux qui pourront m'aider ;)


1 réponse

Profil bloqué
26 janv. 2011 à 15:03
bonjour,
je pense effectivement que tu dois garder ta clé étrangère ,dans une seul requête tu peu avoir l'id et le nom ,cela je pense etre le mieux
0