Vous êtes sur la page 1sur 5

EXAMEN BD – Access

Lundi 16 Mai 2011 (8h-9h30)

L’examen a une durée de 1h30.


Aucun document (quel qu’il soit) n’est autorisé durant l’épreuve.
Le soin apporté à la rédaction (écriture, schémas, etc.) sera pris en compte.

EXERCICE 1(4,5 pts)


Répondez au Questionnaire à Choix Multiples (QCM) suivant. Attention, chaque question peut com-
porter plusieurs réponses correctes. Les points seront obtenus pour une question si toutes les bonnes
réponses sont données. Les deux dernières questions demandent un classement : vous numéroterez donc
les choix suivant l’ordre que vous jugerez correct.
1. Qu’est-ce qu’un S.G.B.D ?
 un ensemble de programmes qui permet la gestion et l’accès à une base de données
 un ensemble structuré et organisé permettant le stockage de grandes quantités d’informations
 le nom d’un logiciel
2. Quels sont les niveaux de la méthode MERISE ?
 niveau conceptuel
 niveau organisationnel (logique)
 niveau physique
3. De quel(s) élément(s) est composée une table dans un MCD ?
 association(s)
 attribut(s)
 cardinalité(s)
 identifiant(s)
4. Quelle association se transforme en une table lorsque l’on passe du MCD au MLD ?
 1 :1
 1 :n
 n :m
5. Quelle peut être est la cardinalité maximale associée à une combinaison donnée d’entités ?
 1 ou n
 0 ou 1
1
n
6. Dans quel ordre doit-on généralement réaliser ces différents modèles ?
 MLD
 MCD
 MPD
7. Classez ces notions de la plus fine à la plus importante (en terme de volume d’information) :
 une entité
 une base de données
 une table

EXERCICE 2 (3,5 pts)


Répondez au Questionnaire à Choix Multiples (QCM) suivant. Attention, certaines questions corres-
pondent à plusieurs réponses et une seule réponse erronée annule les réponses justes lorsqu’il s’agit de la
même question.
1. Quelles sont les utilisations des états ?
 Afficher / éditer la structure de la base de données et modifier les relations entre les tables.
 Mettre en forme le contenu d’une base de données pour des fins d’impression.
 Afficher les données à l’écran, naviguer dans une base de données et modifier ou ajouter des
données dans des tables.
 Créer d’une façon dynamique des requêtes au moment de l’exécution.
2. On a une base avec les vols effectuées par des pilotes. Chaque pilote est identifié par un numéro
de pilote et chaque vol par un numéro de vol. Pour obtenir le nombre total de vols effectuées pour
chaque pilote, on doit :
 D’abord appliquer “regrouper” par le numéro de pilote et, ensuite, appliquer “compter” pour
les numéros de vol.
 D’abord appliquer “compter” les numéros de vol et, ensuite, appliquer “regrouper” pour le
numéro de pilote.
 D’abord appliquer “regrouper” par le numéro de pilote et, ensuite, appliquer “somme” pour
les numéros de vol.
 D’abord appliquer “somme” pour les numéros de vol et, ensuite, appliquer “regrouper” par le
numéro de pilote.
3. Dans la création de requêtes, le symbole * permet :
 de sélectionner tous les champs de toutes les tables sur lesquelles la requête se base.
 de sélectionner tous les champs de toutes les tables ET les requêtes sur lesquelles la requête
se base.
 de sélectionner tous les champs d’une tables OU d’une requête sur laquelle la requête se base.
 de sélectionner à l’exécution un champs qu’on souhaite afficher.
4. On veut créer une requête pour afficher seulement les enregistrement qui, pour un champ donné A,
contient, d’un côté, “a” et “c” sur la deuxième et quatrième position (exemple “1a2c456”) et, d’un
autre côté, qui contient “b” et “d” sur les deux dernières position (exemple “1234bd”). Cela est-il
possible ? Comment ?
 Oui. Dans le mode création, à l’intersection de la ligne “Critère” et de la colonne “A” on
met la formule “Comme “ ?a ?c*” Et Comme “*bd””.
 Non. Il faut d’abord créer une requête intermédiaire pour appliquer la première condition et,
en suite, créer la deuxième requête pour la deuxième condition.
 Oui. Dans le mode création, à l’intersection de la ligne “Opération” et de la colonne “A” on
met la formule “Comme “ ?a ?c*” Et Comme “*bd”.
 Oui. On ajoute 2 fois la colonne “A”. A l’intersection de la ligne “Critère” et de la première
colonne “A”, on met la formule “Comme “ ?a ?c*””. A l’intersection de la ligne “Critère” et de la
deuxième colonne “A”, on met la formule “Comme “*bd””.
5. On a une base de données qui contient deux tables déjà remplies avec des données. On essaie
d’ajouter une relation entre le champ A de la première table (clef primaire de cette table) et le
champ B de la deuxième table. Lorsqu’on coche “Appliquer l’intégrité référentielle” on obtient une
erreur. Quelle est la cause de cette erreur ? Est-ce qu’il est possible de créer la relation ? Comment ?
 Les deux champs A et B ne sont pas de même type. Non, on ne peut pas créer la relation.
 Access ne permet pas de créer des relations entre des tables déjà remplies. Oui, on peut créer
la relation mais uniquement après avoir vidé les deux tables.
 Dans le champ B de la deuxième table existent des valeurs qui ne se trouvent pas dans le
champ A de la première table. Oui, on doit enlever l’option concernant la violation de l’intégrité.
De manière alternative, on peut soit ajouter les valeurs manquantes dans la première table, soit les
enlever de la deuxième table.
 La relation est de type “n : m”, ce qui ne peut être géré par Access. Il faut recréer la structure
de la base de données pour éliminer toutes les relations de type “n : m”.
6. Une relation entre deux tables se concrétise sous Access en reliant une clef primaire à une clef
étrangère. Faut-il indiquer la clef étrangère avant la création de la relation ? Si oui, comment ?

2
 Oui. Basculer en mode affichage en utilisant le menu Affichage/Création, cliquer droit sur le
champ et sélectionner l’option “Clef étrangère”.
 Non. Au moment de la création de la relation, Access propose un menu pour choisir directement
la clef étrangère.
 Non. Access n’utilise pas directement les clefs étrangères ; elles sont uniquement des concepts
théoriques.
 Oui. Basculer en mode création en utilisant le menu Affichage/Création, sélectionner le champ
et donner à la propriété “Indexé” la valeur “Oui Avec doublons”.

EXERCICE 3 (12 pts)


On souhaite implanter sous Access une Base de Données afin de gérer un petit restaurant. Cette
BD comportera des informations sur les différents plats proposés à la carte, les menus disponibles, mais
également les repas qui sont effectivement servis à la clientèle.
1. Pour cela, on vous demande de construire un MCD qui réponde aux contraintes suivantes :
(a) Vous devez utilisez le modèle E/R vu en cours.
(b) Le modèle comporte les entités suivantes, associées à un certain nombre d’attributs précisés
entre parenthèses : les ingrédients (nom, quantité disponible, date d’achat et date de péremption),
les plats (nom, prix, référence de la recette), les menus (nom, prix, durée de préparation, uni-
quement le midi, uniquement la semaine sauf le week-end), le type de plat (nom du type), les
repas (nombre de clients, jour et heure de réservation).
(c) Le modèle comporte plusieurs associations basées sur les assertions suivantes :
– Un ingrédient entre dans la composition de plusieurs plats. Et, bien sûr, un plat est composé
la plupart du temps de plusieurs ingrédients. Il ne faut pas oublier de préciser la quantité
d’ingrédient nécessaire précisée dans la recette.
– Les menus sont composés de plusieurs plats, tandis qu’un plat peut faire partie d’un ou de
plusieurs menus.
– Un plat est associé à un unique type de plat, à savoir : apéritif, entrée, plat de résistance,
etc..
– Un repas est composé de plats et de menus.
Un conseil : n’oubliez pas les cardinalités et précisez (voire ajoutez si nécessaire) un identifiant pour
chaque entité.

3
Dessinez ici votre MCD :
t

2. Donnez ci-dessous le MLD correspondant au MCD que vous avez construit précédemment :
t

3. Donnez ci-dessous la requête (au format Access) permettant d’afficher la liste des ingrédients périmés
encore présents dans les stocks du restaurant :
Champ
Table
Opération
Tri
Afficher
Critères
Où
4. Donnez ci-dessous la requête (au format Access) permettant d’afficher le prix moyen dépensé pour
tous les repas commandés dans le restaurant après le 1er mai 2011 :

4
Champ
Table
Opération
Tri
Afficher
Critères
Où
5. Donnez la requête de calcul (au format Access) permettant de calculer le prix total correspondant
uniquement aux plats à la carte commandés pour un repas (pour rappel, un repas correspondant
à une table, c’est-à-dire à un ensemble de clients) dont le numéro est demandé à l’utilisateur avec
une boı̂te de dialogue :
Champ
Table
Opération
Tri
Afficher
Critères
Où
Ecrivez ci-dessous en quelques phrases pourquoi vous ne pouvez pas ajouter un champs “prix total”
à la table des repas.
t

6. Donnez ci-dessous la requête (au format Access) permettant de calculer le prix total à la fois des
plats et des menus commandés pour un repas donné (i.e., on précise l’identifiant du repas dans la
requête). Attention, vous aurez certainement à recourir à plusieurs requêtes afin de résoudre cette
question.
Champ
Table
Opération
Tri
Afficher
Critères
Où
Champ
Table
Opération
Tri
Afficher
Critères
Où
Champ
Table
Opération
Tri
Afficher
Critères
Où

Vous aimerez peut-être aussi