[MySQL] - Aide sur la conception de ma bdd [Résolu/Fermé]

Signaler
Messages postés
32
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
25 juillet 2011
-
 Profil bloqué -
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


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