Structure de base de donnée

cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009 - 27 juil. 2009 à 14:09
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009 - 28 juil. 2009 à 16:07
Bonjour,

Je débute dans les base de donnée, j'en suis encore à identifier les besoins exact que j'ai d'une base de donné et de la structurer en conséquece.
Enfaite j'ai besoin de cette outil pour créer un outil de recherche sur mon site pour permettre au visiteur de trouver une pièce détaché pour leur véhicule.
Les option de recherche sont la marque, le modele, l'année, ou directement le type mine, mais la finalité reste le type mine pour identifier précisément le véhicule, et en seconde place la famille de pièces.
Mon problème est qu'une pièces peu correspondre à plusieur véhicule

Donc je pensais crée une table pour les véhicules.
(marque, model, type mine, année...)

Un table pour les pièces détachées
(reférence, famille, prix, poids, ect...)

Je pensais a une table de liaison pour faire correspondre chaque pièces a tout les véhicule aux quel elle serais compatible. Du coup pour chaque ID_pièces devrait correspondre plusieur ID_véhicule.

Est-ce la bonne voie???

12 réponses

nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
27 juil. 2009 à 15:17
La bonne voie est d'utiliser une methode de modélisation pour te faire un schéma propre. Parmis eu Meurise, Entité-Relation ou UML si tu es joueur.

A partir de la tu pourra créer des tables et les intérroger proprement et de maniere optimisé.
0
dymsbess Messages postés 56 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 4 janvier 2010 1
27 juil. 2009 à 17:46
Oui c'est la bonne méthode pour répondre à ta question.
0
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
27 juil. 2009 à 22:07
Merci pour vos réponse, je vais essayer ce que tu m'a dis nivsql.
Donc si c la bonne méthode je peu donc mettre pour chaque id_pièce plusieurs id_vehicule (donc plusieurs valeur )?
exemple
Table de liaison
id_piece : 01 02 03
id_vehucule : 01,02,03 02,04 01,05,07

prochaine étape la syntaxe
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
28 juil. 2009 à 00:17
C'est un principe fondamental de toutes bases de données, Primary Key / Foreign Key. En l'occurence et pour te repondre plus directement : NON
Ton modele te presentera les entité Vehicules et Pieces avec une relation Plusieurs a Plusieurs (relation n-aire) donc dans une BDD normalisé tu aura une structure de type :
Table T_Vehicule (ID_Vehicule, ...)
Table T_Piece (ID_Piece, ...)
Table T_Piece_pour_Vehicule (ID_Relation, ID_Vehicule, ID_Piece, ...) pour faire la liaison entre les 2 pieces.

Je le redis, la modélisation préalable est la seule maniere d'obtenir un schéma de donnée propre a repondre a tes requete de maniere rapide et optimisé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 02:51
ok ok ^^ mais je vais jouer le boulet en disant que les logiciel de modélisation sont tout aussi dur a comprendre que tout le reste XD

J'ai download Rise Editor, peu être pas le plus simple après analyse.

Enfaite une même pièce peu-être compatible pour 2 véhicule, tandis qu'une autre sera compatible pour 10 ou 12 ou 5 enfin bref. C'est que je suis encore entrain d'essayer de comprendre (dsl)
tu me dis "pour faire la relation entre les deux pièces" juste entre deux ou est il possible de faire la relation par la même méthode entre 10 ou 20 pièces?

La relation n-aire me permettra donc par l'intermédiaire de la table de liaison d'associer une pièce à plusieurs véhicules?
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
28 juil. 2009 à 10:30
et un vehicule a plusieurs pieces ;) c'est une relation "n à n".

Evite les logiciels de modelisation tant que tu ne connais pas la methode. Je te dirais plutot de prendre un bon bouquin sur le modele E-R ou Meurise ;)
0
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 11:39
Et bien merci pour t conseil, je pense etre en bonne voie là, même si la tache me semble être encore astronomique
0
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 12:52
Une dernière chose, le type de donnée Enum ne conviendrais t il pas a mon problème?
0
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 15:30
Je pense avoir compri, si les relation n-n sont ingérable il fo donc que je la scinde en deux relation 1-n via une table de liaison?
avec id relation diférent pour chaque couple?
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
28 juil. 2009 à 15:31
Oula, fuir loin, tres loin, tres vite !!

De maniere générale eviter les types non normatifs (ENUM n'appartiens pas a la norme SQL et est une invention a mon sens bancale de MySQL pour resoudre des faux problemes de mauvaise normalisation).

MEURISE est ton ami et SQLPRO te l'explique (ce n'est pas moi SQLPRO ;) mais j'apprecie beaucoup sa littérature )
0
dymsbess Messages postés 56 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 4 janvier 2010 1
28 juil. 2009 à 15:41
Tu peux mettre une liste à la place dans une table ou l'autre mais ce sera fastidieux à traiter que ce soit en lecture ou écriture. Les relations n-n ne sont pas ingérables et ne sont pas non-plus l'exeption.
0
cs_whann Messages postés 7 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 16:07
ok XD je fuis ENUM. Toute façon je me suis rendu compte juste après l'avoir demandé que ça n'allait pas convenir.
Bon je suis entrain de planché sur la méthode meurise en tout cas.
Pour ce qui est de la liste, quel est l'avantage?
0
Rejoignez-nous