Vous êtes sur la page 1sur 25

pr

Enseignant : Elwaer Raouf Bases de données

BASES DE DONNEES

I. Introduction
Définition d’une Base de Données (BD)
Une Base de Données est un ensemble structuré de données enregistrées sur des mémoires
secondaires créé et tenu à jour pour les besoins d’un ensemble d’utilisateurs.
Une base de données est un ensemble structuré de données enregistrées sur des supports
accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de façon sélective
et en un temps opportun.
Elle doit avoir un certain nombre de caractéristiques :
 Données structurées : les informations contenues dans une base de données sont réparties
en enregistrements, chaque enregistrement ayant une structure bien définie
 Données non redondantes : Une même information ne sera pas répétée plusieurs fois dans
la base de données.
 Données cohérentes : Il ne doit pas être permis d’enregistrer dans une base des
informations incohérentes entre elles
 Données accessibles directement selon de multiples critères
 Indépendance des programmes et des données : La base de données doit être indépendante
des programmes qui y ont accès, on doit pouvoir utiliser un autre programme pour traiter
différemment ces données sans avoir à toucher à ces données
 Sécurité des données stockées : la base de données doit permettre un système de sécurité
permettant de gérer les droits d’accès aux informations par les utilisateurs.

Le Système de gestion de bases de Données (SGBD)


C’est l’outil permettant de créer des bases de données, mettre à jour les données de la base (ajout,
modification, suppression), de rechercher des données, de fournir différentes manières de les
visualiser et de les imprimer.
les informations doivent être segmentées en données qui sont stockées dans des tables. Une table
est donc un ensemble de données, organisées en lignes et en colonnes.
On peut stocker dans une table n’importe quel type d’information (texte, chiffres, graphisme, son,
etc...)
Chaque table est divisée en enregistrements, les enregistrements étant l’ensemble des données
relatives à la même information. Prenons l’exemple d’un carnet d’adresses. Pour ce carnet
d’adresses, nous allons utiliser une table « contacts » qui contiendra toutes les informations
concernant chaque contact, chaque enregistrement contiendra les informations relatives à un (et un
seul) contact (nom, adresse, téléphone, date de naissance, etc.…).
Comme on vient de le voir, chaque enregistrement contient un ensemble d’informations (nom,
adresse, téléphone) qui ont elles-mêmes diviser l’enregistrement en plusieurs parties, chaque partie
s’appelle un champ. Le champ contient une partie des informations de chaque enregistrement
pr

Bases de données
Base de données

Table 1 Table2

Champ1 Champ2 Champ3

Table 3
Le modèle relationnel
Le modèle relationnel est basé sur une organisation des données d’une base de données sous forme
de tableaux appelés tables.

a) Schéma d’une table


Enregistrement1 Enregistrement2
Le schéma d’une table est donné par l’ensemble des ses champs ou attributs.
Exemple : ELEVE (ID_ELEVE, nom, prénom, date_naissance, classe)

b) Schéma d’une base de données


C’est l’ensemble des schémas des tables de la base
Exemple : ELEVE (ID_ELEVE, nom, prénom, date_naissance, classe)
MATIERE (ID_MATIERE, lib_matière, coefficient)
NOTE (ID_ELEVE, ID_MATIERE, note)

II. Réalisation d’une base de données


Les tables
Une table est une collection de données relatives à un sujet spécifique du monde réel. Ces données
sont organisées en colonnes (champs, attributs) et en lignes (enregistrements) Exemple :

Nom Prénom Rue Code Ville Téléphone


Postal
Deuf John Rue Barbe 75001 Paris 01.02.03.04.0
5
Covert Harry Rue Minant 59000 Lille 02.03.04.05.0
6
Dalors Homère Rue Tilant 75003 Paris 03.04.05.06.0
7

a) Les champs
Les champs représentent les caractéristiques des éléments qu’on souhaite stocker dans la table. Lors
de la création d’un champ on doit préciser sont type (texte, mémo, numérique, date, …) et pour
chaque type ses propriétés.

b) La clé primaire
La clé primaire identifie de façon unique chaque enregistrement de la table (peut être composé d’un
champ ou d’un groupe de champs).
Exemple : ID_ELEVE est la clé primaire de la table ELEVE
ID_ELEVE, ID_MATIERE est la clé primaire de la table NOTE.
c) Création d’une base de données
pr

 Bases
