10
Requêtes sous Access Licence IDEA 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin/ Une base de donnéesmais pour quoi faire ? Modélisation de linformation sous la forme dun MCD, dun MLD puis dun MPD Que faire avec notre BD ? – Maintenance (bien sûr) – Requêtes : il est très important que ces informations puissent être retrouvées rapidement et simplement par les personnes qui en ont besoin. Types de requêtes Il existe 3 types de requêtes : – les requêtes de projection : il sagit de ne conserver que les champs intéressants – les requêtes de sélection : on ne conserve que les enregistrements intéressants – les requêtes de jointure : on remet ensemble des données situées dans différentes tables On peut mélanger les types de requêtes Projection contre sélection Soit une table Etudiants(NumE , Nom, Prénom, Age, Année, Fac) qui contient 150 étudiants : Requête de projection : nafficher que les noms et prénoms des étudiants Requête de sélection : nafficher que les étudiants dont le nom commence par M NumE Nom Prénom Age Année Fac 1 Bonnaud Jean 24 4 Sociologie 2 Assin Marc 21 2 Histoire Requête de projection Requête de sélection

Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

  • Upload
    vandung

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Requêtes sous Access

Licence IDEA 1ère année

Julien Velcin

http://mediamining.univ-lyon2.fr/velcin/

Une base de données… mais pour quoi faire ?

•  Modélisation de l�information sous la forme d�un MCD, d�un MLD puis d�un MPD

•  Que faire avec notre BD ? – Maintenance (bien sûr) – Requêtes : il est très important que ces

informations puissent être retrouvées rapidement et simplement par les personnes qui en ont besoin.

Types de requêtes

•  Il existe 3 types de requêtes : –  les requêtes de projection : il s�agit de ne

conserver que les champs intéressants –  les requêtes de sélection : on ne conserve

que les enregistrements intéressants –  les requêtes de jointure : on remet ensemble

des données situées dans différentes tables •  On peut mélanger les types de requêtes

Projection contre sélection

Soit une table Etudiants(NumE, Nom, Prénom, Age, Année, Fac) qui contient 150 étudiants :

•  Requête de projection : n�afficher que les noms et prénoms des étudiants

•  Requête de sélection : n�afficher que les étudiants dont le nom commence par �M�

NumE Nom Prénom Age Année Fac

1 Bonnaud Jean 24 4 Sociologie

2 Assin Marc 21 2 Histoire

Requête de projection

Requête de sélection

Page 2: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Effectuer une requête sous Access

Différentes étapes :

1)  choisir le type d�objet « Requête » ; 2)  puis « Créer une requête en mode

création » ; 3)  ajouter les données servant de base à la

requête : table(s), requête(s), etc.

La fenêtre de requête

Les données de base

Partie requête

Faire une projection

•  Il suffit de double-cliquer uniquement sur les champs souhaités :

Seuls les champs sélectionnés s�ajoutent en bas. Ils seront les seuls à s�afficher (si la case « afficher » est bien cochée). Le champ �*� signifie « tous les champs ».

Exécuter une requête

•  Plusieurs possibilités : – demander l�exécution – changer le type d�affichage

•  Résultat : une « feuille de données ».

Page 3: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Double aspect d�une requête

•  Nous voyons que, comme une table, une requête présente un double aspect : –  l'aspect structure, lequel est défini en mode

création ; –  l'aspect résultat, qui est représentée par une

table à l'existence volatile, laquelle s'appelle « feuille de données » sous Access.

Enregistrement d�une requête

•  Une requête peut être enregistrée pour conserver sa structure. Cela permet d�effectuer des requêtes emboîtées.

•  Puisque le résultat d'une requête est une table, une autre possibilité est de l�enregistrer comme tel. Pour cela, il faut sélectionner l�option « Requête Création de table » sous Access.

Requête de sélection

•  Contrairement à la projection, la sélection permet d�extraire d�une table les lignes (enregistrements) répondant à un certain nombre de critères.

•  L�ensemble des critères est parfois appelé un filtre.

•  La sélection représente l'outil courant de recherche de l'information dans les Bases de Données.

Les critères (1) : le tri

•  Pour trier selon un ou plusieurs champs, il faut mettre « croissant » ou « décroissant » dans la case « tri » de la colonne correspondante :

Page 4: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Les critères (2) : comme

•  A utiliser pour les champs de type « texte » •  Permet de dire à quoi doit ressembler le résultat •  Utilisation de deux caractères spéciaux :

–  * : n�importe quoi en nombre quelconque –  ? : un caractère quelconque

