#1 Le 07/08/2012, à 12:30
- djipey
[sqlite] ajouter des tags à des fichiers, trier par tags
Bonjour.
Je suis en train de coder un projet en python, qui aura pour but de lister toutes les vidéos d'un répertoire, afin de les présenter dans une interface codée avec PyQt. Grâce à cette interface, je vais pouvoir ajouter des tags aux vidéos.
Les infos sur les vidéos sont stockées dans une table sqlite, avec comme champs (pour l'instant):
- id
- name (le nom du fichier)
- path (le chemin absolu du fichier)
- vote (le nombre de like pour le fichier)
La question que je me pose, c'est comment gérer les tags. Le but est de pouvoir ajouter des tags aux vidéos pour ensuite, si je sélectionne un tag, afficher les vidéos correspondantes.
J'aurais besoin de vos avis pour la marche à suivre.
Est-ce que je rajoute un champ (TEXT) tags à ma bdd ? J'ajouterai ensuite les nouveaux tags sous forme de mots, dans le seul champ tags. Puis quand je voudrais afficher les vidéos correspondant à un tag, je ferai une recherche de ce mot dans le champ tags de tous mes fichiers.
Pour l'instant je ne vois que cette solution, mais ça ne me parait pas optimal. Est-ce que vous auriez des idées ?
Bien à vous.
Hors ligne
#2 Le 07/08/2012, à 12:36
- Kooothor
Re : [sqlite] ajouter des tags à des fichiers, trier par tags
Salut,
Je connais bien ce problème. Voici comment je m'y prend, c'est peut-être pas idéal mais ça fonctionne bien.
Fais une autre table, TAGS avec :
- id
- vid_id
- tag
Si une vidéo a plusieurs tags, il y aura plusieurs entrées avec le même vid_id (qui correspond au id de ta première table).
C'est ainsi facile de sélectionner les vidéos par tag (tu obtiens l'id de la vidéo en fonction du tag recherché).
-----
Sinon avant j'avais mis un champs TAGS dans la base principale où les tags étaient séparés par un espace (ou une virgule) mais c'était pas top...
@+
~ktr
Hors ligne
#3 Le 07/08/2012, à 16:04
- djipey
Re : [sqlite] ajouter des tags à des fichiers, trier par tags
Ok.
Est-ce que tu as fait une jointure entre les deux tables ou ce n'est pas la peine ?
Hors ligne
#4 Le 07/08/2012, à 17:11
- Kooothor
Re : [sqlite] ajouter des tags à des fichiers, trier par tags
Non (faut dire que mon niveau en SQL est assez bas....).
Ce que je fais, c'est que je fais une requête sur un tag, je récolte les vid_id dans un array, puis je vire celles en double, pis à partir de cet array d'id je show les vids correspondantes
Hors ligne
#5 Le 07/08/2012, à 17:42
- djipey
Re : [sqlite] ajouter des tags à des fichiers, trier par tags
D'accord, c'est ce que j'aurais fait moi aussi. Mais comme je poste sur au moins deux forums quand je demande l'avis des gens, je te mets un lien d'un topic où FireZéro me donne une réponse plus aboutie, en espérant que ça te serve :
Hors ligne
#6 Le 07/08/2012, à 17:45
- Kooothor
Re : [sqlite] ajouter des tags à des fichiers, trier par tags
D'accord, c'est ce que j'aurais fait moi aussi. Mais comme je poste sur au moins deux forums quand je demande l'avis des gens, je te mets un lien d'un topic où FireZéro me donne une réponse plus aboutie, en espérant que ça te serve :
Intéressant en effet, merci
Hors ligne