Lancer le SGBD disponible sur votre ordinateur (Microsoft Access) ; de données
pr
Bases de données

 Activer le menu « Fichier » ;


 Choisir la commande « Nouvelle base de donnée » ;
 Choisir l’option « Base de donnée vide » du volet situé à droite ;
 Choisir l’emplacement de la base de données ;
 Donner un nom à la base de données ;
 Valider en cliquant sur le bouton « Créer ».

d) Création d’une table


 Sélectionner l’objet « Tables » de la fenêtre de la base de données ;
 Cliquer sur le bouton « Nouveau » ;
 Choisir l’option « Mode création » puis confirmer ;
 Créer les champs de la table et fixer pour chacun ses propriétés ;
 Choisir la clé primaire de la table ;
 Enregistrer la table et lui donner un nom ;
 Fermer la table.

Les relations
a) Définition
Une relation est un lien entre deux tables d’une base de données à l’aide de deux champs
en commun à ces deux tables. Ces deux champs sont dits associés.

b) Les différents types de relations


 Liaison de type (1 : 1)
Un enregistrement de la première table ne correspond qu’à un enregistrement de la deuxième table.
Exemple : un enseignant enseigne un seul cours
un cours est enseigné par un seul enseignant

 Liaison de type (1 : N)
Chaque enregistrement de la première table peut être associé à plusieurs enregistrements de
la deuxième table.
Auteurs
Albums
Enregistrement 1
Enregistrement 1
Enregistrement 2
Enregistrement 2
Enregistrement 3

Exemple : une personne possède plusieurs


voitures une voiture appartient à
une seule personne
a un auteur correspond un ou plusieurs albums (plusieurs flèches partent du même
auteur), a chaque album ne correspond qu’un seul auteur.

La relation entre les deux tables se présente sous cette forme :

Auteurs Albums
N° Auteur N° Auteur
Nom 1 n Titre Album
Prénom Année
Genre
Support
pr
Bases de données

 Liaison de type (N : M)
Chaque enregistrement de la première table peut être associé à plusieurs enregistrements de
la deuxième table et inversement.
Exemple : un élève étudie N
matières Une matière est
étudiée par M élèves

Exemple : On aurait pu avoir le cas où un album a plusieurs auteurs, là, ça ne


marche plus, car telle que la table « Albums » est structurée, à un album ne peut
correspondre qu’un auteur. Si on veut permettre qu’à un album correspondent
plusieurs auteurs (on a alors une relation n – m), deux solutions s’offrent à nous :

1. La plus simple et la plus inélégante (les trucs les plus simples sont souvent
inélégants) : ajouter quelques champs « auteurs » supplémentaires dans la table
album pour arriver à quelque chose de ce genre, histoire de conserver une
relation 1 – n :

Albums
N° Auteur
N° Auteur
2
N° Auteur
3
Titre
Album
Année
Genre
Support

Ce genre de plaisanterie est à éviter à tout prix, en effet, si il n’y a qu’un seul
auteur, les champs n° auteur 2 et n° auteur 3 ne vont rien contenir, et on va
perdre de la place dans la base de données, et que va-t-il se passer si il y a
quatre auteurs ? ? vous répondrez qu’on peut prévoir quatre champs, ce à quoi
je vous répondrez qu’il peut y avoir 5 auteurs, etc…

2. Il va donc falloir (on y coupe pas) créer une troisième table qui va servir
d’intermédiaire entre la table « auteurs » et la table « albums « :

Auteurs Auteurs-albums
N° Auteur N° Auteur Albums
Nom 1n N° Album N° Album
Prénom Titre Album
n 1
Année
Genre
Support

Remarque : La liaison de types (N : M) entre deux table donne naissance à une troisième table
qui reçoit les clés primaires des deux tables liées et qui seront appelées « Clés étrangères ».

c) Création d’une relation


pr
Bases de données

 Activer le menu « Outils » ;


 Choisir la commande « Relations » ;
 Ajouter les tables correspondantes ;
 Sélectionner la clé primaire de la table A et le glisser vers la clé étrangère de la table B ;
 Vérifier les champs dans la boite de dialogue ;
 Cocher la case « appliquer l’intégrité référentielle » ;
 Cocher la case « Mettre à jour en cascade les champs correspondants ».
 Valider en cliquant sur le bouton « Ok ».