•  Ex : les noms qui commencent par �M�

Les critères (3) : comparaison

•  Pour les dates et les nombres, utilisation des symboles de comparaison (>, <, >=, <=)

•  Les dates sont encadrées de # (par exemple #24/09/2007#)

Les critères (4) : entre

•  Pour les dates et les nombres. •  Possibilité d�indiquer deux bornes :

Entre XXX et XXX

Les critères (5) : liste

•  Possibilité de préciser une liste de valeur. •  Seuls les enregistrements correspondants

à une des valeurs sont conservés.

Page 5: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Plusieurs critères sur un champ

•  On peut cumuler les critères avec « Et » et « Ou ».

•  On peut aussi exclure des critères avec « Pas ».

Plusieurs critères sur différents champs

•  Si les critères sont sur la même ligne : ET •  Si les critères sont sur des lignes

différentes : OU

(Nom comme « M* » ET ville dans (« Laval », « Montréal »)) OU Prénom comme « P* »

Les fonctions

•  Pour exprimer des critères, 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.

Requête paramétrée

•  On peut demander un critère à l�exécution de la requête

•  On met alors comme critère : [Message à afficher]

Page 6: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Personnalisation de l�affichage •  On peut changer la largeur ou l�ordre des colonnes des

résultats : ces modifications seront sauvegardées •  On peut aussi modifier le nom des colonnes : en mode

création, choisir un champ puis « propriétés » et remplir la légende

Le nom du champ

Élimination des doublons

•  Une requête peut donner des doublons dans la liste des enregistrements retournés, ce qui est souvent indésirable.

•  Pour éviter cela, sélectionner l�option « Valeurs distinctes » à Oui dans le menu propriété de la requête.

Les calculs dans les requêtes

•  Pour certains calculs, il est inutile d�enregistrer toutes les données calculées.

•  On ne stocke donc que les données de base et les calculs seront refaits à chaque requête.

•  Compromis entre : – place sur le disque nécessaire pour la base – capacités de calcul de l�ordinateur

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é

Page 7: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Les regroupements / agrégats

•  Il est possible de regrouper certaines données selon un ou plusieurs critères.

•  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

Faire un regroupement sous Access

•  Cliquez sur le bouton pour faire apparaître la ligne « Opérations »

•  Choisir : – Regroupement : pour les champs à regrouper – Les autres fonctions : pour les champs sur

lesquels on fait des calculs (somme, moyenne, etc.)

– Où : lorsque l�on veut mettre un critère

Exemple

•  Nombre d�articles commandés par client :

Requête sur plusieurs tables

•  Si on veut récupérer des informations sur une table, il suffit de faire une requête de sélection ou de projection.

•  Problème : et si mes données sont dans deux tables (ou plus) différentes ?

Page 8: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Exemple : base Comptoirs Exemple de questions

•  Pour chaque commande, donnez sa date, le nom de l�employé qui l�a enregistré et la société du client

Opération de jointure

•  Une jointure est une combinaison des enregistrements de deux ou plusieurs tables.

•  La combinaison se fait grâce aux liens clef primaire – clef secondaire (ou étrangère).

•  Mathématiquement, une jointure est une composition de relations, tout comme on peut composer des fonctions (ex. : gof).

Exemple de jointure

La combinaison se fait grâce au « code client » : à chaque enregistrement de « commandes », on fait correspondre le client

correspondant.

Page 9: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

Jointure sous Access

•  Sur la page « relations », il faut bien préciser quelles sont les clefs étrangères et les cardinalités.

•  Lors des requêtes, Access va utiliser ces informations pour réaliser les jointures.

Procédure - 1

On choisit les tables qui vont intervenir dans la requête + les tables qui les lient (toutes les tables choisies doivent être liées

entre elles).

Procédure – 2

On choisit les champs et on y met les critères s�il y en a, comme dans toute requête. Le champ « table » correspond à la table d�où provient

le champ.

Procédure – 3

On lance la requête, Access fait la jointure pour nous.

Page 10: Access - mediamining.univ-lyon2.frmediamining.univ-lyon2.fr/velcin/public/ACCESS/access_requetes_4.pdf · Effectuer une requête sous Access Différentes étapes : 1) choisir le type

ATTENTION

•  Il ne faut bien mettre que des tables en relations dans les sources de la requête sinon Access fait un produit cartésien (toutes les possibilités).

•  Il peut donc être nécessaire de rajouter des tables pour lier les tables « utiles » (celles qui contiennent les champs voulus).