{MySQL} Attribuer plusieurs mots-clés
fred6
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Yoan Messages postés 11795 Date d'inscription Statut Modérateur Dernière intervention -
Yoan Messages postés 11795 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je débute avec MySql sous Apache. Je veux créer une base pour gérer mes documents. J'ai donc créé une table qui identifie chaque document et une table qui répertorie les mots-clés qui décrivent ces documents. Je voudrais pouvoir attribuer plusieurs mots-clés à chaque document, et, d'autre part, rédiger la requête qui va me permettre de sélectionner les documents qui contiennent plusieurs mots-clés ? Comment faire ? Merci à l'avance de m'aider.
Je débute avec MySql sous Apache. Je veux créer une base pour gérer mes documents. J'ai donc créé une table qui identifie chaque document et une table qui répertorie les mots-clés qui décrivent ces documents. Je voudrais pouvoir attribuer plusieurs mots-clés à chaque document, et, d'autre part, rédiger la requête qui va me permettre de sélectionner les documents qui contiennent plusieurs mots-clés ? Comment faire ? Merci à l'avance de m'aider.
A voir également:
- {MySQL} Attribuer plusieurs mots-clés
- Cles windows 8 - Guide
- Mysql community server - Télécharger - Bases de données
- Retrouver un film avec des mots - Télécharger - Divers TV & Vidéo
- Chercheur de mots - Télécharger - Études & Formations
- Où sont stockés les mots de passe sur android - Guide
1 réponse
Le schéma relationnel pourrait ressembler à ça :
Document(NomDoc, Chemin)
Mot_Cle(Document(NomDoc), Mot_Cle)
La clé primaire de la table Document est le champs NomDoc, la clé primaire de la table Mot_Cle sont les deux champs. Et le champs NomDoc de la table Mot_Cle est une clé étrangère vers le champs du même nom de Document.
Le fait de prendre les deux champs pour la clé primaire de Mot_Cle fait que tu peux attribuer plusieurs mot-clés à un même document :
Si tu as par exemple 2 mots clé et que tu veux sélectionner les documents qui correspondent à ces 3 mots-clé en même temps, utilise par exemple des requêtes imbriquées, et tu en fais une de plus à chaque mot-clé supplémentaire :
Document(NomDoc, Chemin)
Mot_Cle(Document(NomDoc), Mot_Cle)
La clé primaire de la table Document est le champs NomDoc, la clé primaire de la table Mot_Cle sont les deux champs. Et le champs NomDoc de la table Mot_Cle est une clé étrangère vers le champs du même nom de Document.
Le fait de prendre les deux champs pour la clé primaire de Mot_Cle fait que tu peux attribuer plusieurs mot-clés à un même document :
La_conscience.doc, philosophie La_conscience.doc, conscience La_conscience.doc, préconscient La_conscience.doc, inconscient La_théorie_du_chaos, chaos Etude_de_la_nature.pdf, nature Etude_de_la_nature.pdf, faune Etude_de_la_nature.pdf, flore ....
Si tu as par exemple 2 mots clé et que tu veux sélectionner les documents qui correspondent à ces 3 mots-clé en même temps, utilise par exemple des requêtes imbriquées, et tu en fais une de plus à chaque mot-clé supplémentaire :
SELECT NomDoc, Chemin FROM Document WHERE NomDoc IN ( SELECT NomDoc FROM Mot_Cle WHERE Mot_Cle='Mon_mot_clé' AND NowDoc IN ( SELECT NomDoc FROM Mot_Cle WHERE Mot_Cle='Mon_second_mot_clé' ) )