2. Application

Maintenant que vous avez tout compris au film, nous allons nous pencher sur un autre cas
de figure. Supposons qu’on veuille gérer un magasin avec Access. Créez donc les tables
et les relations pour notre magasin, au cas où certains ignoreraient le fonctionnement d’un
magasin, voici comment ça marche :

 Un client commande des produits


 Un fournisseur livre des produits
 Le stock contient des produits

Et voilà une solution qui semble honnête :

(Les clefs primaires sont en gras, les indexes sont soulignés)

Le choix des index est totalement subjectif, il sera surtout fait en fonction des besoins
ultérieurs. Ce n’est pas grave si on n’a pas choisi les bons index, il est toujours possible
de les modifier ultérieurement.

Une table « clients »


Clients
N° Client
Titre
Nom
Prénom
Adresse
Code Postal
Ville
Observation
s

Une table « produits »


Produits
Code produit
Désignation
Prix unitaire
Taux TVA
Stock

Une table « Commandes » qui va indiquer ce qu’a commandé le client


pr
Bases de données

Commandes
N° Commande
N° Client
Date de la
commande
Commande réglée

On est d’accord, une commande peut avoir plusieurs lignes (plus d’un produit commandé
par commande, ca vaut mieux), pour cela, on va avoir une table « lignes de commande »
qui va « relier » la commande aux produits.

Pourquoi n’avoir pas mis ça directement dans la table commande ? on retombe sur notre
problème de tout à l’heure : parce qu’on ne sait pas par avance le nombre de lignes qu’on
peut avoir dans une commande.

O peut voir qu’un produit peut se retrouver dans n commandes, et que une commande
peut faire référence à m articles, on a donc entre les tables « commandes » et « articles »,
une relation n – m (plusieurs à plusieurs) qu’Accès ne peut gérer (ni d’ailleurs aucun
autre SGBD), il faut donc transformer cette relation en deux autres relations 1-n et n-1 en
utilisant une table supplémentaire, d’où l’apparition de cette table.
pr
Bases de données

Lignes
commande
N° Commande
Code produit
Quantité

Pour les fournisseurs, on a quelque chose de très ressemblant Une table « fournisseurs »

Fournisseurs
N° Fournisseur
Titre
Nom
Prénom
Rue
Code Postal
Ville
Téléphone
Fax
Observations

Même problème que précédemment, un fournisseur peut livrer plusieurs produits et le même
produit peut être livré par plusieurs fournisseur, donc relation n-m, donc création d’une table
intermédiaire
Fournisseurs-
produits
N° Fournisseur
Code Produit

Et voilà le travail d’artiste, les relations entre tout ce beau monde donnent ceci

Clients
N° Client Commandes Lignes-commande
Titre N° Commande N° Commande
Nom N° Client n 1 Code produit
Prénom Date de la commande Quantité
1
Adresse n Commande réglée
Code Postal
Ville
Observation
s

Fournisseurs Fournisseurs-produits
N° Fournisseur N° Fournisseur Produits
Titre 1 n Code Produit Code produit
Nom Désignation
n 1
Prénom Prix unitaire
Rue Taux TVA
Code Postal Stock
Ville
Téléphone
Fax
Observations
pr
Bases de données

Application :
On veut modéliser le problème d’une partie de la gestion de la scolarité
d’un établissement. On connaît les règles suivantes :

 Les enseignements sont dispensés sous forme de cours


 Un étudiant peut s’inscrire à plusieurs cours
 Un enseignant est rattaché à un ou plusieurs établissements et peut enseigner plusieurs
cours
 Un cours peut être enseigné par plusieurs enseignants
 Certains enseignants peuvent être responsables des autres

A vous de jouer... Donnez les différentes tables qui vont être utilisées et les relations
entre elles (on s’intéresse pas spécialement au contenu exact des tables)

Les tables qui vont être utilisées sont :


Cours
N° cours
Nom
...

Étudiants
N° étudiant
Nom
Prénom
...

Inscriptions
N° étudiant
N° cours
Note semestre
...

Enseignants
N° enseignant
Responsable
Nom
Prénom
...

Enseignants - cours
N° enseignant
N° cours

