- · Niveau : INTERMÉDIAIRE
- · Compatibilité : Serveur NT/2000 IIS
Tout d’abord vous devez savoir qu’une relation entre deux structures de données se fait à l’aide d’un pointeur qui relie une structure vers un index d’une autre structure de données indexées. Que la relation ne peut se faire que d’une direction. Par exemple, la structure FACTURE aura l’attribut NUMÉRO_CLIENT qui aura comme valeur le numéro d’index du client en question de la structure CLIENT.
Donc, vous devez ajouter dans vos cartes un attribut pour chaque relation vers une carte.
Ceci est simplement
un exemple de relation, ainsi avec le numéro du client 1 (Claude)
vous pouvez retrouver ça facture du 10/26/99 qui indique qu’il à
acheté une imprimante. La structure n’est pas bonne puisqu’il faut
bien sûr offrir la possibilité d’avoir plusieurs factures et la facture,
la possibilité d’avoir plusieurs produits.
Double relation
Il est impossible de créer des relations à double sens. Par exemple, si vous avez
un artiste qui veut présenter ses œuvres, chaque œuvre peut être exposée dans
plusieurs musées mais les musées peuvent exposer plusieurs œuvres. Hum quoi faire?
La seule solution est de créer une troisième structure. Cette structure appelée
EXPOSITIONS relira d’un côté un musée et de l’autre une œuvre. .
Voilà une base
bien optimisée avec une double relation. La structure FACTURE - PRODUITS
à été ajoutée pour mettre en relation les factures
et les produits. Vous voyez que notre client no. 1 (Claude) à fait
deux factures le 11/10/99 dans la structure FACTURE - CLIENTS et
que cette facture no. 6 à trois produits no. 4, 5 et 6 dans
la structure FACTURE - PRODUITS. Il manque la structure des produits. Donc
en partant du client vous pouvez obtenir toutes ces factures ainsi que les produits
des factures. Mais vous pouvez aussi voir les factures qui ne sont pas payé
ou les factures d’une date en particulier.
- Pour en savoir plus, voir le cours "Base de données I & II" avec Jacques Guyot >> "Modèle Relationnel et SQL"