Vous êtes sur la page 1sur 10

23/01/13

Une base de donnes


mais pour quoi faire ?
Requtes sous

Access

Licence IDEA 1re anne

Julien Velcin
http://eric.univ-lyon2.fr/~jvelcin/

Modlisation de linformation sous la forme


dun MCD, dun MLD puis dun MPD
Que faire avec notre BD ?
Maintenance (bien sr)
Requtes : il est trs important que ces
informations puissent tre retrouves
rapidement et simplement par les personnes
qui en ont besoin.

Types de requtes
Il existe 3 types de requtes :
les requtes de projection : il sagit de ne
conserver que les champs intressants
les requtes de slection : on ne conserve
que les enregistrements intressants
les requtes de jointure : on remet ensemble
des donnes situes dans diffrentes tables

On peut mlanger les types de requtes

Projection contre slection


Soit une table Etudiants(NumE, Nom, Prnom,
Age, Anne, Fac) qui contient 150 tudiants :
Requte de projection : nafficher que les noms
et prnoms des tudiants
Requte de slection : nafficher que les
tudiants dont le nom commence par M
NumE

Nom

Age Anne

Fac

Bonnaud Jean

Prnom

24

Sociologie

Assin

21

Histoire

Marc

Requte de
slection

Requte de projection

23/01/13

Effectuer une requte sous Access

La fentre de requte

Diffrentes tapes :
Les
donnes
de base

1) choisir le type dobjet Requte ;


2) puis Crer une requte en mode
cration ;
3) ajouter les donnes servant de base la
requte : table(s), requte(s), etc.

Faire une projection

Partie
requte

Excuter une requte

Il suffit de double-cliquer uniquement sur


les champs souhaits :
Seuls les champs
slectionns sajoutent
en bas. Ils seront les
seuls safficher (si la
case afficher est
bien coche).

Plusieurs possibilits :
demander lexcution
changer le type daffichage

Rsultat : une feuille de donnes .

Le champ * signifie
tous les champs .

23/01/13

Double aspect dune requte


Nous voyons que, comme une table, une
requte prsente un double aspect :
l'aspect structure, lequel est dfini en mode
cration ;
l'aspect rsultat, qui est reprsente par une
table l'existence volatile, laquelle s'appelle
feuille de donnes sous Access.

Requte de slection
Contrairement la projection, la slection
permet dextraire dune table les lignes
(enregistrements) rpondant un certain
nombre de critres.
Lensemble des critres est parfois appel
un filtre.
La slection reprsente l'outil courant de
recherche de l'information dans les Bases
de Donnes.

Enregistrement dune requte


Une requte peut tre enregistre pour
conserver sa structure. Cela permet
deffectuer des requtes embotes.
Puisque le rsultat d'une requte est une
table, une autre possibilit est de
lenregistrer comme tel. Pour cela, il faut
slectionner loption Requte Cration
de table sous Access.

Les critres (1) : le tri


Pour trier selon un ou plusieurs champs, il faut
mettre croissant ou dcroissant dans la
case tri de la colonne correspondante :

23/01/13

Les critres (2) : comme


A utiliser pour les champs de type texte
Permet de dire quoi doit ressembler le rsultat
Utilisation de deux caractres spciaux :
* : nimporte quoi en nombre quelconque
? : un caractre quelconque

Les critres (3) : comparaison


Pour les dates et les nombres, utilisation des
symboles de comparaison (>, <, >=, <=)
Les dates sont encadres de # (par exemple
#24/09/2007#)

Ex : les noms qui commencent par M

Les critres (4) : entre


Pour les dates et les nombres.
Possibilit dindiquer deux bornes :
Entre XXX et XXX

Les critres (5) : liste


Possibilit de prciser une liste de valeur.
Seuls les enregistrements correspondants
une des valeurs sont conservs.

23/01/13

Plusieurs critres sur un champ

Plusieurs critres sur


diffrents champs

On peut cumuler les critres avec Et et


Ou .
On peut aussi exclure des critres avec Pas .

