FICHE N°1 TSGERI FICHE 01 La base de données : première approche Sommaire I Définition d’une base de données............................................................................................................... 2 II Définition d’une table................................................................................................................................. 2 III La structure d’une table ............................................................................................................................ 3 IV Les types de données ................................................................................................................................ 4 A. Les trois grands types ............................................................................................................................ 4 1. Le type numérique ............................................................................................................................ 4 2. Le type texte ...................................................................................................................................... 4 3. Le type Date/heure............................................................................................................................ 4 B. Quelques types particuliers................................................................................................................... 5 1. Le type monétaire ............................................................................................................................. 5 2. Le type NuméroAuto ......................................................................................................................... 5 4. Le type Lien hypertexte ..................................................................................................................... 5 V La structure de la base de données, son schéma relationnel .................................................................... 5 A. Définitions ............................................................................................................................................. 5 B. Représentations du schéma relationnel ............................................................................................... 5 1. La représentation d’Access................................................................................................................ 5 2. Une représentation « en ligne » ........................................................................................................ 6 3. Une représentation graphique .......................................................................................................... 6 4. L’intégrité référentielle...................................................................................................................... 7 SEQUENCE N°1 : I Définition d’une base de données 3. Le type Oui/Non ................................................................................................................................ 5 1 FICHE N°1 TSGERI 39 I Définition d’une base de données Une base de données contient l’ensemble des données informatisées d’un système d’information. Cette base est implantée physiquement sur le disque d’un ordinateur sous la forme d’un fichier. Le logiciel spécialisé dans la gestion d’une base de données s’appelle un SGBDR (système de gestion de base de données relationnelles). Exemple : la base de données est stockée dans le fichier qui s’appelle «D:\NS\QUEYRAS1.mdb » (il se trouve donc sur le disque D, sous le répertoire NS). Elle est gérée par le SGBDR Access, comme l’indique l’extension mdb du fichier (microsoft data base). II Définition d’une table SEQUENCE N°1 : I Définition d’une base de données Une base de données est constituée par des tables reliées entre elles, c’est pourquoi on parle de base de données relationnelles. Une table est un tableau. Ses lignes sont appelées les enregistrements et l’intitulé de ses colonnes les champs. À l’intersection d’une ligne et d’une colonne figure une valeur. Exemple : la base de données QUEYRAS1.mdb est constituée de deux tables : PROPRIETAIRES et APPARTEMENTS, reliées entre elles par un champ commun : [N° de propriétaire]. Ici, on voit le contenu des tables. 2 FICHE N°1 TSGERI III La structure d’une table SEQUENCE N°1 : III La structure d’une table Définition : la structure d’une table donne la liste des champs qui la composent. Pour chaque champ, elle précise ses propriétés, essentiellement : – son nom codé. Exemple : APT_TYPE ; – sa légende (son nom en clair). Exemple : Type d’appartement ; – son type. Exemple : Texte de longueur maximale 2 caractères ; – son caractère obligatoire ou facultatif (si une valeur est ou non requise pour ce champ) ; – sa plage de valeurs, le cas échéant. Exemple : “F1”, “F2”, “F3”, “F4”. Le N° de propriétaire de APPARTEMENTS doit faire référence à un N° de propriétaire de PROPRIETAIRES Exemple : la structure de la table APPARTEMENTS et les propriétés du champ APT_TYPE : 3 FICHE N°1 TSGERI IV Les types de données Pour chaque champ, il faut préciser le type d’informations que celui-ci sera capable de stocker. À chaque type correspond la place en octets (un octet = une combinaison de huit 0 ou 1) nécessaire sur le disque pour enregistrer les valeurs du champ et le type d’opérations qu’il pourra subir. A. Les trois grands types Il existe principalement trois grands types ; chacun peut être décliné en sous-types. 1. Le type numérique Il permet de stocker des données quantitatives sur lesquelles des calculs pourront être faits ; il occupera 1, 2, 4 ou 8 octets selon que les nombres à enregistrer seront des entiers ou des nombres réels (avec des virgules). Ce type comprend donc des sous-types (octet, entier, entier long, réel simple, réel double). Exemple : APT_SURFHAB, la surface habitable d’un appartement, est du type numérique ; sous-type entier. 2. Le type texte Il permet de stocker des données non quantitatives. Attention, un champ destiné à stocker des codes postaux ou des numéros de téléphone, etc. appartiendra à ce type puisque aucun calcul numérique ne le concerne. Exemple : APT_NUM est du type texte avec une taille maximale de 5 caractères. 3. Le type Date/heure Extrait de l’aide en ligne de ACCESS : La propriété Null interdit (Required) permet de spécifier si une valeur est ou non requise dans un champ. Si la valeur Oui est attribuée à cette propriété, lorsque vous entrez des données dans un enregistrement, vous devez entrer une valeur dans le champ. APT_TYPE ne pourra prendre ses valeurs que dans cet ensemble. In signifie « dans », les parenthèses symbolisent l’ensemble, des guillemets entourent chaque valeur parce qu’elles sont non numériques. En cas d’une saisie non conforme, un message d’erreur avertira l’utilisateur. Lors de l’affichage du contenu de la table, la légende de chaque champ est utilisée comme entête de colonne. Pour les champs de type texte, indique la taille (le nombre de caractères maximum), ici 2. Pour les champs de type numérique, indique le sous-type choisi (octet, entier long, réel simple,réel double). SEQUENCE N°1 : IV Les types de données Il permet de gérer le temps. C’est un type très « riche » puisqu’il prend en compte le nombre de jours par mois, y compris le cas particulier du mois de février. Il permet de programmer très simplement des calculs sur les dates et les heures. Ce type occupe 8 octets. 4 FICHE N°1 TSGERI 39 9 B. Quelques types particuliers 1. Le type monétaire Valeurs monétaires et données numériques utilisées dans des opérations mathématiques sur des données de 1 à 4 décimales. Précision à 15 chiffres à gauche de la virgule et à 4 chiffres à droite. Ce type sera bien sûr très utile pour enregistrer les données quantitatives de gestion dont la plupart sont des grandeurs monétaires. Il occupe 8 octets. Exemple : APT_TARIF. 2. Le type NuméroAuto Numéro séquentiel unique (incrémenté de 1 en 1) ou numéro aléatoire attribué par Microsoft Access lorsqu’un nouvel enregistrement est ajouté à une table. Les champs Numéro-Auto ne peuvent pas être modifiés. La numérotation séquentielle est très utile pour identifier les documents de gestion comme les factures, les bons de commande, etc. Ce type occupe 4 octets. Exemple : PRO_NUM (N° de propriétaire de la table PROPRIÉTAIRES). Il est aussi appelé type logique ou type booléen : valeurs Oui et Non et champs qui contiennent exclusivement une valeur duale (Oui/Non, Vrai/Faux ou Actif/Inactif). Il n’occupe qu’un octet. 4. Le type Lien hypertexte Il permet d’enregistrer un chemin d’accès vers un fichier. D’autres types existent encore : une base de données peut être multimédia et enregistrer des données de type son et image, par exemple. V La structure de la base de données, son schéma relationnel A. Définitions La structure de la base de données est l’ensemble des structures de toutes ses tables et des liens qui existent entre elles. Elle est représentée sous la forme d’un schéma. La clé primaire, obligatoire pour chaque table, permet d’identifier de façon unique chaque ligne de la table. La clé étrangère (ou clé externe) matérialise la liaison de la table vers une autre table. B. Représentations du schéma relationnel 1. La représentation d’Access Exemple : schéma relationnel de la base de données QUEYRAS1.mdb proposé par Access. SEQUENCE N°1 : V La structure de la base de données, son schéma relationnel 3. Le type Oui/Non 5 FICHE N°1 TSGERI Le schéma relationnel est indépendant du SGBDR sur lequel la base de données va être implantée. On parle de modèle relationnel ou de modèle logique des données (MLD). D’autres représentations, indépendantes de tout SGBDR, peuvent aussi bien être proposées. Exemple : APPARTEMENTS (APT_NUM, APT_PRO#, APT_ADR1, etc.) PROPRIETAIRES (PRO_NUM, PRO_NOM, etc.) Cette représentation non graphique est commode, car rapide à écrire, mais elle est pauvre et insuffisante dès que le nombre de tables se multiplie. Le lien entre la clé étrangère et la clé primaire qu’elle référence n’est pas symbolisé. Il faut donc soit connaître le plan de codification mis en oeuvre, soit donner à la clé étrangère le même nom que la clé primaire qu’elle référence. 3. Une représentation graphique Cette représentation est bien meilleure. Elle s’adapte à des schémas beaucoup plus complexes et met bien en relief les contraintes d’intégrité référentielles. SEQUENCE N°1 : V La structure de la base de données, son schéma relationnel 2. Une représentation « en ligne » 6 FICHE N°1 TSGERI 4. L’intégrité référentielle Dans l’aide en ligne d’Access concernant cette case à cocher, nous lisons (en italique) : 1. « Dans le champ clé externe de la table liée, vous ne pouvez pas entrer une valeur qui n’existe pas dans la clé primaire de la table primaire. » Autrement dit, on ne pourra pas saisir un appartement (un contrat) d’un propriétaire qui n’a pas été au préalable saisi dans la table PROPRIETAIRES. 2. «Vous ne pouvez pas effacer un enregistrement de la table primaire si des enregistrements correspondants existent dans une table liée. » Par exemple, vous ne pouvez pas effacer l’enregistrement d’un propriétaire dans la table PROPRIETAIRES s’il y a des appartements qu’il possède dans la table APPARTEMENTS. Sauf si la troisième option est cochée. 3. «Vous ne pouvez pas changer une valeur clé primaire dans la table primaire si cet enregistrement possède des enregistrements liés. » Par exemple, vous ne pouvez pas changer le N° d’un propriétaire dans la table PROPRIETAIRES si des appartements lui appartiennent dans la table APPARTEMENTS. Sauf si la deuxième option est cochée. En respectant ces trois règles, on satisfait à la contrainte (on est obligé de respecter ces règles) d’intégrité (elle est au coeur même de la base de données et elle lui confère son caractère relationnel) référentielle (la clé étrangère doit faire référence à une clé primaire). Les deux dernières règles seront ou non appliquées (si l’on coche la case correspondante), la contrainte sera ainsi moins forte. La décision sera prise en fonction de l’analyse du système d’information dont la base de données est la matérialisation informatisée. 39 SEQUENCE N°1 : V La structure de la base de données, son schéma relationnel Voici la boîte de dialogue qui apparaît lorsqu’on « double-clique » sur le trait qui relie APPARTEMENTS et PROPRIETAIRES dans la fenêtre qui contient le schéma relationnel sous Access : 7