Établissements
N° établissement
Nom
Adresse
...

Rattachements
N° enseignant
N° établissement
pr
Bases de données

Les relations vont être :

Application 1pratique:

1) Créer une nouvelle base de données dans le dossier C:\ 4eco et lui donner le nom « Gestion
des notes ».
2) Créer les tables suivantes en respectant le schéma de la base de données présenté ci-
dessous ELEVE (ID_ELEVE, Nom, Prénom, Date_naissance, Classe)
MATIERE (ID_MATIERE, libellé_matière, coefficient)
NOTE (ID_ELEVE, ID_MATIERE, Note)

La table Elève (La clé primaire est ID_ELEVE)


Cha Type de données Propriét
mp és
ID_ELEVE Texte Taille = 4
Nom Texte Taille = 20
Prénom Texte Taille = 20
Date_naissance Date/Heure Format abrégé
Classe Texte Taille = 8

La table Matière (La clé primaire est ID_MATIERE)


Cha Type de données Propriét
mp és
ID_MATIERE Texte Taille = 3
Libellé_matière Texte Taille = 20
Coefficient Numérique Taille = réel simple

La table Note (La clé primaire est ID_ELEVE, ID_MATIERE)


Cha Type de données Propriét
mp és
ID_ELEVE Texte Taille = 4
ID_MATIERE Texte Taille = 3
Note Numérique Taille = réel simple

3) Créer les relations possibles entre les tables de la base de données « Gestion des notes »
4) Remplir chacune des tables de la base de données par les données correspondantes :
pr
Bases de données

 La table ELEVE
ID_ELEVE No Prénom Date_naissan Classe
m ce
E001 Ben Salem Ali 18/09/1992 4ECO1
E002 Jileni Amira 23/10/1991 4ECO2
E003 Dridi Wided 22/01/1992 4ECO1

 La table MATIERE
ID_MATIERE Libéllé_Matièr Coefficient
e
M01 Economie 3
M02 Gestion 3
M03 Philosophie 1,5

 La table NOTE
ID_ELEVE ID_MATIER No
E te
E001 M01 14
E001 M02 13
E001 M03 10
E002 M03 11
E003 M01 17
E003 M02 14,5

Correction (voir support de BD gestion des notes.)


pr
Bases de données

Application 2:
Créer la base de données « Gestion des projets » de schéma relationnel suivant :
EMPLOYE (NumEmp, Nom, Prénom, Adresse, Tél, Grade, NumService)
SERVICE (NumService, NomService, Responsable, Tél) PROJET (NumProjet,
NomProjet, Datedeb, DateFin, NumService)

III. Création des requêtes


Définition
Une requête sert à exploiter les données contenues dans les tables (Rechercher des données selon un
ou plusieurs critères, effectuer des calculs, classer les données dans l’ordre alphabétique, ajouter,
modifier, supprimer des données, etc.).
On distingue plusieurs types de requêtes :
 Les requêtes de sélections
 Les requêtes paramétrées
 Les requêtes d’ajout
 Les requêtes de mise à jour

III.2. Les requêtes de sélection


a) Présentation
C’est l’outil courant de recherche d’informations dans les bases de données :
- S’applique à une ou à plusieurs tables liées par des relations
- Sélectionne des lignes suivant un ou plusieurs critères portant sur un ou plusieurs champs
- Permet de choisir les colonnes que l’on veut conserver
- Permet d’enregistrer le résultat recherché sous forme d’une table

b) Création d’une requête


 Choisir l’objet « Requêtes » de la fenêtre « Base de données »
 Cliquer sur le bouton « Nouveau »
 Choisir l’option « Mode création »
 Dans la fenêtre « Afficher la table » ajouter la/les table(s) souhaitées
 Sélectionner les champs à afficher, à classer ou à utiliser pour filtrer les lignes
 Définir vos besoins (Tri, Critères de filtre, Formules de calculs, etc.)
 Enregistrer la requête sous le nom désiré et fermer la fenêtre

c) Exécuter une requête


 Choisir l’objet « Requêtes » de la fenêtre « Base de données »
 Double cliquer sur la requête en question
 Le résultat s’affiche sous la forme d’une table

