Analyse préalable à la création d’un Schéma relationnel
LE BUT éclater les informations
Clients Produits Factures Unique
CLIENTS (Numcli, nomcli, adressecli, cpcli, villecli) PRODUITS (Refprod, nomprod, pu_prod) FACTURES (Ref_fact, date_fact)
CLIENTS (Numcli, nomcli, adressecli, cpcli, villecli) FACTURES (Ref_fact, date_fact) PRODUITS (Refprod, nomprod, pu_prod) Il n’y a aucun lien entre les relations. Le lien ne peut exister que si les relations ont un attribut commun.
Un client reçoit une ou plusieurs factures Une facture est reçue par un et un seul client Type « père » 1 à plusieurs Type « fils » 1 à 1
CLIENTS (Numcli, nomcli, adressecli, cpcli, villecli) FACTURES (Re_fact, date_fact, numcli#) La clé primaire de la relation « père » vient compléter la relation « fils » et devient clé étrangère
Une facture donne le détail de l’achat de 1 ou plusieurs produits L’achat d’un produit est détaillé dans 1 ou plusieurs factures Type « père » 1 à plusieurs Type « père» 1 à plusieurs
Dans ce cas précis, il faut créer une autre relation qui sera la relation «fils » des deux autres relations, appelée aussi « relation de concaténation ». Elle portera le nom du verbe de liaison entre les 2 relations « père ». Ici ce sera DETAIL FACTURE. Sa clé primaire sera composée de celle des deux relations « père ». Les clés primaires des deux relations « père » deviendront clés étrangères de la nouvelle relation de concaténation DETAIL FACTURE. FACTURES (Ref_fact, date_fact) PRODUITS (Refprod, nomprod, pu_prod) DETAIL FACTURES (Ref fact #, Refprod#)
Il convient ensuite de rajouter les données variables à usage unique, ici les quantités. CLIENTS (Numcli, nomcli, adressecli, cpcli, villecli) FACTURES (Ref_fact, date_fact, numcli#) DETAIL FACTURES (Ref fact #, Refprod#, quantité) PRODUITS (Refprod, nomprod, pu_prod) SCHEMA RELATIONNEL