Si les critres sont sur la mme ligne : ET


Si les critres sont sur des lignes
diffrentes : OU

(Nom comme M* ET ville dans ( Laval , Montral ))


OU Prnom comme P*

Les fonctions
Pour exprimer des critres, on peut aussi
utiliser des fonctions. Par exemple :
NbCar([NomClient])= "4"
Droite([NomEmploy];2)="se"
PartDate("aaaa";[Date_commande])=2000
Jour([Date_envoi])=12
etc.

Requte paramtre
On peut demander un critre lexcution
de la requte
On met alors comme critre :
[Message afficher]

23/01/13

Personnalisation de laffichage
On peut changer la largeur ou lordre des colonnes des
rsultats : ces modifications seront sauvegardes
On peut aussi modifier le nom des colonnes : en mode
cration, choisir un champ puis proprits
et remplir la lgende

limination des doublons


Une requte peut donner des doublons
dans la liste des enregistrements
retourns, ce qui est souvent indsirable.
Pour viter cela, slectionner loption
Valeurs distinctes Oui dans le menu
proprit de la requte.

Le nom du champ

Les calculs dans les requtes


Pour certains calculs, il est inutile
denregistrer toutes les donnes calcules.
On ne stocke donc que les donnes de
base et les calculs seront refaits chaque
requte.
Compromis entre :

Faire un calcul sous Access


Il suffit de mettre un nouveau champ
nom du champ : le futur nom de la colonne
suivi de deux points
puis de la formule, avec les champs entre [ ]

Ex. : prix total = prix unitaire * quantit

place sur le disque ncessaire pour la base


capacits de calcul de lordinateur

23/01/13

Les regroupements / agrgats


Il est possible de regrouper certaines
donnes selon un ou plusieurs critres.
On peut alors faire des calculs sur les
autres champs : somme, moyenne, min,
max, compte
Ex : total des commandes par client
Regroupement par client
Somme sur les commandes

Exemple
Nombre darticles commands par client :

Faire un regroupement
sous Access
Cliquez sur le bouton
pour faire
apparatre la ligne Oprations
Choisir :
Regroupement : pour les champs regrouper
Les autres fonctions : pour les champs sur
lesquels on fait des calculs (somme,
moyenne, etc.)
O : lorsque lon veut mettre un critre

Requte sur plusieurs tables


Si on veut rcuprer des informations sur
une table, il suffit de faire une requte de
slection ou de projection.
Problme : et si mes donnes sont dans
deux tables (ou plus) diffrentes ?

23/01/13

Exemple : base Comptoirs

Exemple de questions
Pour chaque commande, donnez sa date,
le nom de lemploy qui la enregistr et la
socit du client

Opration de jointure
Une jointure est une combinaison des
enregistrements de deux ou plusieurs
tables.
La combinaison se fait grce aux liens clef
primaire clef secondaire (ou trangre).
Mathmatiquement, une jointure est une
composition de relations, tout comme on
peut composer des fonctions (ex. : gof).

Exemple de jointure

La combinaison se fait grce au code client : chaque


enregistrement de commandes , on fait correspondre le client
correspondant.

23/01/13

Jointure sous Access

Procdure - 1

Sur la page relations , il faut bien


prciser quelles sont les clefs trangres
et les cardinalits.
Lors des requtes, Access va utiliser ces
informations pour raliser les jointures.

On choisit les tables qui vont intervenir dans la requte + les


tables qui les lient (toutes les tables choisies doivent tre lies
entre elles).

Procdure 2

Procdure 3

On choisit les champs et on y met les critres sil y en a, comme dans


toute requte. Le champ table correspond la table do provient
le champ.

On lance la requte, Access fait la jointure pour nous.

23/01/13

ATTENTION
Il ne faut bien mettre que des tables en
relations dans les sources de la requte
sinon Access fait un produit cartsien
(toutes les possibilits).
Il peut donc tre ncessaire de rajouter
des tables pour lier les tables
utiles (celles qui contiennent les
champs voulus).

10

Vous aimerez peut-être aussi