d) Activité
Reprenons la base de données « Gestion des notes » et créer les requêtes de sélections suivantes :
- R1 : Afficher la liste de tous les élèves
- R2 : Afficher la liste des élèves de la classe « 4ECO1 »
- R3 : Afficher la liste des matières dont le coefficient est supérieur ou égale à 2
- R4 : Afficher la liste des élèves dont le nom commence par la lettre « B »
- R5 : Afficher les noms et les prénoms des élèves ayants une note supérieure à 15
- R6 : Afficher les noms et prénoms des élèves ayant une note supérieure à 10 en philosophie

e) Les critères
de filtre Dans une
requête on peut
utiliser :
- Les opérateurs de comparaison : < ; > ; <= ; >= ; = ; < >
Bases de données
- Les opérateurs logiques : ET, OU, NON
- Autres opérateurs :
Opérateur Utilit Exempl
s és es
Entre La valeur d’un champ est comprise dans un Entre "A" et "B"
intervalle de valeurs Entre #01/01/2000# et #01/01/2002#
Dans ou IN La valeur d’un champ est comprise dans une liste Dans ("paris" ; "Tunis")
Est Pour lesquels le champ est/ou n’est pas vide Est NULL
Comme Effectuer une sélection sur une donnée Comme "rue" ; Comme "*rue"
approximative (à l’aide des caractères * et ?) Comme "M ??? "
Pas Sélectionner les enregistrements qui ne répondent Est pas NULL
pas aux critères Pas dans ("paris")

f) Application
1) Créer la base de données « Gestion commerciale » de schéma relationnel suivant :
ARTICLE (code_art, des_art, PU, qte_stock)
CLIENT (code_client, nom, prénom, Adresse, tel, CA_Encours, Cumul_CA)
COMMANDE (num_comm, date_comm, code_client)
DETAIL_COMMANDE (num_ligne, num_comm, code_art, qte_comm)

La table ARTICLE (La clé primaire est code_art)


Cha Type de données Propriét
mp és
Code_art Texte Taille = 5
Des_art Texte Taille = 30
PU Numérique Réel double
Qte_stock Numérique Entier

La table CLIENT (La clé primaire est code_client)


Cha Type de données Propriét
mp és
Code_client Texte Taille = 5
Nom Texte Taille = 20
Prénom Texte Taille = 20
Adresse Texte Taille = 30
Tel Numérique Entier long
CA_Encours Numérique Décimal
Cumul_CA Numérique Décimal

La table COMMANDE (La clé primaire est num_comm)


Cha Type de données Propriét
mp és
Num_comm Texte Taille = 10
Date_comm Date/heure Format abrégé
Code_client Texte Taille = 5

La table DETAIL_COMMANDE (La clé primaire est Num_ligne, Num_comm)


Cha Type de données Propriét
mp és
Num_ligne Numérique Entier
Num_comm Texte Taille = 10
Code_art Texte Taille = 5
Qte_comm Numérique Entier

2) Créer les relations possibles entre les tables de la base de données


3) Remplir chacune des tables de la base de données par les données correspondantes :
article
Code_a Des_art P Qte_stock
rt U
CD700 CD ROM 700 Mo 0,30 30000
DD001 Disque dur 160 Go 140,0 10
0
Dis312 Disquette 3"1/2 0,50 10000
EC001 Ecran 17 pouces 130,0 5
0

Client
code_clie nom preno Adress Tel CA_Encour Cumul_CA
nt m e s
AR006 Bouassida Fahmi Ariana 70 111 2 345,00 6 654,00
222
M0070 Attia Mariem Manouba 70 876 4 500,00 45 500,00
888
S0001 Ben Salah Mehdi Sousse 73 234 12 367,50 212 333,50
887
SB007 Chouchene Ramzi Sidi bou 75 221 1 000,00 5 000,00
zid 221

comman
de
num_comm Date_comm code_client
000100/2010 12/01/2010M 0070
001201/2010 22/04/2010S 0001
004500/2010 23/08/2010M 0070
000100/2011 02/01/20 T0005
11
000234/2011 16/02/20 AR006
11

detail_comman
de
num_lig num_com qte_com code_art
ne m m
10 00100/2010 100 D700
20 00100/2010 100D is312
30 00100/2010 1D D001
10 00100/2011 2E C001

4) Créer les requêtes suivantes :


