[MySQL] liste chainee ??

liste chainee ?? [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 09-04-2003 à 14:44:37    

Bonjour a tous,
 
bon, deja, je suis nul en base de données...
Je suis en train de faire une bdd pour le suivi de vehicules depuis la construction jusqu'à la fin.
Une question me taraude : Comment on fait pour mettre une liste de propriétaires de taille variable dans une table?
Est-ce que je suis obligé de prévoir un nombre de propriétaires max.?
 
Exemple :
table 1 ->
numéro de châssis (Id),
couleur,
carrosserie,
carrossier,
propriétaire 1,
propriétaire 2,
propriétaire 3.
 
 
Dans ce cas, je me limite a trois propriétaires. Y'a moyen de faire autrement sans creer de colonne a la volee? avec une table intermédiaire?
 
Ce que je voudrais, c'est un design de base de données qui me permettrait d'avoir une sorte de liste chainee de propriétaire sans entre obligé de modifier la struture des tables.
 
Merci,
vw


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
Reply

Marsh Posté le 09-04-2003 à 14:44:37   

Reply

Marsh Posté le 09-04-2003 à 15:01:31    

pour faire ça, en general on passe par une table intermediaire :
 
voitures :
- numero
- couleur
- (toute info que tu veux)
- index <= clé primaire
 
proprios :
- nom
- prenom
- etc..
- index <= clé primaire
 
et a coté tu as une table qui fait la relation "X possede Y"
possede :
- index voiture
- index proprio
 
la clé primaire est formée par les deux valeurs, et tu as des enregistrements de type :
voiture1 / proprio1
voiture1 / proprio2
voiture2 / proprio3
etc...
 
;)

Reply

Marsh Posté le 09-04-2003 à 15:04:37    

pfiouuu ... c'est loin mes cours de SQL pourtant ca parait simple comme ca.
 
Merci beaucoup.


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
Reply

Marsh Posté le 09-04-2003 à 21:05:29    

C'est peut être pas indispensable d'avoir 3 tables [:figti]  
 
Une table des voitures et une des propriétaires devraient suffire :
Proprio :
- Nom
- ...
- IdVoiture
- Numéro (s'il est le premier/deuxième/... propriétaire)

Reply

Marsh Posté le 09-04-2003 à 21:15:25    

Oulà là... Y'en a qui séchaient les cours de MERISE c'est pas possible :lol:
 
Alors...
 
Si une voiture à 0 à n propriétaires et un propriétaire à 1 et 1 seule voiture, alors on peut faire ça :
 
VOITURE
id
marque
couleur
etc.
 
PROPRIETAIRE
id
voiture
nom
prenom
etc.
 
Avec :
 
souligné : Clé primaire
pointillés : Clé externe
 
Il est absoluement déconseillé d'utiliser cette méthode car dans la réalité, un propriétaire peut avoir eu plusieurs voitures.
 
Deplus, des informations telles que numéro de propriétaire ou immatriculation n'ont rien à faire dans les infos du proprio, mais son en rapport avec la relation voiture <-> proprio. Il faut mieu donc utilise des relations 0n dans les 2 sens (un porpio peut avoir 0 à n voitures, et une voiture peut avoir 0 à n proprios)
 
Il vaut donc mieu faire :
 
VOITURE
id
marque
couleur
etc.
 
PROPRIETAIRE
id
nom
prenom
etc.
 
IMMATRICULE
id_voiture
id_proprio

immatriculation
date_debut
date_fin
main
 
Avec :
souligné : Clé primaire
italique pointillés : Clé primaire externe
italique : Clé laternative


Message édité par MagicBuzz le 10-04-2003 à 00:27:58
Reply

Marsh Posté le 10-04-2003 à 00:12:01    

MagicBuzz a écrit :

Oulà là... Y'en a qui séchaient les cours de MERISE c'est pas possible :lol:


 
moi j'ai jamais eu (ouf !) de cours de MERISE :lol:
on s'est limité a la theorie des BDD et le reste ca a ete fait par la pratique ;)
 
sinon, je suis parti sur l'hypothese d'une relation n-n ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed