Recueil d’exercices corriges sur les bases de donnees Access 2010

Faculté d’Economie et de Gestion
L3
INFORMATIQUE – Bases de données
RECUEIL D’EXERCICES pour les travaux dirigés
Table des matières
Objectifs :
• Comprendre la notion de base de données
• Comprendre les concepts permettant de structurer une base de données
• Construire une base de données sur Access en utilisant les fonctionnalités de création de table, de champ et de lien entre tables
BURO société de vente de matériel de bureau : papeterie, fourniture, armoires, sièges… Voici les informations présentes sur une commande de BURO :
- Date - N°commande - N° de client - Société - Contact - Adresse - Ville - Tel et Fax - Email client | - Adresse de livraison - Date de livraison - N° du vendeur - Nom du vendeur - Ref produit - Description - Prix unitaire - Quantité | - Sous total ht (pour chaque ligne de commande) - Total HT - TVA - Total TTC - Escompte - Net à payer |
1) Regrouper ces informations dans des tables, en respectant les contraintes suivantes :
• Regrouper les champs dans des tables qui peuvent être reliées
• Pas de dédoublement des champs, sauf pour les champs communs
• Pas de champs calculables
2) Définissez les clés primaires et les clés étrangères pour les relations entre les tables
On considère la structure d’une base de données « bibliothèque » composée des 5 tables suivantes :
OUVRAGE (num_ouvrage, éditeur, titre, premier_auteur)
EXEMPLAIRE (num_ouvrage, num_exemplaire, date_acquisition, prix, état_exemplaire) avec état_exemplaire = {sorti, disponible, réservé}
ABONNE (num_abonné, nom_abonné, date_abonnement, nbre_emprunts_en_cours, état_abonné)
avec état_abonné = {valide, relancé, exclu}
DEMANDE_EMPRUNT (num_demande, date_demande, num_abonné, num_ouvrage,
état_demande) avec état_demande = {en_attente, acceptée, refusée}
EMPRUNT ( num_emprunt, date_emprunt, num_demande, num_ouvrage, num_exemplaire)
Donner les clés primaires et étrangères pour chacune des tables ci-dessus.
Créer une base de données nommée UNIVERSITE, qui contient 2 tables : DIPLOME et ETUDIANT
1. Créer d’abord la table DIPLOME avec les champs suivants : CodeD (NumeroAuto) , Diplôme (texte, longueur 10) , Durée (numérique, octet)
2. Appliquer les propriétés de champs suivantes :
• Clé primaire sur le champ CodeD, insérer la légende « Code du diplôme »
• Saisie obligatoire du champ Diplôme et nom affiché en majuscule
• Pour le champ Durée, insérer la légende « Durée du cursus en années »
3. Créer ensuite la table ETUDIANT avec les champs suivants :
N°Etudiant (Numérique, entier long), Nom (texte, longueur 60), Prénom (texte, longueur 60), Sexe (texte, longueur 1), Date naissance (Date/Heure, date complète), Doublant (Oui/Non), Droits (Monétaire) et statut (Liste de choix).
4. Appliquer les propriétés de champs suivantes :
• clé primaire sur le champ N°Etudiant
• Saisie obligatoire du nom d’étudiant et affiché en majuscule
• Pour le champ Sexe, autoriser uniquement la saisie de la lettre M ou F
• Pour le champ Doublant, la valeur par défaut est Non
• Pour le champ Droits, la saisie est refusée si la valeur dépasse 1000, et le message d’erreur « le montant doit être inférieur à 1000 » est affiché
• Pour le champ statut, les seules valeurs autorisées sont : Formation Continue, Formation
Initiale, Formation Alternance
5. Pour établir une relation entre les 2 tables, que faut-il ajouter à la table ETUDIANT ?
6. Etablir la relation avec intégrité référentielle
7. Saisir dans chaque table quelques enregistrements de votre choix et vérifier les contraintes (par exemple, sur les doublons, sur les droits …)
8. Vérifier l’intégrité référentielle (par exemple en saisissant un code diplôme inexistant, en supprimant un diplôme…)
Objectifs :
• Définir la structure d’une base de données
• Réaliser une base de données (déclaration des tables, des champs et des liens)
• Ecrire des requêtes en utilisant l’interface graphique Access
Une entreprise industrielle de fabrication de gros matériel gère son activité de distribution par « affaires ». Chaque affaire se réfère à un seul client. Chaque affaire ne porte que sur un seul type de matériel. Dans de nombreux cas, une affaire est livrée en plusieurs fois, chacune donnant lieu à une livraison. Chaque affaire est caractérisée par un prix de vente. Chaque livraison est caractérisée par le nombre de matériels livrés, par un numéro de bon de livraison, une date d’expédition de la livraison. Quand la livraison a réellement eu lieu, on enregistre la date de livraison.
Pour décrire ce problème, le concepteur a intuitivement envisagé le schéma suivant :
CLIENT (nocli, nomcli, adrcli, cacli)
AFFAIRE (noaff, nocli, nomcli, adrcli, mtaff, dataff, nbmat, nbliv, nomat)
LIVRAISON (nobl, datexp, nocli, nomcli, adrcli, nomat, noaff, datliv, qliv, mtliv) MATERIEL(nomat, pvmat, libmat, qtemat) où : nocli est le numéro du client, il est unique par client ; nomcli est le nom du client ;
adrcli est l’adresse complète du siège social du client ;
cacli est le chiffre d’affaires du client depuis que l'entreprise est en relation avec lui ; noaff est le numéro de l’affaire, il est unique par affaire ; mtaff est la valeur de l’affaire ; dataff est la date à laquelle l’affaire est conclue ; nbmat est le nombre d’unités commandées ; nbliv est le nombre de livraison prévue ; mtliv est la valeur de la livraison ; qliv est la quantité livrée datexp est la date d'expédition;
nobl est le numéro de bon de livraison, il est unique par livraison ; datliv est la date du jour de la livraison ;
nomat est le numéro de matériel, il est unique par matériel ; pvmat est le prix unitaire du matériel ; libmat est la désignation du matériel ; qtemat est la quantité en stock de ce matériel.
ier Travail : Conception de la base AFFAIRE
1. Corriger le schéma de la base de données décrit par le concepteur
2. Donner la représentation graphique de la structure de la base en mettant en évidence les clés primaires, les clés externes.
3. Constituer une copie de la base de données AFFAIRE qui vous est fournie. Consulter la représentation graphique ACCESS. Dans cette base de données, les tables contiennent les informations suivantes :
Table CLIENT
NOCLI | NOMCLI | RUECLI | CPCLI | VILLECLI | CACLI |
1 | Dupont Jacques | 8 Rue Des Cordeliers | 13090 | Aix En Provence | 56 000,00 € |
2 | Dupuis Jean | Rue Du Bois Nouveau | 13100 | Aix En Provence | 985 000,00 € |
3 | Serra Albert | 5 Rue Leon Blum | 13090 | Aix En Provence | 553 223,00 € |
4 | Danna Sidonie | Quartier Saint Jean | 84130 | Le Pontet | 812 654,00 € |
5 | Sartous Robert | Rue De La Molle | 13100 | Aix En Provence | 456 258,00 € |
6 | Texedene Jean | Rue De La Republique | 13120 | Puyricard | 32 000,00 € |
7 | Loiseau Gerard | Rue De La Grande Place | 13240 | Meyreuil | 12 000,00 € |
8 | Josserand Melodie | Avenue De L Europe | 13090 | Aix En Provence | 75 000,00 € |
9 | Roubaud Aurore | Rue Max Weber | 13700 | Lambesc | 125 000,00 € |
10 | Tamburini Franck | Boulevard De La Liberte | 13740 | Saint Cannat | 453 000,00 € |
11 | Poitrier Laurent | Chemin De Valcros | 13800 | Aix Les Milles | 70 000,00 € |
12 | Parlos Jose | Chemin De La Bigotte | 13006 | Marseille | 200 000,00 € |
Table MATERIEL
NOMAT | LIBMAT | QTEMAT | PVMAT |
1 | Perforateur A | 25 | 3 654,00 € |
2 | Electro Portatif | 15 | 8 975,00 € |
3 | Compresseur B | 30 | 4 658,00 € |
4 | Surpresseur | 45 | 6 000,00 € |
5 | Electro Pompe | 60 | 2 985,00 € |
6 | Groupe Electrogene | 28 | 15 685,00 € |
7 | Pompe Type H | 14 | 4 657,00 € |
8 | Marteau Piqueur | 145 | 6 189,00 € |
9 | Compresseur H | 25 | 8 000,00 € |
10 | Perforateur TTX | 42 | 3 589,00 € |
Table AFFAIRE
NOAFF | NOCLI | NOMAT | DATAFF | NBMAT | NBLIV |
1 | 1 | 8 | 03/09/2011 | 50 | 3 |
2 | 5 | 5 | 04/10/2011 | 9 | 5 |
3 | 8 | 5 | 05/11/2011 | 50 | 9 |
4 | 7 | 6 | 10/11/2011 | 26 | 8 |
5 | 1 | 4 | 11/12/2011 | 40 | 4 |
6 | 1 | 10 | 14/12/2011 | 30 | 3 |
7 | 2 | 7 | 06/01/2012 | 10 | 1 |
8 | 2 | 8 | 07/01/2012 | 50 | 2 |
9 | 1 | 8 | 13/01/2012 | 30 | 3 |
Table LIVRAISON
NOBL | NOAFF | DATEXP | DATLIV | QTELIV |
1 | 3 | 16/11/2011 | 23/11/2011 | 10 |
2 | 3 | 23/11/2011 | 10/12/2011 | 3 |
3 | 4 | 24/11/2011 | 01/12/2011 | 2 |
4 | 5 | 19/12/2011 | 25/12/2011 | 5 |
5 | 7 | 13/01/2012 | 16/01/2012 | 10 |
ème Travail : Expression de requêtes
Requêtes simples
1. Afficher la liste de tous les noms de clients avec l’adresse complète de leur siège social, par ordre alphabétique des noms. Visualiser le résultat de la requête.
2. Afficher la liste des clients de Marseille et d'Aix en Provence.
3. Afficher les matériels dont le prix est compris entre 4 000 et 15 000 €.
4. Afficher les clients dont le nom commence par A
5. Afficher les clients dont le nom de famille est DUPONT ou DANNA
4. Afficher les noms et adresses des clients dont le nom commence par un D ou un P, tels que leur siège social est à Aix en Provence et leur chiffre d’affaires est supérieur ou égal à 50.000 € et inférieur à 100.000 €.
5. Faites en sorte que les en-têtes de colonnes du résultat de la requête précédente soient explicites, par exemple : Nom du client au lieu de nomcli
6. Calculer le nombre total des matériels dont on dispose et le prix unitaire moyen des matériels que l’on fabrique (moyenne simple).
Requêtes sélection multi-tables
7. Afficher la liste des numéros d’affaire avec pour chacune le nom du client
8. Afficher la liste de tous les noms et les adresses des clients de l’entreprise, avec, le cas échéant, leurs numéros d’affaire. Dans le résultat, il peut y avoir un client sans affaire. 9. Afficher les affaires réalisées dans les 50 derniers jours avec le nom du client concerné 10. Afficher la liste triée par ordre alphabétique des noms de clients pour lesquels une ou plusieurs affaires ont été réalisées dans les 50 derniers jours.
11. Afficher les numéros d’affaire avec le nom du client, pour les livraisons dont la date de livraison dépasse de plus de 10 jours la date d’expédition.
12. Compléter la requête précédente pour afficher, en plus, le nombre de jours de retard de livraison
Requêtes avec regroupement
13. Calculer le montant total des affaires par numéro de client.
14. Compléter la requête 15. Pour n’afficher que les clients dont le montant total des affaires est supérieurs à 50.000 € ?
15. Calculer le montant total des affaires par matériel et par client
Requêtes paramétrées
16. Ecrire une requête paramétrée pour obtenir toutes les affaires d’un client à partir de son numéro.
17. Ecrire une requête paramétrée pour obtenir la liste des clients d'une ville choisie par l'utilisateur.
18. Ecrire une requête paramétrée pour obtenir tous les noms de clients à partir des premières lettres de leur nom.
Requêtes action
19. Créer une requête de création d’une table « Archives» des affaires antérieures au mois de novembre 2011 (ce qui vous permet de déplacer ces affaires dans une autre table avant de les supprimer de la table affaire).
20. Créer une requête de suppression des affaires archivées de la table affaire
21. Créer une requête d’insertion pour remettre les affaires archivées dans la table affaire 22. Créer une requête de modification permettant de majorer de 10% les prix unitaires de tous les matériels
Requêtes d’analyse croisée
23. Créer une requête analyse croisée pour visualiser le montant des affaires par matériel et par client. Cette requête sera utilisée pour générer un formulaire plus loin.
Pour vous entraîner dans l’écriture des requêtes, vous pouvez utiliser la base RAPIDO et écrire les requêtes suivantes. Pour prendre connaissance de cette base, ouvrir la fenêtre des relations pour voir la liste des champs inclus dans chaque table
Première série de requêtes, champs à afficher : Nom, Prénom, CP, ville et téléphone des clients
1. Afficher les clients dont le nom commence par A
2. Afficher les clients dont le nom de famille est LAMOTTE ou BOULANGER
3. Afficher les clients dont le nom commence par A ou B ou D habitant CASSIS
4. Afficher les clients habitant dans le 4° arr. de Marseille ou CASSIS ou TOULON
5. Afficher les clients dont le téléphone est manquant
Deuxième série de requêtes, champs à afficher : Nom, Prénom, ville, date d'embauche, salaire, permanence, statut et commentaire des agents
1. Afficher les Agent Divorcés
2. Afficher les Agents ayant un salaire inférieur ou égal à 1800 €
3. Afficher les employés embauchés avant 1995
4. Afficher les employés embauchés EN 2000
5. Afficher les employés qui sont de permanence
6. Afficher les employés dont le commentaire est rempli
Troisième série de requêtes, champs à afficher : Date, Travaux, Montant et Domaine des interventions
1. Afficher les Interventions du 15 janvier 2008
2. Afficher les Interventions en "PLOMBERIE" ou en « ELECTRICITE »
3. Afficher les Interventions en "PLOMBERIE" en janvier 2008 OU en « ELECTRICITE » en MAI 2008
Quatrième série de requêtes , champs à afficher : Date , Domaine, Nom Agent, Ville client,
Nom client, Montant, Travaux
1. les interventions hors Marseille
2. les interventions en ELECTRICITE par l'agent LALUMIERE
3. les interventions en PLOMBERIE à Marseille concernant des « cumulus »
4. les interventions du trimestre 1 de 2008 de l'agent LAUDELA ou les interventions en plomberie sur Cassis
A chaque exécution, une requête paramètre affiche un message demandant de saisir une valeur pour un champ et affiche la liste filtrée selon la valeur choisie par l'utilisateur En mode création, sur la ligne Critères, entrer le message à afficher entre CROCHETS
On peut rajouter Comme devant les crochets pour ne taper dans le message que le début de la valeur demandée
1. Afficher les interventions selon le domaine choisi
La requête doit afficher les champs : domaine, date d'intervention
Tri croissant sur le champ domaine, tri décroissant sur le champ date
La requête doit permettre de retrouver un domaine en tapant uniquement les premières lettres
2. Afficher les interventions selon la ville choisie
La requête doit afficher les champs : ville client, nom client, date, travaux, montant Tri croissant sur les champs ville et nom client
La requête doit permettre de retrouver une ville en tapant uniquement les premières lettres
3. Afficher les interventions selon l'agent choisi
La requête doit afficher les champs : nom agent, ville client, date, nom client
Tri croissant sur les champs nom agent, ville client et date
4. Afficher les interventions sur une période à consulter
La requête doit afficher les champs : date, ville client, nom client
Tri croissant sur le champ date
5. Afficher les interventions selon la ville et le domaine choisis
La requête doit afficher les champs : ville, domaine, nom agent, date, nom client, travaux, montant
Tri croissant sur les champs ville et domaine
1. Afficher le nom et la prime des agents augmentée de 20%
2. Afficher le nom, le salaire et la prime, puis la nouvelle prime augmentée de 20% pour les salaires < 1600€
3. Afficher le prénom, nom et revenu net (salaire + prime)
4. Afficher le prénom, nom et revenu net (salaire + prime) des agents ayant un revenu net >1800€
5. Afficher le nom et l’ancienneté de chaque agent
6. Afficher le nom des employés embauchés en 2000 en utilisant la fonction Année()
7. Afficher les nom et prénom des salariés sur une année d'embauche au choix (requête paramètrée)
8. Afficher nom et prénom et « CHAMPION » ou « DESOLE » selon que le salaire est >1800€ fonction VraiFaux(condition ;si vrai ; si faux)
RAPIDO
• Pour utiliser les fonctions de synthèse, il faut afficher la ligne Opération par le menu
AFFICHAGE/ OPERATIONS ou en cliquant le bouton
• Pour créer une requête analyse croisée, utiliser l’assistant ou modifier la requête par le menu Requête/Analyse croisée
1. Afficher le nombre des interventions par domaine
2. Afficher le nombre et le montant total des interventions sur Marseille
3. afficher le montant moyen, minimum et maximum des interventions par catégorie
4. Afficher le nombre et les totaux des interventions par agent et par domaine
5. Afficher le nombre des interventions et le montant cumulé pour une ville dont le nom sera demandé (on doit pouvoir taper les premières lettres de la ville)
6. Afficher les totaux des interventions par domaine en juillet 2008 (utilisation de SOMME et Où)
7. afficher le nombre d’interventions dont le montant est >=1000€ regroupé par domaine (utilisation de COMPTE et Où)
8. afficher le total des revenus, cad salaire+prime (une seule colonne avec un champ calculé et une opération SOMME)
9. Créer une requête analyse croisée pour afficher le montant cumulé des interventions par ville (en ligne) et par domaine (en colonne)
10. Créer une requête analyse croisée avec l’assistant pour afficher le nombre d’interventions par ville (en ligne) et par mois (en colonne)
1. Augmenter tous les salaires des agents de 2%
2. Augmenter tous les montants de la catégorie PLOMBERIE de 6%
3. Augmenter de 10% toutes les primes des agents ayant plus de 15 ans d’ancienneté
4. Ajouter un champ DEPARTEMENT à la table CLIENTS . Ce nouveau devra être rempli automatiquement PAR UNE REQUETE
5. Archiver les interventions du premier trimestre 2008 dans une nouvelle table nommée ARCHIVES08 (prendre tous les champs)
6. Ajouter à la table ARCHIVES 2008 les interventions sur une période donnée qui sera demandée à l’exécution de la requête
7. Supprimer les interventions du premier trimestre 2008 dans la table ARCHIVE08
Objectifs :
• Réaliser des formulaires simples permettant la mise à jour de bases de données
• Réaliser des formulaires avec sous-formulaires
En utilisant la base de données AFFAIRE
1. Créer un formulaire qui permette la saisie de nouveaux matériels
2. Reprendre le formulaire précédent ; faire en sorte qu’il affiche une donnée calculée pour le prix de vente avec une remise de 10 %
3. Reprendre le formulaire précédent ; faire en sorte qu’il comporte en plus un titre et la date du jour
4. Créer un formulaire qui permette la saisie des clients avec les affaires réalisées
5. Créer un formulaire qui permette de visualiser les ventes réalisées par chaque client. Utiliser la requête Analyse Croisée précédente.
6. Créer un état permettant d’afficher les clients regroupés par ville.
7. A partir d'une requête à créer, réaliser l'état suivant :
En utilisant la BASE RAPIDO
1) Créer un formulaire instantané à partir de la table Clients. Le formulaire sera nommé
SAISIE CLIENTS. Ce formulaire ne permet pas de consulter les autres clients
2) Avec l’assistant, créer un formulaire colonne qui sera nommé FICHIER AGENTS. Ajouter l’image dans l’entête. Ajouter les photos des agents manquantes.
3) Créer un formulaire tabulaire nommé LISTE INTERVENTIONS basé sur la table
Interventions en utilisant tous les champs. Ajouter un champ dans le pied de formulaire pour totaliser les montants.
4) Dans le formulaire FICHIER AGENTS, ajouter un bouton de commande pour ouvrir le formulaire LISTE INTERVENTIONS en listant uniquement les interventions de l’agent affiché à l’écran.
formulaire suivant basé sur une requête à créer .
7) Créer un état LISTE DES INTERVENTIONS PAR DOMAINE.
Cet état est basé sur une requête à faire qui listera tous les champs nécessaires à l’état comme dans le modèle ci-dessous.
Objectifs :
• Ecrire des requêtes avec le langage SQL
• Etablir le lien entre les opérateurs et le langage SQL
Soit la base de données EMPLOYES dont les tables sont les suivantes :
DEPARTEMENT (nodep,nomdep,ville)
EMPLOYE (noemp,nomemp,fonction,noresp,datemb,sala,comm,nodep)
GRADE (nograde,salmin,salmax)
HISTOFONCTION (noemp,date,nom,fonction)
La base EMPLOYES vous est fournie avec les tables suivantes :
Table DEPARTEMENT
nodep | nomdep | ville |
10 | Formation | Aix |
20 | Ingénierie | Paris |
30 | Industrie ![]() | Bordeaux |
40 | Direction générale | Paris |
Table EMPLOYE
noemp | nomemp | fonction | noresp | datemb | sala | comm | nodep |
1 | Costanza | psychologue | 8 | 19/10/1994 | 1 715,00 € | 200,00 € | 30 |
2 | Mioche | Directeur | 6 | 15/03/1990 | 2 200,00 € | 1 000,00 € | 20 |
3 | Durand | Responsable | 2 | 18/04/1996 | 3250,00 € | 0,00 € | 10 |
4 | Xiong | vendeur | 5 | 15/12/1994 | 1 150,00 € | 200,00 € | 30 |
5 | Manoukian | vendeur | 11 | 15/08/1993 | 2 530,00 € | 500,00 € | 30 |
6 | Bourdais | directeur | 15 | 12/07/2002 | 3 550,00 € | 850,00 € | 40 |
7 | Moreno | ouvrier | 3 | 05/05/1999 | 1 075,00 € | 50,00 € | 10 |
8 | Perou | directeur | 2 | 05/07/1995 | 2 450,00 € | 800,00 € | 10 |
9 | Bibaut | chef de service | 8 | 07/06/1993 | 2 200,00 € | 20 | |
10 | Manian | assistant | 9 | 18/10/1996 | 1 000,00 € | 250,00 € | 10 |
11 | Colin | analyste | 2 | 05/07/1992 | 2 702,50 € | 625,00 € | 30 |
12 | Coulon | ouvrier | 8 | 18/09/2002 | 858,00 € | 125,00 € | 20 |
13 | Roméo | assistant | 8 | 16/08/2001 | 1 025,00 € | 1 150,00 € | 10 |
14 | Solal | secrétaire | 3 | 15/02/1992 | 1 225,00 € | 20 | |
15 | Bailly | Président | 05/01/1985 | 4 275,00 € | 2 000,00 € | 40 | |
16 | Jazarin | Ouvrier | 2 | 05/07/2001 | 875,00 € | 10 | |
17 | Font | Ouvrier | 2 | 04/08/1990 | 1 200,00 € | 250,00 € | 10 |
18 | Servel | ouvrier | 3 | 02/12/1998 | 1 025,00 € | 55,00 € | 30 |
Table GRADE
nograde | salmin | salmax |
1 | 0,00 € | 1 000,00 € |
2 | 1 000,01 € | 2 000,00 € |
3 | 2 000,01 € | 3 000,00 € |
4 | 3 000,01 € | 4 000,00 € |
5 | 4 000,01 € | 5 000,00 € |
6 | 5 000,01 € | 6 000,00 € |
Table HISTOFONCTION
noemp | date_nom | Fonction |
1 | 19/10/1994 | vendeur |
1 | 18/12/1996 | psychologue |
2 | 15/03/1990 | responsable |
2 | 18/10/1994 | directeur |
3 | 18/04/1996 | vendeur |
3 | 18/06/1998 | responsable |
4 | 15/12/1994 | vendeur |
5 | 15/08/1993 | vendeur |
6 | 12/07/2002 | directeur |
7 | 05/05/1999 | ouvrier |
8 | 05/07/1995 | vendeur |
8 | 15/04/1997 | responsable |
8 | 18/10/1999 | directeur |
10 | 18/10/1996 | assistant |
11 | 05/07/1992 | vendeur |
11 | 15/07/1995 | responsable |
11 | 19/05/1999 | analyste |
12 | 18/09/2002 | ouvrier |
13 | 16/08/2001 | ouvrier |
13 | 17/07/2003 | assistant |
14 | 02/01/1992 | secrétaire |
15 | 05/01/1985 | directeur |
15 | 05/10/1995 | président |
16 | 05/07/2001 | ouvrier |
17 | 04/08/1990 | ouvrier |
18 | 02/12/1998 | ouvrier |
Écrire en SQL les requêtes suivantes :
Les requêtes seront sauvegardées et nommées de la manière suivante : A1-A7 puis B1-B16, ….
Requêtes simples
1. Afficher les noms de département
2. Afficher les numéros et noms de département
3. Afficher toutes les propriétés des employés
4. Afficher les fonctions des employés
5. Afficher les fonctions des employés sans double
6. Afficher les noms des employés avec leur date d'embauche, ainsi que la date d'embauche augmentée d'une journée
7. Afficher les noms des employés suivis d'un espace, suivi de leur fonction
Requêtes avec clause “where”
1. Donner la liste des numéros et noms des employés du département 30
2. Donner la liste des numéros et noms des ouvriers ainsi que leur numéro de département
3. Donner les noms et numéros des départements dont le numéro est supérieur ou égal à 30
4. Donner les noms, salaires et commissions des employés dont la commission excède le salaire
5. Donner les noms et salaires des vendeurs du département 30 dont le salaire est supérieur à 1500 €
6. Donner la liste des noms, fonctions et salaires des directeurs et des présidents
7. Donner la liste des noms, fonctions et salaires des directeurs et des employés qui ont un salaire > 2500 €
8. Donner la liste des noms, numéros de département des directeurs et des ouvriers du département 10
9. Donner la liste des noms, fonctions et numéros de département des employés du département 10 qui ne sont ni ouvrier ni directeur
10. Donner la liste des noms, fonctions et numéros de département des directeurs qui ne sont pas directeur dans le département 30
11. Donner la liste des noms, fonctions et salaires des employés qui gagnent entre 1200 € et 1300 €
12. Donner la liste des noms, numéros de département et fonctions des employés
« ouvrier », « analyste » ou « vendeur »
13. Donner les employés qui ne sont pas "vendeur"
14. Donner la liste des employés dont la première lettre du nom est un "C"
15. Donner la liste des employés qui n'ont pas de commission
16. Donner la liste des employés qui ont une commission et qui sont dans le département 30 ou 20
Requêtes avec clause « order by »
1. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre croissant des salaires
2. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre décroissant des salaires
3. Donner la liste des employés triée selon l'ordre croissant des fonctions et l'ordre décroissant des salaires
4. Donner la liste des commissions, salaires et noms triée selon l'ordre croissant des commissions
5. Donner la liste des commissions, salaires et noms triée selon l'ordre décroissant des commissions
Requêtes multi-tables
1. Donner la ville dans laquelle travaille Costanza
2. Donner les noms, fonctions, et noms des départements des employés des départements 30 et 40
3. Donner le grade, la fonction, le nom et le salaire de chaque employé
4. Donner la liste des noms et salaires des employés qui gagnent plus que leur responsable 5. Donner la liste des noms, salaires, fonctions des employés qui gagnent plus que Perou
Requêtes avec fonctions et expressions numériques
1. Donner les noms, salaires, commissions et revenus des vendeurs
2. Donner les noms, salaires et les commissions des employés dont la commission est supérieure à 25% de leur salaire
3. Donner la liste des vendeurs dans l'ordre décroissant de leur commission divisée par leur salaire
4. Donner le revenu annuel de chaque vendeur
5. Donner le salaire quotidien des vendeurs
6. Donner la moyenne des salaires des ouvriers
7. Donner le total des salaires et des commissions des vendeurs
8. Donner le revenu annuel moyen de tous les vendeurs
9. Donner le plus haut salaire, le plus bas et l'écart entre les deux
10. Donner le nombre d'employés du département 30
Requêtes avec clause « group by »
1. Donner la moyenne des salaires pour chaque département
2. Donner pour chaque département, le salaire annuel moyen des employés qui ne sont ni directeur ni président
3. Donner pour chaque fonction de chaque département le nombre d'employés et le salaire annuel moyen
4. Donner la liste des salaires annuels moyens pour les fonctions comportant plus de deux employés
5. Donner la liste des départements avec au moins deux ouvriers
6. Donner les salaires moyens des présidents, directeurs et responsables
Requêtes imbriquées
1. Donner les noms et fonctions des employés qui gagnent plus que "Bibaut";
2. Donner les fonctions dont la moyenne des salaires est supérieure à la moyenne des "vendeurs";
3. Donner les noms des départements des employés qui gagnent plus de 2 700 € ;
4. Déterminer le salarié le plus ancien
5. Déterminer le dernier salarié embauché
6. Afficher la liste des employés responsables d'autres employés.
7. Donner les employés qui ont occupé les fonctions de vendeur et de directeur
8. Donner les noms des employés (avec leur numéro de département et leur salaire) qui gagnent plus que la moyenne des employés de leur département
Requêtes avec Union, Intersection et Différence
1. Donner les employés qui sont vendeur ou qui sont affectés au département 10
2. A l'aide de l'environnement graphique (RAD) d'Access créer la table ANCIENEMPLOYE suivante :
noemp | nomemp | fonction | noresp | datemb | sala | Comm | nodep |
101 | Jalabert | Responsable | 6 | 19/10/1990 | 2100,00€ | 100,00€ | 30 |
102 | Chateaux | Assistante | 2 | 15/03/1994 | 1100,00€ | 75,00€ | 20 |
Créer une requête permettant d'afficher la liste des noms et des fonctions des employés et des anciens employés
3. Créer une requête permettant de lister les employés appartenant ou ayant appartenus aux départements 10 ou 30.
4. Lister les employés communs aux tables EMPLOYE et HISTOFONCTION
5. Retrouver les absents de la table HISTOFONCTION
On considère la base de données d’une compagnie aérienne devant renseigner sur les aspects suivants :
- Les avions possédés par la compagnie et leurs révisions successives,
- Les employés de la compagnie,
- Les vols proposés par la compagnie sur son catalogue. Les vols sont internationaux et possèdent des escales,
- Les vol réels (effectivement réalisés).
La base de données est définie par la structure relationnelle suivante :
AVION (numav, typav, datms, nbtotvol)
REVISION (numav, datrev, nbrev, rapport)
TYPEAVION (typav, nb1, nb2)
AEROPORT (codeaero, villeaero, paysaero)
EMPLOYE (numemp, nom, prenom, tel, adresse, salaire, fonction, numcom, nbthv, nbmv, datemb)
VOL (numvol, codeaerodep, codeaeroarr, hdep, harr, jvol, duree)
ESCALE (numvol, codeaero, harre, hdepe)
VOL-REEL (numvol, datvol, hdepr, harrr, numav)
Attribut | Définition |
numav | Numéro d’avion |
typav | Type d’avion |
datms | Date de mise en service |
nbtotvol | Nombre d’heures de vol depuis la mise en service |
datrev | Date de révision |
nbrev | Nombre d’heures de vol au moment de la révision |
rapport | Rapport de révision |
nb1 | Nombre de sièges en première classe |
nb2 | Nombre de sièges en seconde classe |
codeaero | Code de l’aéroport (numéro international) |
villeaero | Ville de l’aéroport |
Paysaero | Pays de l’aéroport |
Numemp, nom,… | Numéro de l’employé, nom de l’employé,….. |
Fonction | Fonction principale de l’employé |
numcom | Numéro du commandant responsable de l’employé, c’est un employé lui-même |
nbthv | Nombre total d’heures de vol |
nbmv | Nombre d’heures de vol du mois |
datemb | Date d’embauche |
numvol | Numéro de vol |
codeaerodep, codeaeroarr | Code aéroport de départ et d’arrivée |
hdep, harr | Heure de départ et d’arrivée |
jvol | Jour du vol |
durée | Durée du vol |
harre, hdepe | Heure arrivée et heure de départ de l’escale |
datvol | Date du vol |
hdepr, harrr | Heure de départ réelle et d’arrivée réelle du vol |
Questions
1) Construire sous forme graphique la structure de la base de données ACCESS 2) En utilisant l’annexe 1, écrire les requêtes suivantes :
i) Donner pour chaque vol, sa ville de départ et sa ville d’arrivée ii) Donner les numéros d’avion, leur type et leur nombre de places iii) Donner les avions qui ont été révisés plus de 5 fois
iv) Donner les vols réels (numéros et dates) qui sont partis avec du retard v) Donner les vols (numéros) qui partent de la ville de Marseille vi) Donner par vol le nombre d’escales vii) Donner par vol réel le nombre d’escales avec un départ retardé 3) Ecrire les requêtes ci-dessus en langage SQL
Annexe 1 : Modèle graphique pour écrire les requêtes. Chaque requête doit être écrite avec un modèle différent.
Champ | |||||
Table | |||||
Opération | |||||
Tri | |||||
Afficher | | | | | |
Critères | |||||
ou |
On rappelle que « la ligne » opérations contient les commandes suivantes :
Regroupement, compte, où, dernier, Ecart type, max, min, moyenne, somme et var