Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Access » Access 2010 » Notions de base » Démarrer sur Access » Analyse : tablesConnexion
 


Présentation de l'exemple

Rien de tel qu'un cas pratique pour traiter toutes les étapes de construction d'une base de données. Nous construirons une base de données de type VidéoClub, que vous connaissez déjà en partie si vous avez visité le Grenier du site.

Le coeur de métier du vidéoclub est la location de vidéos, bien sûr. Mais on ajoutera également une "dimension cinéphile" en stockant quelques informations sur les acteurs et leurs rôles, les réalisateurs...

Analyse - Etape 1

On suppose que vous avez déjà préparé l'analyse générale (cf. Préparation d'un projet). Dans notre cas, nous avancerons un peu plus en diagonale parce qu'il s'agit d'un cas fictif.

Dans cette première étape, nous allons dégrossir le modèle relationnel en formulant les premières relations. Ceci va nous permettre d'identifier les premières entités, et d'avoir une première photo des tables.

Il existe des méthodologies (comme Merise) qui détaillent encore plus la phase d'analyse. Ici, nous allons plus vite à l'essentiel, à l'attention des personnes qui n'ont pas de notions d'analyse...

Important
Lorsque vous vous posez une question comme : "1 acteur peut tourner plusieurs films", formulez obligatoirement la question inverse : "1 film peut comporter plusieurs acteurs".

Plus loin, vous verrez que cela permet de trouver mécaniquement vos tables. Si vous oubliez l'une des 2 questions, vous pourriez faire des erreurs de construction importantes.

Remarques
L'analyse est un processus itératif. Vous ne trouverez pas tout de suite toutes les tables et leurs relations. Il faut poser un premier schéma, réévaluer les contraintes, les demandes, laisser décanter... et revenir affiner le schéma encore et encore, jusqu'à ce que celui-ci puisse intégrer toutes les conditions.

D'autre part, lors de l'analyse, il faut raisonner sur les dépendances entre tables ("1 acteur tourne plusieurs films"), plutôt que sur la mise en forme graphique ("je voudrais une liste verticale des acteurs"). Contrairement à Excel, dans lequel on construit souvent un tableau en fonction du résultat souhaité à l'impression...

Screencast
Cliquez sur le bouton ci-dessous pour visionner la vidéo.

Analyse - Etape 2

En affinant un peu le projet, on se rend compte que le client ne loue pas vraiment des films. Il faut définir plus précisément ce qu'est le produit réel. Dans la réalité :

  • Un film comme "Amélie Poulain" est proposé sous forme d'un boîtier, d'une vidéo. Le film est l'oeuvre cinématographique, la vidéo est le boîtier physique réellement loué.
  • Un film peut se décliner en plusieurs vidéos (le vidéoclub peut proposer plusieurs boîtiers "Amélie Poulain" à la location).
  • Une vidéo elle-même ne contient qu'un seul film. Comme d'habitude, tout ça se discute, mais ce sera notre scénario !

D'où l'aménagement suivant... en vidéo justement !

Screencast
Cliquez sur le bouton ci-dessous pour visionner la vidéo.

Analyse - Etape 3

On continue les itérations sur le schéma de relations. Dans ce qui suit :

  • On souhaite pouvoir classifier les acteurs, les réalisateurs et les films par pays.
  • On souhaite également répertorier les clients par villes (celles-ci dépendant d'ailleurs des pays).

Info
Il est classique de placer les informations Ville (Nom de la ville, code postal notamment) dans la table des clients. Mais ceci crée des redondances, donc du temps de saisie supplémentaires, avec les risques d'erreurs qui vont avec.

Au contraire, une table séparée pour les villes devrait rendre pas mal de services !

Screencast
Cliquez sur le bouton ci-dessous pour visionner la vidéo.

Analyse - Etape 4

A ce stade, le schéma comporte 2 types de relations :

  • Les relations "1:n" (ou "1 à plusieurs")
    La première flèche de ces relations comporte la mention "1 à plusieurs", la seconde flèche la mention "1 à 1".
  • Les relations "n:n" (ou "plusieurs à plusieurs").
    Les 2 flèches de ces relations comportent la mention "Plusieurs à plusieurs".

Les moteurs de bases de données gèrent nativement le premier type de relation (qu'on pourrait appeler "type de relation naturel"). Dans ce cas, par convention, il n'est pas utile de représenter les 2 flèches, seule la flèche "1 à plusieurs" est conservée.

Nous allons donc masquer tous les relations "1 à 1" implicites dans la vidéo ci-dessous. L'avantage est que le schéma va être sensiblement allégé, sans perdre de son sens.

tracer pour supprimer ?
Pourquoi tracer des relations pour les supprimer ensuite ? On peut effectivement se poser la question !

L'intérêt de matérialiser toutes vos relations, dans les 2 sens, est de vous forcer à vous poser toutes les questions, et à y répondre une à une en y réfléchissant soigneusement. De cette manière, il est plus sûr de mettre en évidence les relations "n:n", notamment.

Info
Les relations "1:n" à simplifier sont coloriées en violet dans la vidéo. Les relations "n:n" figurent en bleu, et seront aménagées au prochain paragraphe.

Screencast
Cliquez sur le bouton ci-dessous pour visionner la vidéo.

Analyse - Etape 5

Il nous reste à traiter les relations "plusieurs à plusieurs". Celles-ci ne peuvent pas être directes, entre 2 tables comme c'est le cas actuellement. Il faut ajouter une table intermédiaire (ou "table de jonction"), comme indiqué sur l'article Relation Plusieurs à Plusieurs du Grenier.

Une fois la table de jonction T3 insérée entre 2 tables T1 et T2, on peut :

  • Supprimer les relations directes entre T1 et T2.
  • Créer des relations simples "1:n" entre T1 et T3, puis T2 et T3.

Info
Visuellement, on voit que les tables T1 et T2 convergent vers la table de jonction T3.

Screencast
Cliquez sur le bouton ci-dessous pour visionner la vidéo.


Mes livres sur Access...
[cliquez pour plus d'infos]





Hit-Parade 
 
[ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]