R1- Trier les clients dans l’ordre croissant de leurs noms.
R2- Afficher les clients qui habitent la ville de « Sousse »
R3- Afficher les clients appartenant à toutes les régions sauf la région de « Sousse »
R4- Afficher les clients ayants un prénom contenant la lettre « h » en troisième position.
R5- Afficher le nom et le prénom des clients ayants un chiffre d’affaire encours égale à 1000 Dinars
R6- Afficher le nom et le prénom des clients ayants un chiffre d’affaire en cours compris entre 1000
et 10000 Dinars.
R7- Afficher le nom et le prénom des clients ayants un cumul de chiffre d’affaire inférieur à 1000 ou
supérieur à 20000.
R8- Afficher les commandes ayants une date supérieure au 01/01/2011
R9- Afficher les commandes qui ont étaient passées dans la période de janvier jusqu’au juin 2010
R10-Afficher les commandes qui ont étaient passées il y a 10 jours.
R11- Afficher les commandes qui ont étaient passées dans le mois de janvier.
R12- Afficher les clients de « Manouba » qui possèdent un chiffre d’affaire supérieur à 2000.
R13- Afficher les clients dont le nom commence par B ou le prénom contient le caractère « d »
R14- Afficher les désignations des articles de la commande « 00100/2010 »
R15- Afficher les noms et prénoms des clients qui ont commandés l’article « CD700 »
R16- Afficher la liste des clients qui ont déjà passés des commandes
Bases de données
R17- Afficher la liste des articles qui sont inclus dans la commande « 00100/2010 »
Les requêtes de sélection et les formules
a) La concaténation
Il est possible de créer une nouvelle donnée à partir des données de deux colonnes en utilisant le
symbole « & », les noms des colonnes sont écrits entre des crochets [ ].
Ex : Concaténer les deux colonnes nom et prénom de la table client.

b) Les champs calculés


Une colonne calculée est composée de deux parties :
- Le nom donné à cette formule (nom de la nouvelle colonne résultat du calcul) ;
- Un calcul utilisant les différents opérateurs mathématiques : + ; - ; / ; * ; et ( ).
Ex : Calculer le prix total de chaque article en stock en utilisant la formule
suivante : Prix total : [PU]*[Qte_stock].

III.4. Requête de sélection basée sur des calculs


On doit ajouter à la requête de sélection une nouvelle ligne nommée « Opération » pour cela :
- Activer le menu « Affichage » et cliquer sur l’option « Totaux ».
La ligne « Opération » permet d’utiliser les fonctions statistiques suivantes :
- Somme : Totalise toutes les valeurs d’une colonne ;
- Moyenne : Calcule la moyenne de toutes les valeurs d’une colonne ;
- Minimum : Calcule la valeur la plus petite dans une colonne ;
- Maximum : Calcule la valeur la plus grande dans une colonne ;
- Compte : Affiche le nombre total des lignes qui répondent à un critère.
- Etc.
Ex1 : Afficher la somme des chiffres d’affaires cumulés par les clients.
Ex2 : Afficher le chiffre d’affaires encours le plus élevé.
Ex3 : Afficher le nombre total de clients.
Ex4 : Afficher le nombre de commandes par client
Ex5 : donner la moyenne des chiffres d’affaires cumulés.
Ex6 : Afficher le nombre total d’articles qui ont un prix supérieur à 10 dinars

Les requêtes paramétrées


Le critère d’une requête peut être introduit par l’utilisateur dans une fenêtre de dialogue lors de son
exécution. Une question écrite entre des crochets [ ] est rédigée sur la ligne critère.
Ex1 : En donnant la ville on veut connaître le code, le nom et le prénom du client.
Ex2 : On souhaite afficher toutes les commandes passées dans une date introduite par l’utilisateur.

Les requêtes d’ajout


Ce type de requête permet d’ajouter un groupe d’enregistrements d’une ou de plusieurs tables à la
fin d’une ou de plusieurs tables.
Les étapes sont les suivantes :
 Choisir l’onglet « Requêtes » de la fenêtre « base de données » ;
 Cliquer sur le bouton « Nouveau » ;
 Choisir le mode « Mode création » ;
 Ajouter la/les table(s) source(s) d’informations ;
 Choisir la commande « Requête Ajout » du menu « Requête » ;
 Choisir la table à laquelle on va ajouter les informations ;
 Fixer les champs à ajouter et spécifier les critères ;
 Enregistrer la requête.
