Optimisation BDD
9 messages
• Page 1 sur 1
-

narayana - WRInaute impliqué

- Messages: 835
- Inscription: 28 Jan 2005
Optimisation BDD
Bonjour,
J'ai développé un moteur de recherche. Celui-ci doit rechercher des informations dans une table morceaux assez conséquente.
La schéma de la table morceaux est le suivant (mode simplifié)
id | titre | genre | genre_1 | instrument | instrument_1 | ...
0 | smashit | electro | pop | guitare | basse
J'ai d'un autre côté des tables qui font références sur les instruments et genres. Par exemple la table genre
id_genre | intitule
0 | electro
1 | pop
La table instruments
id_instrument | intitule
0 | basse
1 | guitare
Je souhaiterai savoir quelle est la meilleure façon d'intégrer des données dans la table morceaux.
J'ai des requetes de types
SELECT genre, genre_1, instrument, instruments_1 WHERE genre = 'folk'
Je me demande si dans la tableau morceaux, il serait préférable d'utiliser les id des tables références plutôt que du texte. Ainsi lors de l'affichage je pourrai récupérer les champs intitulés des tables références par des JOIN
Donc est-il préférable d'avoir ce shéma sur la table morceaux...
id | titre | genre | genre_1 | instrument | instrument_1
0 | smashit | electro | pop | guitare | basse
ou celui ci pour une question de rapidité de recherche
id | titre | genre | genre_1 | instrument | instrument_1
0 | smashit | 0| 1 | 1| 0
Cordialement.
J'ai développé un moteur de recherche. Celui-ci doit rechercher des informations dans une table morceaux assez conséquente.
La schéma de la table morceaux est le suivant (mode simplifié)
id | titre | genre | genre_1 | instrument | instrument_1 | ...
0 | smashit | electro | pop | guitare | basse
J'ai d'un autre côté des tables qui font références sur les instruments et genres. Par exemple la table genre
id_genre | intitule
0 | electro
1 | pop
La table instruments
id_instrument | intitule
0 | basse
1 | guitare
Je souhaiterai savoir quelle est la meilleure façon d'intégrer des données dans la table morceaux.
J'ai des requetes de types
SELECT genre, genre_1, instrument, instruments_1 WHERE genre = 'folk'
Je me demande si dans la tableau morceaux, il serait préférable d'utiliser les id des tables références plutôt que du texte. Ainsi lors de l'affichage je pourrai récupérer les champs intitulés des tables références par des JOIN
Donc est-il préférable d'avoir ce shéma sur la table morceaux...
id | titre | genre | genre_1 | instrument | instrument_1
0 | smashit | electro | pop | guitare | basse
ou celui ci pour une question de rapidité de recherche
id | titre | genre | genre_1 | instrument | instrument_1
0 | smashit | 0| 1 | 1| 0
Cordialement.
- skippyzrnr
- WRInaute impliqué

- Messages: 664
- Inscription: 11 Jan 2005
La deuxième, tout simplement car il n'existe pas beaucoup de méthode pour avoir une bonne base de données (mais a peu près une seule)... Le deuxième exemple te permet d'éviter la redondance des données (principe de base des BDD). Et quand tu changes l'intitulé de la rubrique 3l3ctro tu ne le changes qu'une fois dans la table des styles et pas 4000 fois dans la table des morceaux.
Tout ca n'est qu'histoire d'ANALYSE et je trouve que ce sujet est largement sous-estimé alors que c'est le point central de toute base de données.
Tout ca n'est qu'histoire d'ANALYSE et je trouve que ce sujet est largement sous-estimé alors que c'est le point central de toute base de données.
- skippyzrnr
- WRInaute impliqué

- Messages: 664
- Inscription: 11 Jan 2005
Dailleurs tu devrais également créer une table de relation pour les instruments par chanson
id_song | titre
1 |la chanson
id_song | id_instrument
1 | 1
1 | 2
etc etc
id_song | titre
1 |la chanson
id_song | id_instrument
1 | 1
1 | 2
etc etc
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
Au final ta table morceaux doit donc ressembler à ça
id | titre
les genres et instruments étant dans des tables d'association.
id | titre
les genres et instruments étant dans des tables d'association.
-

e-kiwi - Modérateur

- Messages: 15544
- Inscription: 23 Déc 2003
table morceaux :
id | titre
table morceaux_instrument
id_morceau | id_instrument
table instrument
id_instrument | nom
table morceaux_genre
id_morceau | id_genre
table genre
id_genre | nom
pour aller plus loin ... MERISE
http://www.commentcamarche.net/merise/mcd.php3
id | titre
table morceaux_instrument
id_morceau | id_instrument
table instrument
id_instrument | nom
table morceaux_genre
id_morceau | id_genre
table genre
id_genre | nom
pour aller plus loin ... MERISE
http://www.commentcamarche.net/merise/mcd.php3
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
Merise c'est pas l'ancetre des trucs utilisés aujourd'hui ? Genre MVC ou PAC ? (qui n'en sont plus à leur premiere version)
T'es si vieux que ça e-kiwi ?
T'es si vieux que ça e-kiwi ?
- skippyzrnr
- WRInaute impliqué

- Messages: 664
- Inscription: 11 Jan 2005
Dj_Apx a écrit:Merise c'est pas l'ancetre des trucs utilisés aujourd'hui ? Genre MVC ou PAC ? (qui n'en sont plus à leur premiere version)
T'es si vieux que ça e-kiwi ?
Merde alors, je dois être plus vieux que je ne le pense
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google rachète Widevine (optimisation vidéo et DRM) - 13-12-2010
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- Optimiser le nombre de mots dans les textes de liens - 03-10-2005
- Ranking Metrics lance son blog - 15-01-2007
- Ouverture d'un forum consacré à DeepIndex sur WebRankInfo - 18-01-2003
- Tutoriel URL Rewriting - 01-05-2006
- Formation au référencement Internet plébiscitée : Ranking Metrics - 31-10-2009
- Nouvelle version de notre FAQ - 04-05-2002
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
