D. Les tables (structure)
Résumé de section
-
Certains champs vont avoir un rôle plus important que d'autres puisqu'ils vont servir de "clé" ou "d'index". Les tables vont être "mises en relation" afin que les données soient toutes disponibles.
Une table contient toujours au moins un champ qui identifie de manière unique chacun des enregistrements. La valeur d'un champ sur lequel est associée une clé primaire, est unique (pas de doublon - ces derniers sont automatiquement rejetés lors de la saisie).
ACTION
onglet "creation"
groupe "outils" (2ème bloc)
<clic g> sur la case(sélecteur de champ à gauche du champ à modifier)
le champ est encadré et ses propriétés sont affichées dans le volet bas<clic g> sur
Une petite clé s'affiche à gauche du nom de champCONSEIL
L'idéal est d'accepter la proposition par Access comme clé primaire d'un champ de type "NuméroAuto" à incrémentation automatique et indépendant des données, donc toujours unique
avancé
Une clé primaire peut être définie sur un champ, mais aussi sur un ensemble de champs ; il suffit de les sélectionner en maintenant la touche <ctrl> enfoncée ; c'est alors la combinaison de champs qui doit être unique
exercice
Dans la table "ouvrage" de la base en cours "bibliotheque",
Vérifier la correspondance de la table "ouvrages" avec les caractéristiques ci-dessous et corriger au besoin puis créer les tables indiquées avec leurs propriétésOUVRAGE
OUVRAGE (suite)
OUVRAGE (suite)
ÉDITEUR
AUTEUR
ECRIT
EMPRUNT
CONSEIL
La table "emprunt" possède une clé composée de 3 champs ; les sélectionner conjointement avec <ctrl> puis cliquer sur <clé primaire> - Penser à enregistrer la structure
EXEMPLAIRE
LECTEUR
LECTEUR (suite)
TYPEGENRE
SERIE
La création d'un champ indexé dans une table accélère l'accès aux données fréquemment consultées ou triées. Les valeurs d'un champ indexé sont triées dans un ordre croissant, en association avec leur numéro d'enregistrement respectif. Une valeur cherchée sera plus rapidement trouvée dans la liste et permettra d'accéder ainsi plus vite à l'ensemble des champs de l'enregistrement voulu.
ACTION
bouton gauche
<clic g> sur la case
(sélecteur de champ à gauche du champ à modifier)
le champ est encadré et ses propriétés sont affichées dans le volet basen face de
, indiquer "non" ou "oui", avec ou sans doublons
ATTENTION
Les indexations accélèrent la consultation et les tris, mais ralentissent les mises à jour d'enregistrement
LES PARAMÈTRES POSSIBLES SONT LES SUIVANTS :
Non
Ne pas créer d'index sur le champ spécifié
Oui - avec doublons
Créer un index sur le champ spécifié
(avec possibilité de valeurs en double sur ce champ)Oui - sans doublons
Créer un index unique sur le champ spécifié
infos
Pour un index unique, la valeur saisie ne sera acceptée que si celle-ci n'existe pas déjà dans un autre enregistrement (champs servant d'identificateur comme le matricule, le code produit, l'Isbn, la référence fournisseur)
Pour affiner les recherches d'enregistrement, il est utile de créer des index composés sur plusieurs champs à la fois (jusqu'à 10 champs).
ACTION
onglet "creation"
groupe "afficher/masquer" (3ème bloc)<clic g> sur la case
(sélecteur de champ à gauche du champ à modifier)
le champ est encadré et ses propriétés sont affichées dans le volet bas<clic g> sur
Les champs indexés s'affichent dans une fenêtreavancé
Pour créer un index multi champs, ajouter une ligne pour chaque champ, en ne faisant figurer le nom de l'index que sur la première ligne
L'index de nom Lecteur est composé de NomLecteur et PrenomLecteurexercice
Dans la table "lecteur" de la base en cours "bibliotheque",
Créer un index composé des champs NomLecteur et PrenomLecteurPour relier les données de deux tables, il est nécessaire de créer une relation entre les deux. Des champs spécifiques dans chacune des deux tables reliées sont nécessaires pour cette opération. Dans la table principale, il s'agit de la clé primaire et dans l'autre table d'une clé étrangère.
ACTION
onglet "creation"
groupe "relations" (5ème bloc)<clic g> sur
sélectionner les tables à a jouter
<clic g> sur
Les tables s'affichent (avec leurs éventuelles relations)
<clic g> surinfos
permet à tout moment d'afficher la liste des tables
CONSEIL
Attribuer le même nom à des champs contenant les mêmes données (clé primaire d'une table et clé étrangère de l'autre) pour les identifier facilement
CRÉER UNE RELATION
ACTION
bouton gauche
Dans la fenêtre relation
<faire glisser> le champ "clé étrangère" d'une table vers le champ "clé primaire" de l'autre (la boite de dialogue de relation s'affiche)
appliquer si nécessaire l'intégrité référentielle
<clic g> sur
la relation est symbolisée par une ligne de jonction entre les 2 champsPARAMÈTRES
L'intégrité référentielle contrôle l'intégrité des relations et prémunit contre l'apparition de données incohérentes
Mise à jour en cascade des enregistrements de même valeur de clé étrangère
(option conseillée)Effacer en cascade les enregistrements de même valeur de clé étrangère
(option dangereuse si utilisée à tort)CONSEIL
À tout moment des relations peuvent être ajoutées, ou supprimées ; mais il est indispensable de définir les relations entre les tables avant de créer formulaires, requêtes et états
ATTENTION
Une seule relation entre deux mêmes tables est autorisée. Une table, dont la clé primaire est reliée à d'autres tables, ne pourra pas être détruite, sauf si ces dernières le sont déjà ou que la relation ait été supprimée. Les champs reliés ne peuvent pas être détruits
TYPE DE RELATIONS :
une définit une relation "une à une" entre les deux tables. Chaque enregistrement de la table source est associé à un seul enregistrement de la table destination.
plusieurs définit une relation "une à plusieurs" entre deux tables. Chaque enregistrement de la table source peut être associé à plusieurs enregistrements de la table destination. C'est à dire que chaque valeur de la clé primaire peut exister plusieurs fois dans la table de destination.
Intégrité référentielle : Lors de l'ajout ou de la suppression d'enregistrements dans les tables liées, les données seront gérées de manière cohérente.
MODIFIER UNE RELATION
ACTION
bouton gauche
Dans la fenêtre relation
<double clic> ou <clic droit>sur le trait symbolisant la relation
la boite de dialogue de relation s'affiche
<clic g> sur
modifier éventuellement
pour valider
la relation est symbolisée par une ligne de jonction entre les 2 champsexercice
Dans la base en cours "bibliotheque",
Créer les relations entre les tables telles que ci-dessous (avec intégrité référentielle)
Partir de préférence des tables les plus éloignées de la table principale "ouvrage"4 PROPRIÉTÉS D'UNE TABLE : VALIDATION
Les propriétés de la table donnent des informations sur cette table et permettent aussi de vérifier les enregistrements pour un ou plusieurs champs.
ACTION
onglet "creation"
groupe "afficher/masquer" (3ème bloc)<clic g> sur
La feuille des propriétés s'affiche dans le volet droitDescription
Décrit le du contenu et la fonction de la table
Valide si
Condition à vérifier pour qu'un enregistrement soit valide
Message si erreur
Affiche un message quand la règle de validation n'est pas respectée
RÈGLE DE VALIDATION DES ENREGISTREMENTS :
La validation des données s'effectue dès que l'on quitte le champ. Les règles de validation d'une table peuvent contenir des références à un ou plusieurs champs de la table, ce qui est très utile pour comparer les valeurs de différents champs. Les champs sont encadrés par [ ]. Une seule règle est définie, mais plusieurs critères peuvent être combinés.
Valide si
[DateRetour]>=[DateEmprunt] Ou [DateRetour] Est Null
Message si erreur
Attention ! problème de date
exercice
Dans la table "emprunt" de la base en cours "bibliotheque",
Créer les règles de validation :
Valide si : [DateRetour]>=[DateEmprunt] Ou [DateRetour] Est Null
Message si erreur : attention ! problème de dateLes propriétés simplifiées de la table sont affichées lorsque la table n'est pas en mode "création" ou à partir du volet de navigation.
PROPRIETES SIMPLIFIEES
ACTION
bouton droit
pointer sur la table dans le volet de navigation
<clic droit>5 PROPRIÉTÉS D'UNE TABLE : SOUS-FEUILLE
Du fait de la structure relationnelle, on peut organiser un affichage hiérarchique des données par l'intermédiaire de la propriété de table Sous-feuille données nom.
À partir des relations existant dans la base de données, Access propose automatiquement l'affichage de la table liée.FEUILLE DE PROPRIÉTÉS EN MODE CRÉATION
DÉVELOPPER / RÉDUIRE
ACTION
bouton gauche
table ouverte en mode "feuille de données"
<clic g> sur leen face de l'enregistrement (
pour réduire)
exemplePour afficher les ouvrages écrits par un auteur, ouvrir la table "auteur"
<clic g> sur le "+" en face de l'auteurSOUS-FEUILLE EN MODE FEUILLE DE DONNEES
infos
Pour développer / réduire tous les enregistrements de la feuille, <clic g> auparavant sur
pour sélectionner toute la table