|
Chapitre 5 : le
mécanisme relationnel |
|
|
1- Traduire les relations |
|
|
|
|
|
Pour
comprendre comment fonctionne une relation, il suffit de jeter un coup d'oeil
à l'exemple représenté ci-dessous. La
table de gauche contient la liste des produits commercialisés par l'entreprise.
La table de droite contient la liste des fournisseurs. Considérons le premier
produit, le ciment C-21 ; son code fournisseur vaut 3. Dans la
table de droite, l'ordinateur lira que le fournisseur est la société
"Ciments X", ainsi que toutes les informations qui la concernent
(l'adresse, le téléphone, le fax, les conditions consenties, etc.). Sa
recherche sera d'autant plus rapide que la table "Fournisseurs"
sera triée dans l'ordre croissant des codes. Bref, le SGBD maniera les
relations comme le ferait un être humain. |
|
|
|
|||
|
|
|||
|
|
2 Un cas difficile |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Continuons
l'informatisation de l'entreprise, et attaquons-nous aux bons de livraison.
Pour chaque commande exécutée, il faut noter le numéro de la commande, la
date, le nom -- ou plutôt le code -- de l'entreprise, puis la liste des
produits -- ou plutôt de leurs codes -- avec les quantités livrées. Sur
papier, pas de difficulté : on peut toujours faire tenir quelques lignes
ou quelques dizaines de ligne sur une feuille de papier A4. Mais, pour
reporter le tout dans une table, nous rencontrons un sérieux problème, comme
le montre la figure ci-dessous. Combien devons-nous prévoir de colonnes pour
le code du produit et la quantité correspondante ? |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
La
nouvelle table (dite table de jonction) comportera trois
colonnes : |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Nous
écrirons autant de lignes dans cette nouvelle table qu'il y avait de produits
mentionnés sur chaque bon de livraison, comme le montre la figure ci-dessous.
Nous voyons dans cette table que le bon de livraison n° 1225 comporte
30 sacs de ciment (C-22), 2 palettes de pavés (P-5) et
5 regards de 40 cm (R-10), toutes informations tirées de la table
"Produits", la relation étant assurée via le code produit. La table
"Bons de livraison" nous montre (grâce à la relation assurée par le
numéro de bon) que l'entreprise livrée est notre bon client SGTDM. Les
informations le concernant se trouvent dans la table "Clients", la
relation étant assurée par le code client. |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Que
s'est-il passé dans le cas des bons de livraison ? Nous nous sommes trouvés devant une relation plus complexe que
précédemment. Un même bon de livraison peut mentionner plusieurs produit, et un même produit apparaît dans de nombreux bons
de livraison (sinon, c'est un produit qui ne se vend pas, et il faut
l'abandonner). Nous avons affaire à une relation n-n
(ou plusieurs à plusieurs), difficile à gérer par des moyens informatiques,
alors qu'il n'y a pas de problème avec les moyens manuels. |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Heureusement
pour nous, la création d'une table de jonction, puisant ses codes dans
deux autres tables ("Bons de livraison" d'un côté,
"Produits" de l'autre), nous a tirés d'affaire.. |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
3 - Conclusion |
|
|
|
|
|
|
|
|
|
|
Les
premiers SGBD mis sur le marché ne géraient pas les relations, et les entreprises
les trouvaient fort malcommodes. Le succès des SGBD relationnels provient du
fait qu'ils répondent bien aux besoins des entreprises -- parce qu'ils ont
été conçus pour cela. |
|
|
|
|||