L'essentiel d'Access 2016

Comprendre le modèle relationnel

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
La répartition des données dans les tables évite la redondance des informations. Ainsi, vous étudierez les types et le fonctionnement des relations entre les tables.
07:40

Transcription

On est fréquemment amenés lorsque l'on conçoit une base de données à créer plusieurs Tables, et lorsque l'on a plusieurs Tables, il nous faut les lier les unes aux autres pour pouvoir faire des requêtes. Ces liaisons, on va appeler ça « le modèle relationnel », comment les Tables interagissent les unes par rapport aux autres. On est amenés à faire plusieurs Tables pour plusieurs raisons, d'abord, parce qu'on a des contenus différents. Je ne mettrai pas dans la même Table produits et fournisseurs. Je ferai une Table pour les produits, et une Table pour les fournisseurs. Mais on est aussi amenés à faire plusieurs Tables pour éviter la redondance de l'information, c'est-à-dire d'avoir deux fois la même information dans une même Table. Ça serait une perte de temps... Ou dans plusieurs Tables, ça serait une perte de temps. Par exemple, avoir dans une Table le prix et la quantité, et puis d'avoir le montant hors taxe. Ça n'a pas de sens parce que si j'ai le prix et la quantité, je peux retrouver à n'importe quel moment, en faisant une multiplication, le montant. Donc stocker le tout n'a aucun sens. J'ai une Table produit, dans cette Table produit, j'ai des produits, ces produits son catalogués par famille. J'ai la famille gros électroménager, je ne vais pas pour chaque produit gros électroménager écrire « gros électroménager », ça serait trop long, trop fatiguant et ça prendrait trop de place. Je vais donc faire une table dans lequel il va y avoir mes familles et chacune de ces familles va avoir un code. Code 1 pour électroménager, code 2 pour petit électroménager, code 3 pour autre chose. Partout où j'aurai du gros électroménager, je dirai que sa famille est le code 1. Ce qui me permettra de stocker le chiffre 1 au lieu de stocker le mot « gros électroménager » dans ma Table produit. Donc je gagne de la place, donc je peux mettre plus de produits. Pour que ça fonctionne, il faut que toutes les Tables aient un champs particulier qui s'appelle « une clé primaire ». La clé primaire c'est quoi ? C'est une colonne qui contient une valeur seule et unique dans toute la Table. En général, on utilise comme clé primaire un élément qui permet de distinguer un enregistrement de tous les autres enregistrements. Par exemple, je ne vais surtout pas utiliser comme clé primaire un prénom. Parce que dans une Table du personnel, il peut y avoir plusieurs personnes qui ont le même prénom. Je ne vais surtout pas utiliser un nom, parce qu'il peut y avoir des homonymes. Par contre, je vais utiliser un numéro de matricule dans une Table de personnel, parce que chaque salarié a un numéro de matricule seul et unique. Dans une Table produit je vais utiliser la référence du produit parce qu'il n'y a aucun produit qui a la même référence. Bref, je vais me débrouiller pour, dans chacune de mes Tables avoir une clé primaire. À quoi va me servir cette clé primaire ? Un, à identifier à coup sûr tel ou tel produit. Deux, à effectuer une liaison entre ma Table et une autre Table. Ma clé primaire dans la Table 1 va être transformée dans la Table 2 en ce que l'on appelle une « clé étrangère ». Je vais pouvoir dire : « Je trouve ici une clé primaire qui s'appelle « X », par exemple, je viens dans cette Table partout où je trouve X, je sais que les enregistrements correspondants sont liés à l'enregistrement qui se trouve dans la Table 1. Plus clairement, voilà un exemple, j'ai une Table du personnel, j'ai Dupont Pierre, son numéro de matricule c'est 1. Je suis dans une société d'intérim, eh bien, dans ma Table des entrées/sorties, partout où je vais rencontrer 1 comme clé étrangère, je sais qu'on parle de Dupont Pierre. Donc là j'ai une connexion de 1 à l'infini. Il n'y a qu'un seul salarié ayant le matricule 1, mais ce matricule 1 peut faire des entrées/sorties plusieurs fois dans l'année ou sur les différentes années, et donc, ici je vais trouver plusieurs fois le 1. Si je prends l'exemple « Dupont Pierre 1 », eh bien, en lisant cette Table, je sais que Dupont Pierre 1 est rentré E dans l'entreprise le 01/05/2001. Et puis je balaye, je balaye, je balaye,...Encore un 1. Monsieur Dupont Pierre S est sortit de l'entreprise le 18/05/2009. Et puis je continue et je vais peut être retrouver un 1 parce que monsieur Dupont Pierre a été réembauché, etc... Donc j'ai une liaison de 1 vers plusieurs, et cette liaison est bijective, je peux partir de Dupont Pierre et retrouver toutes les entrées/sorties correspondants à Dupont Pierre, mais je peux aussi me dire : « Tiens, le 18/05/2009 il y'a eu une sortie », qui sait, c'est numéro '1, je suis numéro 1, c'est Dupont Pierre. Je sais donc que Dupont Pierre est sorti le 18/05/2009, ça marche dans les deux sens. Alors dans certains cas, ce type de liaisons n'est pas suffisant, on est amenés à faire des liaisons plus grosses en faisant, par exemple, trois Tables. Là on a le même concept, dans la première Table j'ai une clé primaire, dans la deuxième Table j'ai une clé primaire, dans la dernière Table j'ai aussi une clé primaire. Bien sûr j'ai d'autres champs. Et donc là, partout où je vais trouver la clé primaire numéro 8, par exemple, eh bien partout où je trouverai cette clé primaire en tant que clé étrangère dans la Table de liaison, je sais qu'on fait référence à l'élément numéro 8 qui est dans la Table 1, et pareil de l'autre côté. Plus clairement, ça nous donne ceci : J'ai une Table fournisseur avec le fournisseur 1 Apple, le fournisseur 2 Dell. J'ai une Table produit avec le produit iMac 1, le produit iPhone 2, le produit Inspirion17R numéro 3. Je suis en capacité, avec cette organisation de dire : « le produit qui a comme référence numéro 3, je suis sa clé primaire qui devient une clé étrangère dans la Table de liaison. Partout où je trouve 3, je sais qu'on parle de l'Inspirion17R ». Donc je balaye et à un moment donné je trouve 3. Alors qu'est-ce que j'ai sur la ligne ? J'ai ici des valeurs qui sont communes au couple Inspirion17R et son fournisseur qui est monsieur numéro 2 qui est là. Si je prends numéro 2, je viens ici dans ma clé primaire, je cherche le numéro 2, je trouve Dell. Donc je suis en capacité de dire que l'Inspirion17R qui a le code 3, est livré par quelqu'un qui a le code 2, ce quelqu'un s'appelant monsieur Dell. Voilà, la boucle est bouclée, et je peux faire ça dans l'autre sens. Je vais dire que le fournisseur Dell qui a le code 2 je le suis,... Le code 2 est capable de me livrer le produit 3, c'est quoi le produit 3 ? C'est l'Inspirion17R, ça marche dans les deux sens. De la même manière pour Apple. Apple a le code 1, je cherche, partout où je trouve 1, il s'agit donc d'Apple. C'est une clé primaire, elle n'existe qu'en un seul exemplaire de ce côté, elle existe ici en autant d'exemplaires qu'il y'a de produits que Apple peut me délivrer, mais là, j'ai donc une relation de 1 à plusieurs, et partout où je trouve 1, en face, je trouve le code du produit associé. 1, ça veut dire qu'ici 1 est un iMac. Je balaye, 1, 2, je descend, 2 est un iPhone, donc je suis capable de dire qu'Apple me livre des iMac et des iPhones. Et face au 1 et face au 2 de la Table de liaison je peux stocker d'autres informations comme par exemple, le prix auquel Apple me commercialise son appareil, le délai de livraison, les conditions de règlement, les informations communes au couple, ce fournisseur, ce produit. Voilà donc le type de liaisons qu'on va être amenés à mettre en place très très couramment dans les bases de données. Nous avons donc les liaisons qui se font par l'intermédiaire d'une Table de lisaison, mais toujours sur le principe de : « Un élément vers plusieurs », ici pareil, un élément vers plusieurs, et nous avons le principe plus simple où nous avons un élément vers plusieurs en un seul exemplaire. Avec ce type de raisonnement, nous pouvons faire face à n'importe quel type de problème.

L'essentiel d'Access 2016

Apprenez à concevoir une base de données relationnelle avec Access. Utilisez les tables, saisissez des données, effectuez des requêtes de sélection, créez des formulaires, etc.

5h30 (78 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :9 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !