Cours programmation Access





Précédente      Contenu     Suivante
Les bases de données relationnelles






Le design est important


  • Pour comprendre le design et la création de bases de données relationnelles, il faut utiliser les outils appropriés. Il existe de nombreux livres et sites Web sur le sujet.

    Pour cette partie du cours nous utiliserons l'information fournie dans l'Aide d'Access et nous étudierons la base de données COMPTOIR.MDB qu'on trouve dans le répertoire Exemples d'Access.




Design relationnel

  • Ce n'est pas toujours pratique de garder toutes les données dans une table

  • Par exemple: dans BOTTIN, si on veut le nom du programme, la durée du programme et le nom du coordonnateur en plus du numéro de programme, on pourrait modifier la table ETUDIANTS comme illustré dans Fig. 9-1.



  • Et lorqu'on entrera des données dans la table, il faudra noter à chaque fois le nom du coordonnateur, le nom du programme, etc.; si on a 200 étudiants dans un programme ces informations seront enregistrées 200 fois (toutes écrites exactemment de la même façon à chaque fois ???); éventuellement, la table aurait l'air de ceci:



  • En plus de répèter des centaines de fois des informations inutiles, on risque d'introduire des erreurs à chaque entrée

  • Voici quelques points tirés du document "Designing a Database" de Microsoft:

    • Steps in Designing a Database

      • Here are the steps in the database design process.

      • Step One: Determine the purpose of your database. This will help you decide which facts you want Microsoft Access to store.

      • Step Two: Determine the tables you need. Once you have a clear purpose for your database, you can divide your information into separate subjects, such as "Employees" or "Orders." Each subject will be a table in your database.

      • Step Three: Determine the fields you need. Decide what information you want to keep in each table. Each category of information in a table is called a field and is displayed as a column in the table. For example, one field in an Employees table could be Last Name; another could be Hire Date.

      • Step Four: Determine the relationships. Look at each table and decide how the data in one table is related to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as necessary.

      • Step Five: Refine your design. Analyze your design for errors. Create the tables and add a few records of sample data. See if you can get the results you want from your tables. Make adjustments to the design as needed. Don't worry if you make mistakes or leave things out of your initial design. Think of it as a rough draft that you can refine later. Experiment with sample data and prototypes of your forms and reports. With Microsoft Access, it's easy to change the design of your database as you're creating it. However, it becomes much more difficult to make changes to tables after they're filled with data and after you've built forms and reports. For this reason, make sure that you have a sound design before pushing too far ahead.

    • Common Design Problems

      • There are several common pitfalls you may encounter when designing your database. These problems can cause your data to be harder to use and maintain. The following are signs that you should reevaluate your database design:

        • You have one table with a large number of fields that don't all relate to the same subject. For example, one table might contain fields pertaining to your customers as well as fields that contain sales information. Try to make sure each table contains data about only one subject.

        • You have fields that are intentionally left blank in many records because they aren't applicable to those records. This usually means that the fields belong in another table.

        • You have a large number of tables, many of which contain the same fields. For example, you have separate tables for January sales and February sales, or for local customers and remote customers, in which you store the same type of information. Try consolidating all the information pertaining to a single subject in one table. You may also need to add an extra field, for example, to identify the sales date.



Normalisation

  • La solution aux problèmes enumérés ci-haut est un processus qui s'appelle normalisation

  • Il y a plusieurs degrés de normalisation mais, à son plus simple, de façon intuitive, il s'agit tout simplement de créer deux tables et d'établir une relation entre les deux



  • La normalisation se fait d'abord sur papier - il faut savoir quelles tables on veut créer et les champs qu'on veut garder

  • I y a des outils informatisés pour faire la modélisation et la normalisation - des "Modeling tools" - par exemple, App Modeler de Sybase



Exercices à faire en classe

  • Dessiner le modèle relationnel pour le cas de l'Hopital


  • Dessiner le modèle relationnel pour le cas de Sports


  • On veut modéliser le processus de vente chez un détaillant d'automobiles. Quelles sont les informations dont on pourrait avoir besoin?












Haut de la page