Access est un système de gestion de bases de données (SGBD), c.à.d. un programme permettant la création et l'utilisation des bases de données. Une base de données est un ensemble de fichiers (appelés aussi tables) entre lesquels peuvent exister des relations.
La création d'une table consiste à définir ses champs en précisant leur nom et leur type. Il faut aussi lui donner un nom qui permet de l'identifier.
La suite de ces notes fait référence à une base de données imprim.mdb pour la gestion d'une imprimerie.
Cette base de données comprend trois tables.
La table des clients :
nclt | nom | ville | prive |
1 | Grand Magasin | Roncq | Oui |
2 | Grand Magasin | Leers | Oui |
3 | Mairie | Roubaix | Non |
4 | L'Electro | Roubaix | Oui |
5 | L'Electro | Lille | Oui |
6 | Mairie | Roubaix | Non |
7 | Préfecture | Lille | Non |
8 | Ecole Mermoz | Lille | Non |
9 | Ecole Verte | Roncq | Oui |
10 | Bonne Affaire | Roubaix | Oui |
11 | Trois Repas | Lille | Oui |
La table des papiers :
npap | type | largeur | longueur | couleur | grammage | prix | quantité |
1 | Dossier | 700 | 1000 | Blanc | 240 | 0.90 | 10000 |
2 | Dossier | 700 | 1000 | Orange | 240 | 1.00 | 10000 |
3 | Dossier | 700 | 1000 | Blanc | 200 | 0.80 | 10000 |
4 | Velin | 600 | 900 | Bleu | 150 | 0.5 | 7000 |
5 | Velin | 600 | 900 | Vert | 120 | 0.4 | 7000 |
6 | Velin | 600 | 850 | Blanc | 120 | 0.35 | 7000 |
7 | Bristol | 700 | 900 | Blanc | 200 | 0.4 | 8000 |
8 | Bristol | 700 | 900 | Jaune | 90 | 0.3 | 8000 |
9 | Bristol | 600 | 850 | Bleu | 120 | 0.4 | 5000 |
10 | Bristol | 600 | 900 | Orange | 90 | 0.35 | 5000 |
11 | Bristol | 600 | 850 | Blanc | 90 | 0.25 | 3000 |
La table des travaux :
ntrv | type | largeur | longueur | quantité | npap | nclt |
1 | Cartes | 9 | 15 | 5000 | 7 | 4 |
2 | Affiches | 30 | 50 | 3000 | 9 | 10 |
3 | Affiches | 50 | 70 | 1500 | 10 | 5 |
4 | Imprimés | 21 | 30 | 3000 | 5 | 6 |
5 | Imprimés | 21 | 30 | 3000 | 6 | 6 |
6 | Fiches | 15 | 20 | 2000 | 9 | 11 |
7 | Menus | 30 | 40 | 300 | 8 | 11 |
8 | Cartes | 9 | 15 | 2000 | 8 | 1 |
9 | Affiches | 50 | 80 | 500 | 11 | 1 |
10 | Fiches | 10 | 15 | 1000 | 9 | 2 |
11 | Fiches | 15 | 20 | 1500 | 8 | 7 |
12 | Affiches | 21 | 30 | 10000 | 10 | 9 |
13 | Affiches | 30 | 40 | 5000 | 5 | 8 |
I- Les requêtes de sélection
Elles permettent d'extraire d'une ou de plusieurs tables ou requêtes les lignes qui vérifient certains critères.
1- Afficher les clients de Lille et ceux de Roubaix
2- Afficher les clients de Lille et ceux de Roubaix appartenant au privé
Une requête peut porter sur plusieurs tables grâce aux relations.
Une relation permet d'obtenir à partir d'un enregistrement d'une table des informations qui se trouvent dans une autre table en faisant correspondre deux champs de l'une et de l'autre de ces deux tables. Ces deux champs portent en général le même nom.
1- Créer les deux relations qui relient d'une part les deux tables Travail et Clients et d'autre part les deux tables Travail et Papier
2- Afficher pour chaque travail son code, type, le numéro et le nom de son client
3- Quels sont les travaux pour Lille ? (afficher code, type ville)
4- Quels sont les clients ayant commandé un travail sur Bristol ? (afficher nclt, nom, type travail, type papier)
II- Les requêtes de mise à jour
Elles servent à modifier les données dans une table. Elles peuvent utiliser des critères pour la sélection des lignes à modifier.
1- Convertir la longueur des papiers du millimètre au centimètre
2- Mettre à jour le stock des papier Bristol en ajoutant 2000 aux quantités
3- Convertir le prix des papiers du franc à l'euro
III- Les formulaires
Ce sont des objets access permettant de personnaliser l'interface avec l'utilisateur. Trois types de formulaires sont à distinguer : les formulaires colonnes, tabulaires et ceux utilisant un sous formulaire. Dans ce dernier cas, en général, le formulaire principal est de type colonne et le sous formulaire de type tabulaire.
1- Créer un formulaire colonne basé sur la table Clients et affichant nclt, nom, ville
2- Créer un formulaire tabulaire basé sur la table Travail et affichant code, type, qté
3- Afficher pour chaque client nclt, nom, ville et la liste des travaux qu'il a commandés dans un sous formulaire
IV- Les requêtes avec champs calculés
Une requête peut servir à afficher des champs qui n'existent pas dans les tables de la base de données. La requête doit alors définir ces nouveaux à l'aide d'une expression pour le calcul de leur valeur. Ainsi par exemple, on pourra créer une requête qui affiche pour chaque papier son numéro, ses deux dimensions et sa surface. La surface qui ne figure pas dans la table Papier en tant que champ sera défini à l'aide de l'expression surface : [long]*[larg]
Nous pouvons nous servir de champs calculés pour évaluer le prix de revient pour chaque travail. Nous supposerons que ce prix revient pour un travail à calculer le prix des feuilles de papier nécessaires à sa réalisation. Pour le calcul des feuilles nécessaires, il faudra calculer le nombre de documents pouvant être imprimés sur une feuille de papier. Il conviendra alors de considérer deux possibilités pour l'impression du document sur la feuille et d'en retenir la meilleure c.à.d. celle qui permet un plus grand tirage sur une feuille de papier.
1- afficher pour chaque travail son code et dans un champ calculé appelé tirage1 le nombre de documents pouvant être tirés selon la disposition longueur/longueur d'une feuille du papier qu'il utilise.
2- afficher dans un troisième champ tirage2 le même nombre selon l'autre disposition.
3- afficher dans un quatrième champ tirage le plus grand des deux tirages.
4- afficher dans un cinquième champ feuilles le nombre de feuilles nécessaires.
5- afficher enfin le prix de revient.
Création de deux tables SQL :
La table des étudiants :
num | nom | annee |
1 | Baltazar | L1 |
2 | Flo | M1 |
3 | Bob | L2 |
4 | Alia | L1 |
5 | Rabia | L1 |
6 | Maria | M1 |
7 | Hector | L3 |
La table des notes :
note | matiere | num |
10 | commercial | 1 |
15 | commercial | 2 |
8 | commercial | 3 |
13 | commercial | 4 |
10 | commercial | 5 |
18 | commercial | 6 |
12 | commercial | 7 |
14 | gestion | 1 |
9 | gestion | 2 |
6 | gestion | 3 |
4 | gestion | 4 |
13 | gestion | 5 |
12 | gestion | 6 |
17 | gestion | 7 |
14 | informatique | 1 |
5 | informatique | 2 |
10 | informatique | 3 |
17 | informatique | 4 |
6 | informatique | 5 |
9 | informatique | 6 |
10 | informatique | 7 |
Requête de création
CREATE TABLE etudiants (num INT,nom VARCHAR(50),annee VARCHAR)
Requête d'insertion
INSERT INTO etudiant (num,nom,annee) VALUES (8,'Lina','M2')
Requête de sélection
SELECT * FROM etudiants WHERE annee='M2'
Requête de mise à jour
UPDATE notes SET note=note+1 WHERE matiere='gestion'
Requête de suppression
DELETE FROM ETUDIANTS WHERE note<10
Jointure des tables (notes de licence 1)
SELECT note,matiere,num,nom FROM etudiants,notes WHERE etudiants.num=notes.num