m1104 tp3 tp4
m1104 tp3 tp4
m1104 tp3 tp4
Objectif du TP
Lobjectif de ce TP est de crer une Base de Donnes sous Access (versions antrieures Access 2007) et
dinterroger cette BD avec des requtes dites interactives (Query By Example).
1. Lancez le logiciel Access et cliquez sur licne Base de donnes vide pour crer une nouvelle BD. Donnez
un nom significatif votre fichier (vitez si possible accents et espaces) et enregistrez-le sur votre espace
disque personnel (P:/). Gardez lextension accdb pour que le systme puisse associer correctement votre
fichier au logiciel Access et crez le fichier.
2. laide du menu Crer > Cration de table, nous allons crer une table en prcisant les informations
de chaque attribut de cette table :
a. Dans la premire cellule, saisissez le nom du premier attribut de la table Service ;
b. Dans la cellule de droite, choisissez laide de la liste droulante le type de lattribut nosrv. Dans le
schma relationnel ci-dessus, 20 correspond la taille du champ ;
c. Dans la cellule encore droite, vous pouvez commentez lintrt de cet attribut dans cette table, par
exemple : numro du service ;
d. Dans la ligne suivante, faites de mme que prcdemment pour lattribut suivant de Service. On
nautorisera pas de chaine vide pour cet attribut ;
e. Pour dfinir la cl primaire de la table, slectionnez les lignes laide de la souris en slectionnant les
cases bleues gauche des noms des champs et cliquez sur licne correspondant une cl.
f. Cliquez sur licne Affichage pour afficher la table en mode feuille de donnes. Bien sr, vous
lui donnerez le nom adquat !
3. Faites de mme que prcdemment en crant la table Employe. Ne vous
proccupez pas de la cl trangre pour linstant. La date dembauche sera
une date au format abrg. La valeur par dfaut pour cette date sera la
date du jour ; pour cela :
a. Cliquez sur la cellule droite de valeur par dfaut, puis cliquez
sur pour faire apparaitre le gnrateur dexpression
dAccess (cf. ci-contre) ;
b. Faites apparaitre les fonctions intgres de date/heure et choisissez la plus adquate pour
rcuprer la date du jour.
Lise BRENAC & Denis PALLEZ Module 1104 (Introduction aux BDs) 1/6
IUT de Nice Cte dAzur Dpartement Informatique TP : Cration dune BD sous Access
____________________________________________________________________________________________
c. On souhaite saisir une contrainte dintgrit qui prcise que le salaire dun employ est compris entre
0 et 7000 . Pour cela, utilisez le gnrateur dexpression pour saisir loprateur Entre dans la
proprit valide si pour lattribut Salaire.
d. Vrifiez que la contrainte cre prcdemment est constamment vrifie par le SGBD : affichez la
table Employ en mode feuille de donnes puis saisissez un nouvel employ avec un salaire ngatif.
Quel est le message derreur affich par Access ?
e. Pour annuler la saisie dun enregistrement, appuyez sur la touche Escape ou chap.
4. Crez les tables Projet et Intervenir.
5. Vrifiez que la cl primaire de la table Intervenir a t correctement dfinie :
a. Essayez de saisir lenregistrement (rien),3,45 . Quel est le message derreur ?
.
b. Essayez de saisir les enregistrements suivants 1,2,25 puis 1,2,14. tes-vous capable de saisir le dernier
enregistrement ? Quel est le message derreur ? Comment lexpliquez-vous ?
..
c. Si vous navez pas deux messages derreur, retournez la question 4.
IMPORTATION DE DONNEES
6. Par chance, les donnes correspondantes aux employs de la mairie ont t sauvegardes mais dans des
fichiers texte nayant pas tous le mme format. Les SGBDs donnent souvent la possibilit dimporter ou
exporter des donnes textuelles si le module dimport est correctement configur :
a. Cliquez sur la table Employ avec le bouton droit de la souris et choisissez le module
dimportation partir dun fichier texte ;
b. Spcifiez le fichier Employe.txt qui se trouve dans S:\, cochez loption de copie des
enregistrements la table et validez votre choix ;
c. Cliquez une premire fois sur Suivant pour valider le fait que les donnes sont dlimites ;
d. Cliquez sur le bouton Avanc pour paramtrer correctement limportation des donnes en portant
une attention particulire au sparateur de champs, au dlimiteur de date, lordre de la date et au
symbole dcimal. Pour paramtrer correctement limport, ouvrez le fichier texte dans un simple
diteur de texte (Scite par exemple), analysez-le et dduisez-en les valeurs des paramtres. 31
enregistrements doivent tre insrs dans la table. Importez les donnes des tables Projet et
Intervenir (chaque table a t enregistre par une personne diffrente !).
9. Afin de prciser que lattribut NoProj dans la table Intervenir est une cl trangre qui correspond
lattribut NoProjet dans Projet (qui est cl primaire), il faut slectionner avec la souris lattribut NoProjet
dans la table Projet et le glisser-lcher exactement sur lattribut NoProj dans la table Intervenir puis
Lise BRENAC & Denis PALLEZ Module 1104 (Introduction aux BDs) 2/6
IUT de Nice Cte dAzur Dpartement Informatique TP : Cration dune BD sous Access
____________________________________________________________________________________________
appliquer lintgrit rfrentielle pour une modification ou une suppression (si une modification ou une
suppression a lieu dans la table Projet, alors elles sont rpercutes automatiquement par le SGBD dans la
table Intervenir). Bien souvent, les noms des attributs cls primaires et cls trangres sont identiques
mais ce nest pas obligatoire ; cest simplement pour viter de nommer explicitement lattribut rfrenc par
la cl trangre. En effet, en plus du schma relationnel et du symbole #, il aurait t utile de prciser que
NoProj de Intervenir rfrence NoProjet de Projet.
c. Modifiez votre requte pour voir tous les employs qui gagnent plus de 2000 (le salaire ne doit pas
tre affich). Astuce : utilisez la ligne Critres.
Lise BRENAC & Denis PALLEZ Module 1104 (Introduction aux BDs) 3/6
IUT de Nice Cte dAzur Dpartement Informatique TP : Cration dune BD sous Access
____________________________________________________________________________________________
d. Enregistrer votre requte en fermant la fentre et en lui donnant un nom TRS explicite comme
TP1_Q15_Employe_avec_salaire_superieur_a_2000 par exemple. Vous pouvez modifier ce
nom tout moment en cliquant sur la requte avec le bouton droit de la souris.
16. Crer une requte interactive qui affiche le nom et le prnom dans une seule colonne et le salaire dans une
autre colonne. Pour cela, vous utiliserez le menu contextuel Crer (bouton droit de la souris) sur la zone
Champ ainsi que du symbole & comme oprateur de concatnation de texte. Afficher le rsultat puis revenez
en mode interactif. Remplacer Expr1 par le texte Employ pour renommer temporairement le nom de la
colonne lors de laffichage du rsultat.
24. Affichez toutes les informations des employs dont le numro est compris entre 10 et 20.
25. Affichez les informations des employs dont le nom commence par LE. Astuce : Pensez utiliser le
gnrateur dexpressions et utiliser les fonctions intgres sur du texte.
26. Affichez les informations des employs dont le nom commence par LE ou LA.
27. Affichez les informations des employs dont le nom ne commence ni par LE ni par LA.
28. Affichez les informations des employs qui nont pas de prime. Pour cela, il est ncessaire de conserver que
les enregistrements pour lesquels lattribut prime na pas t renseign. (Gnrateur dexpression >
Constantes > Null).
29. On souhaite calculer le salaire moyen des employs de la mairie. Pour cela, il est ncessaire dappliquer une
opration particulire sur lensemble des enregistrements de la table. Cliquez sur licne Totaux pour faire
apparatre une nouvelle ligne Opration et choisissez la moyenne (pensez regarder les autres oprations
possibles, ca pourra vous aider plus tard).
30. Afficher le numro des employs et le service dans lequel ils sont affects.
Lise BRENAC & Denis PALLEZ Module 1104 (Introduction aux BDs) 4/6
IUT de Nice Cte dAzur Dpartement Informatique TP : Cration dune BD sous Access
____________________________________________________________________________________________
31. Dans une requte base sur la question 30, on souhaite compter le nombre demploy pour chaque service.
Pour cela, on va regrouper les enregistrements qui ont la mme valeur de NoSrv et compter le nombre
demploy reprsent par leur numro. Enfin, triez le rsultat suivant un numro de service croissant.
Sources pour ce TP
Lise BRENAC & Denis PALLEZ Module 1104 (Introduction aux BDs) 6/6