PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 21-09-2009 18:34:18

morgan47
Membre
Inscription : 19-08-2009
Messages : 52

Comment enregistrer les données?

Bonjour,
j'ai une table marques, une tables modeles, une tables energies et un etable voitures.

Lorsque j'insère une nouvelle voiturs dans la table du même nom, faut t'il mieux que j'enregistre la marques, le modèles, l'energies :

- en nom propre, par exemple : Peugeot | 206 | Essence
- En référance à l'id, par exemple : 4 | 18 | 3
ou 4 corresponds à peugeot dans la table marques, 18 au modèle 206 et 3 à essence.

Je demande cela pour les affichages de la table voitures par la suite.

en sachant que dans un cas je devrais faire un SELECT avec 3 jointures, et dans l'autre je devrais juste affiché la table voitures?

Et en terme de modification de la marque, ou du modèle par la suite?

Merci de vos réponses.

Hors ligne

#2 22-09-2009 05:27:16

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Comment enregistrer les données?

Saluton,
Ta question démontre que tu n'as pas mentalement intégré le concept relationnel (le R de SGBDR).
Qui dit relationnel dit relation ce qui, en SQL, se traduit par jointure, et accessoirement contraintes d'intégrité du genre clef étrangère (FK Foreign Key).
Dans ton cas, une voiture relève d'un modèle d'une marque, et se décline en fonction de l'énergie consommée par le modèle.
La voiture devrait donc pointer sur une instance de la relation entre modèle et énergie, le modèle participant de cette relation pointant lui-même sur une marque.
L'identifiant de la marque doit être une clef étrangère du modèle, les identifiants du modèle et de l'énergie des clefs étrangères pour la voiture.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 22-09-2009 18:43:12

morgan47
Membre
Inscription : 19-08-2009
Messages : 52

Re : Comment enregistrer les données?

D'accord, donc si je comprend bien.
Si je veux rajouter des options à la voiture, par exemple clim, vitre électrique...
Il faut que je créé une table options et que j'enregistre toutes les options de la voiture avec l'id de la voiture.

Hors ligne

#4 22-09-2009 23:42:18

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Comment enregistrer les données?

Pas tout à fait, il te faudrait probablement créer une table de nomenclature des options et une table d'interface entre cette nomenclature et ta table voitures où migreraient, pour chaque option d'une voiture l'identifiant de la voiture et celui de l'option (FK dans les deux cas)


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 23-09-2009 11:45:55

morgan47
Membre
Inscription : 19-08-2009
Messages : 52

Re : Comment enregistrer les données?

Oui je vois le fonctionnement.
pour les clé étrangère, je ne susi pas sour le moteur innodb, je ferrai des jointures.

Merci pour tes renseignements.

Hors ligne

Pied de page des forums