Haute Ecole CHARLEMAGNE Base de Données 2 Log&Transport
582826570 5 27/05/17
Exemples de liens
Un taxi est affecté à un seul taximan et un taximan
est le conducteur d'un seul taxi.
Un client passe plusieurs commandes et plusieurs
commandes sont passées par le même client
Un fournisseur livre plusieurs produits et un produit
est livrable par plusieurs fournisseurs
Insistons sur le fait qu'en analyse, "plusieurs" signifie assez étrangement soit "plusieurs", soit
"un" ou soit "aucun" (0,1,n). En effet, le client peut ne passer aucune commande, le fournisseur
peut ne fournir aucun produit et un produit peut n'avoir aucun fournisseur connu à ce jour.
Les relations de plusieurs à plusieurs se traiteront comme deux relations de un à plusieurs en
passant par une table intermédiaire reprenant les clés primaires de chaque table.
La clé primaire
La clé primaire est une propriété de l'objet (enregistrement) qui l'identifie de façon unique dans
une table. Elle permet d'établir les liens entre les tables.
Dans l'exemple précédent, nous remarquons le rôle joué par le n° d'emprunteur. Grâce à cette
propriété, le système est capable de lier un emprunteur à ses emprunts et inversement de
trouver l'emprunteur d'un livre donné.
Analyse
Le modèle de données précédent de la gestion du prêt des livres n'est pas bon. En effet, s'il
présente comme avantage de n'utiliser que deux tables, il déroge à deux règles, l'homogénéité
de la table "livres empruntés" et l'absence de l'identifiant unique pour chaque livre.
En effet, ce n'est pas le numéro du livre que l'on trouve dans la table "livres empruntés mais le
numéro de l'emprunteur; de même la date d'emprunt n'est pas un attribut du livre mais de la
transaction de location. Le numéro du livre étant oublié, la gestion ne permettra pas d'identifier
de façon unique l'objet. Pensez au cas où la bibliothèque possède plusieurs ouvrages identiques
!
De plus, quand le livre sera reloué, il faudra remplacer la référence de l'ancien emprunteur et la
date d'emprunt par les nouvelles données et de ce fait les informations concernant le prêt
précédent seront perdues. Cette solution ne peut donc gérer les historiques, ni les statistiques
permettant d'évaluer la rentabilité d'un ouvrage.
Une solution acceptable passe par l'utilisation d'une table que l'on peut qualifier de table de
mouvements ou table de liaisons que nous appellerons dans ce cas précis table locations. Dans
cette table sont notés pour chaque prêt, le numéro de l'emprunteur, l'identifiant du livre et
d'autres renseignements comme les dates de prêts, la durée prévue et l'annulation du prêt.
Il faut donc modifier la table des livres, et encoder chaque livre physique avec un numéro
d'identification.