Ex : Créer une requête d’ajout qui permet d’ajouter à la table article tous les produits ayants une
quantité en stock >10 à partir de la table article1.
III.7. Les requêtes de mise à jour
Une requête de mise à jour permet de modifier les données d’une ou de plusieurs tables existantes.
Exemple : augmenter les prix de 5% sur tous les produits en stock.
Pour créer une requête de mise à jour :
 Choisir l’onglet « Requêtes » de la fenêtre « base de données » ;
 Cliquer sur le bouton « Nouveau » ;
 Choisir le mode « Mode création » ;
 Ajouter la/les table(s) correspondante(s) ;
 Choisir la commande « Requête Mise à jour » du menu « Requête » ;
 Fixer le/les champ(s) à mettre à jour ;
 Dans la clause « Mise à jour » taper les modifications nécessaires ;
 Spécifier les critères demandés ;
 Enregistrer la requête.
Ex1 : Ecrire la requête qui permet d’augmenter les prix unitaires de tous les articles de 5%
Ex2 : Ecrire la requête qui permet de mettre à jour l’adresse du client « SB007 » à « Médenine »
Ex3 : Initialiser à zéro le cumul des chiffres d’affaires de tous les clients

I- Création de formulaires:
Le formulaire va nous permettre d’afficher et de modifier le contenu d’une table de façon bien plus
agréable que le mode « feuille de données » qui ne permet qu’un affichage en lignes et colonnes.
Il existe plusieurs méthodes pour générer un formulaire, nous nous intéresserons seulement aux
deux premières méthodes :
- Mode création : on va tout faire seul « à la main » sans aucune aide d’Access
- Assistant Formulaire : Access va nous guider pas à pas dans la réalisation de notre
formulaire Nous allons utiliser la méthode « Assistant Formulaire ».

Constatations :
A- Création d’un formulaire de saisie:
Pour créer un formulaire sous ACCESS :
1. Sélectionnez l’objet Formulaire dans la fenêtre base de données
2. Choisir Nouveau puis Assistant Formulaire et choisir la table d’ou provient les données de
l’objet et Ajouter les champs qu’on veut afficher dans le formulaire (fixer les styles, nom du
formulaire, ….)
3. Enregistrer la formulaire et valider.

4. Créez la structure du formulaire selon l‘annexe suivant :


5. Visualisez le résultat du formulaire.

B- Création d’un formulaire qui contient un menu:


- Cliquer sur Créer un formulaire en mode création, un formulaire vierge s’affiche.

- Pour créer les éléments du formulaire on peut utilisées les boutons de la barre d’outil.

 Pour créer un bouton qui permet d’ouvrir un autre formulaire :


- Utiliser le bouton , une boite de dialogue s’affiche cliquer sur Opération sur
formulaire puis cliquer sur ouvrir un formulaire.

- Sélectionner le formulaire que vous désirer ouvrir à partir du bouton à créer puis cliquer
sur suivant.

- Saisir le texte du bouton et cliquer sur suivant, enfin cliquer sur terminer.

Remarque :
1- On peut créer un formulaire « Menu général » pour faciliter l’accès aux autres formulaires,
requêtes, états,… de la BD. Ce formulaire doit contenir des boutons de commandes. Chaque bouton
est un lien vers un autre objet (formulaire requête, état, …)
2- L’action à exécuter en cliquant sur un bouton de commande doit être enregistré dans une macro.
C- Création d’une macro:
Pour créer une macro :
 Choisir l’objet «Macro » de la fenêtre « Base de données »
 Cliquer sur le bouton « Nouveau »
 Dans la colonne « Action », fixer l’action en question et ses paramètres
 Enregistrer la macro.
On doit associer la macro au bouton de commande, en suivant les étapes suivantes :
 Ouvrir le formulaire contenant le bouton de commande en mode création
 Sélectionner le bouton de commande et choisir «Propriétés » du menu « Affichage »
 Dans l’onglet « Evénement », choisir la macro crée dans la clause « sur clic »
 Fermer la fenêtre
Application :
Soit la base de données FABRICATION dont le schéma est donnée ci-dessous.
PIECE (NOP, Désignation, Couleur, Poids)
SERVICE (NOS, Intitulé, Localisation)
COMMANDE (NOP, NOS, Quantité)
1) Créer la base de données FARICATION et l’enregistrer dans votre dossier de travail situé
sous le dossier bac2008 du racine C: puis créer les tables de cette base de données ainsi
que les relations qui les relient.
2) Remplir les tables par les données suivantes.
COMMANDE
N N Quanti
O O té
P S
1 3 1
PIECE 1 2
SERVICE 4
NOP Designation Couleur Poids 1 3
NOS Intitule
Localisation 1
11 P1 P2 P3 P4 Rouge5,3 1
1 S1 LOC1 2
12 P5 Vert26,22 1 7
2 S2 LOC2
13 Bleu13 2
3 S3 S4 LOC3 14 Rouge25 1 1
4 LOC4 3 4
15 Gris17,75

3) Créer les requêtes suivantes :


a. Les noms des services ayant en commande la pièce « P1 » avec une quantité supérieure
à 10, dans l’ordre croissant.
b. La liste des pièces commandées par un service donné.
c. L’augmentation de 50% des quantités des pièces commandées par le service S1.
4) Créer les formulaires suivants :
a. Un formulaire de saisie des Services.
b. Un formulaire de saisie des Pièce.
c. Un formulaire de saisie des commandes.
d. Un menu général : contenant le titre « Gestion fabrication », les boutons de commandes :
- Le 1er pour afficher le formulaire de saisie des services.
- Le 2éme pour exécuter la première requête.
- Le 3éme pour imprimer la table commande.
éme
- Le 4 pour quitter le formulaire en cour.
Ajouter dans le menu les boutons de commandes suivants :
 Le bouton de commande « Saisie des pièces » qui, sur clic, ouvre le formulaire « saisie
des pièces » à l’aide d’une macro.
 Le bouton de commande « Saisie des commandes » qui, sur clic, ouvre le formulaire « saisie
des commandes » à l’aide d’une macro.
 Le bouton de commande « requête 2 » qui, sur clic, ouvre le formulaire « requête 2» à
l’aide d’une macro.
Bases de données
II- Création et impression d’état :
A-Création d’un état :
Pour créer un état avec l’assistant état
 Choisir l’objet « Etat » de la fenêtre « Base de données »
 Cliquer sur le bouton « Nouveau » puis sur « Assistant Etat »
 Sélectionner la requête source de données puis valider
 Suivre les instructions de l’assistant pour sélectionner les champs, afficher les
données, spécifier l’ordre de tri et la disposition des données, choisir l’orientation et le
style de l’état et enfin visualiser l’aperçu de l’état
 Enregistrer l’état.

B-Définition :
Un état est un objet de la BD utilisé pour mettre en forme les données à imprimer. Il a un degré
d’importance supérieur à celui du formulaire. Il est toujours construit sur le résultat d’une requête
C- Les composants d'un état :
Dans le mode création, un état comporte cinq zones :
1. Entête d’état : cette zone est imprimée en haut de la 1ière page seulement
2. Entête de page : cette zone est imprimée en haut de toutes les pages
3. Détail : cette zone permet d’imprimer le contenu des requêtes
4. Pied de page : cette zone est imprimée en bas de toutes les pages
5. Pied d’état : cette zone est imprimée après le détail de la dernière page
D- Modification d'un état :
Il est possible de modifier un état :
1. A partir de l’aperçu de l’état ouvrir le menu Affichage, cliquer sur la commande Mode création
2. Modifier, ajouter ou supprimer les objets en question
3. Enregistrer les modifications

E- Ajout d’un champ calculé :


Il est possible d’ajouter des champs calculés a un état a partir des expression saisie par le concepteur
1. Ouvrir le Mode création de l’état
2. Appuyer sur l’objet zone de texte
3. cliquer dans la zone de texte champ indépendant

Application :
Dans la base de données FABRICATION :
a. Créer l’état qui permet d’imprimer la liste des services.
b. Créer l’état qui permet d’imprimer la liste des commandes trié par ordre croissant
selon les quantités.
c. Créer l’état qui permet d’imprimer la liste des pièces commandé par un service donné.
d. Ajouter le champ calcule prix-pièce =[NOP]*[quantité]
Bases de données

Vous aimerez peut-être aussi