Mémo ACCESS - Espace d`authentification univ-brest.fr

Transcription

Mémo ACCESS - Espace d`authentification univ-brest.fr
Mémo ACCESS
Pascal Ballet
Université de Bretagne Occidentale
I Qu'est-ce qu'Access ?
Access est un système de gestion de base de données relationnelle.
En d'autres mots, Access permet de stocker des données sous la forme de tables reliées entre-elles par des
relations. Nous verrons plus loin ce que signifient les relations. Pour l'instant concentrons nous sur les
données.
II Qu'est-ce qu'une table ?
II-1 Une table vide
Une table peut être vu comme l'entête d'un simple tableau. Par exemple, le tableau suivant (carnet d'adresse)
peut être vu comme une table ayant 4 champs : Nom, Prénom, Adresse et Téléphone.
Carnet d'adresse (sous la forme d'un simple tableau)
Nom
Prénom
Adresse
Téléphone
En effet, sous Access, la table permettant de faire l'équivalent de ce carnet d'adresse est :
=
Carnet d'adresse (sous la forme d'une table Access)
Nom du champ
Nom
Prénom
Adresse
Téléphone
Il faut ici bien comprendre que le carnet d'adresse sous forme de table correspond uniquement à l'entête du
carnet d'adresse sous la forme d'un simple tableau. Nous avons ici simplement mis l'entête verticalement au
lieu d'horizontalement.
II-2 Une table remplie
Le simple tableau utilisé précédemment était vide (hormis l'entête). De même qu'il est possible de remplir un
tableau...
Nom
Prénom
Adresse
Téléphone
Célère
Jacques
Brest
02 23 45 67 89
Némar
Jean
Quimper
02 98 76 54 32
Ile
Ode
Lannion
02 76 54 32 10
... il est possible de remplir une table :
Nom
Prénom
Adresse
Téléphone
Célère
Jacques
Brest
02 23 45 67 89
Némar
Jean
Quimper
02 98 76 54 32
Ile
Ode
Lannion
02 76 54 32 10
On remarque que maintenant il n'y a plus de différence entre l'affichage de la table et celui du tableau.
En effet, lorsque l'on crée un nouveau tableau, on se préoccupe généralement tout de suite des cases que l'on
va remplir. Quand on crée une table, on passe par une étape supplémentaire qui est la création de l'entête de
la table (à savoir les champs).
Nous devons faire cela en premier car une table demande également de réfléchir sur le type de données
qu'elle va contenir (chaîne de caractères, nombres entiers, nombres monétaires...).
II-3 Résumé
Pour résumé, une table en mode création/modification sous Access est sous la forme :
Nom du champ
Nom
Prénom
Adresse
Téléphone
Une table en mode saisie est sous la forme :
Nom
Prénom
Adresse
Célère
Jacques
Brest
Némar
Jean
Quimper
Ile
Ode
Lannion
Téléphone
02 23 45 67 89
02 98 76 54 32
02 76 54 32 10
III Qu'est-ce qu'une relation ?
III-1 Plusieurs numéros de téléphones
Il est tout à fait imaginable que une personne présente dans le carnet d'adresse possède plusieurs numéros de
téléphone. Dans ce cas, la table pourrait s'écrire :
Nom
Redford
Prénom
Robert
Adresse
Brest
Bon
Ile
Jean
Ode
Quimper
Lannion
Téléphone
02 23 45 67 89
06 12 23 34 56
02 98 76 54 32
02 76 54 32 10
01 23 45 67 89
06 65 98 74 32
Cette notation convient bien pour afficher les numéros de téléphones.
=> Cependant, dans une base de données, le nombre de caractères que l'on peut placer dans un champ n'est
pas infini (256 maximum pour les chaînes de caractères avec Access).
=> De plus, si un champ prend de la place pour rien, la base va très vite grossir et ne sera rapidement plus
utilisable. Imaginons par exemple que nous placions 256 caractères pour le champ Téléphone. La place
occupée par nos 3 contacts (Redford, Bon et Ile) serait de 256x3 = 768. Hors M. Bon ne possède qu'un seul
numéro de téléphone (qui occupe donc seulement 14 caractères en comptant les espaces). Donc nous perdons
256 - 14 = 242 caractères.
Conclusions, les informaticiens ont utilisé une autre technique qui consiste à créer une nouvelle table qui
s'appelle Téléphones. On remplace ainsi un champ par une table complète.
La nouvelle table se définie alors comme suit :
Téléphones :
Nom
Téléphone
Redford
02 23 45 67 89
Redford
06 12 23 34 56
Bon
02 98 76 54 32
Ile
02 76 54 32 10
Ile
01 23 45 67 89
Ile
06 65 98 74 32
Comme nous le constatons, nous répétons plusieurs fois le même nom pour connaître à coup sûr à qui
appartient le numéro de téléphone.
Ainsi nous avons maintenant deux tables pour mémoriser nos données, donc dans la table Carnet, le champ
Téléphone n'est plus utile :
Carnet
Nom
Redford
Bon
Ile
Téléphones
Nom
Redford
Redford
Bon
Ile
Ile
Ile
Prénom
Robert
Jean
Ode
Adresse
Brest
Quimper
Lannion
Téléphone
02 23 45 67 89
06 12 23 34 56
02 98 76 54 32
02 76 54 32 10
01 23 45 67 89
06 65 98 74 32
Maintenant il faut, pour chercher le numéro de téléphone d'un contact, consulter la nouvelle table
Téléphones. Ce n'est pas très pratique quand il s'agit de simples tableaux mais grâce à Access nous pouvons
relier facilement les deux tables pour retrouver en un clic souris tous les numéros de téléphone d'un
correspondant. En cliquant sur le bouton Relations de la barre d'outils (puis afficher les 2 tables), on crée un
lien (une relation) entre les deux tables sur les données qu'elles ont en commun, à savoir le nom des contact.
Table Carnet
Nom
Prénom
Adresse
1
*
Table Téléphones
Nom
Téléphone
NB : notons que les tables sont affichées comme pour le mode création/modification, c'est à dire que l'entête
est verticalement disposé.
A partir de là, lorsqu'on affiche en mode saisie la table Carnet, il devient possible d'afficher tous les numéros
de téléphone d'un contact :
Nom
Prénom
Adresse
- Redford
Robert
Brest
02 23 45 67 89
06 12 23 34 56
+ Bon
Jean
Quimper
+ Ile
Ode
Lannion
En effet, Access fait automatiquement la recherche des numéros de téléphones en fonction du nom du
contact.
=> Dorénavant, un contact peut avoir autant de numéros de téléphones que nécessaire !
=> La place mémoire (ou disque dur) nécessaire pour stocker les numéros de téléphone est réduit à 14
caractères !
=> Le lien (la relation) entre les deux tables se fait automatiquement !
III-2 Résumé
Les relations entre les tables permettent de faciliter / optimiser le traitement informatique des données.
Lorsque la base de donnée devient assez grande (de nombreuses tables), les relations entre les tables
facilitent la mise au point de la base de données en séparant bien plusieurs données (un peu comme une
maison possède plusieurs pièces et non pas une seule grande. Même si cela est possible, cela n'est pas
pratique de mélanger la cuisine avec les chambres !).
IV Le coeur d'Access
Nous avons vu comment stocker les données avec Access. C'est donc sous la forme de tables (très proche de
la notion de tableau de type Excel) reliées entre-elles (pour faciliter leur manipulation et optimiser le
stockage).
Ces tables reliées entre-elles sont le coeur d'Access (en fait, c'est le coeur de toute base de données). Les
informaticiens auraient pu en rester là, mais un des avantage de l'ordinateur est le traitement rapide des
données et il est donc possible d'effectuer des traitements sur la base de données pour extraire certaines
informations et faire des statistiques.
V Les requêtes
V-1 Consultation de la base de données
Pour consulter la base, la manière la plus simple est d'ouvrir les tables pour voir leur contenu. Cela est
possible lorsque le nombre de données mémorisées n'est pas trop grand. Cependant, au delà d'un certain
nombre (généralement au delà de 1000), il est utile de pouvoir interroger la base.
Pour donner une idée de l'intérêt de la base de données, imaginons que nous ayons plus de 100 000 contacts
dans notre Carnet d'Adresses. Une première solution consiste à faire comme dans un annuaire papier, c'est à
dire faire défiler tous les noms jusqu'à trouver le bon. Cela se fait relativement bien sur papier (type annuaire
téléphonique) mais beaucoup moins bien sur l'écran de l'ordinateur (car moins intuitif et moins pratique).
Une solution consiste alors à envoyer une requête (c'est à dire une question) à la base de données du genre
"Quels sont les numéros de téléphone de Ode Ile ?". La base de donnée est alors scrutée par Access jusqu'à
ce que le nom Ode et le prénom Ile soient trouvés. L'ordinateur renvoi alors l'ensemble des numéros de
téléphone d'Odile et le temps de recherche est si faible que nous avons l'impression que la réponse de
l'ordinateur est immédiate.
Requête : "Quels sont les numéros
de téléphone de Ode Ile ?"
Réponse
:
"02 76 54 32 10",
"01 23 45 67 89", "06 65 98 74 32"
Tables et
Relations
Les requêtes peuvent être plus complexe encore et l'on peut par exemple demander "Quels sont les numéros
de téléphones de toutes les personnes prénommées Jean" ou encore "Quels sont les personnes dont le numéro
de téléphone se termine par 89 et dont le nom commence par les lettres Re" (ici en l'occurrence, le résultat
sera Robert Redford 02 23 45 67 89).
Notons que pour retrouver les données, Access recherche dans les tables existantes et place les données
correspondante dans un table temporaire (un peu comme nous le ferions en cherchant dans un annuaire puis
en notant le numéro recherché sur un bout de papier).
V-2 Résumé
Les requêtes viennent juste après les tables et les relations par ordre d'importance dans Access. Nous
pouvons donc maintenant stocker des données de manière pratique mais aussi poser toute sorte de questions
(requêtes) à Access pour qu'il retrouve les données dont on a besoin.
VI Les formulaires et les états
Les formulaires et les états viennent en dernier car, même s'ils sont pratiques, ils ne sont en rien
indispensables à l'utilisation d'une base de données. Il permettent avant tout de faciliter la saisie (les
formulaires) et l'impression (états) des données stockées dans la base de données.
VI-1 Les formulaires
Afin de faciliter la saisie des données, Access permet de créer des formulaires de saisie. Ceux-ci sont plus
agréables à utiliser que les tables. On peut également programmer un formulaire en Visual Basic pour que
suite au remplissage des données, des actions soient effectuées. Par exemple, si nous avons deux champs
dont les contenus sont à priori les mêmes, on peut faire un petit programme Visual Basic qui va permettre de
remplir simultanément les deux champs. De même, si nous faisons une erreur de saisie, il est possible
d'indiquer à la personne utilisant le formulaire qu'elle rentre une donnée qui semble fausse.
VI-2 Les états
Les états permettent d'imprimer des documents (genre bon de commande ou autre) directement en relation
avec les données de la base. Ainsi, il devient facile d'imprimer un document, ou un groupe de documents. Il
est même possible d'imprimer les résultats d'une requête (on parle alors d'état basé sur une requête et non pas
simplement sur une table).
VI-3 Résumé
Les formulaires et les états ne sont pas essentiels à la base de données, mais ils facilitent grandement le
travail du programmeur et de l'utilisateur pour avoir de pratiques formulaires de saisie et de beaux
documents imprimés (états).
VII Conclusion
Voici pour résumé un dessin représentant les fonctionnalités d'Access.
Requête : "Quels sont ... ?"
Réponse : Il y a trois réponses...
Tables et
Relations
Lecture dans la base
(donc dans les tables !)
Etats d'impression
Lecture et écriture dans la
base (donc dans les tables !)
Formulaires de saisie
ACCESS
Pour finir, voici les ressemblances et les différences essentielles entre une base de données et un tableur
(type Excel) :
> Les tables (Access) et les tableaux (Excel) sont très proches.
> De même, les requêtes (Access) et les filtres (Excel) sont similaires.
> Par contre, les relations entre les tables (Access) sécurisent et structurent les données (plus difficile à
obtenir avec Excel)
> De plus, grâce aux requêtes (Access), toute sorte de questions peuvent être posées (Excel se limite
généralement à des filtres). Même des questions compliquées.
> La saisie des données sous Access peut être plus poussée grâce aux formulaires de saisies et au langage
Visual Basic.
> L'impression et la mise en forme des données est plus complète sous Access que sous Excel.
> Il est possible d'avoir une base de donnée partagée par plusieurs utilisateurs EN MÊME TEMPS et sur
différents ordinateurs. Ce qui n'est pas possible avec Excel.
> Une base de donnée peut être placée sur Internet plus facilement.
> Une base de donnée est plus facilement sécurisable qu'un tableau Excel (typage des données, format de
saisie, formulaire de saisie ne faisant pas apparaître certains champs,...).

Documents pareils