Vous êtes sur la page 1sur 2

Classes : II2

DATE : 05 Janvier 2023

Durée : 2 heures

Documents : non autorisés

Nb_page :2 pages

Examen Conception de Base de données

Exercice 1 : Normalisation, Modèle Relationnel, Modèle Entité/Association (6 points)

Pour gérer les tarifs des agences, la chaîne hôtelière pense à introduire les informations
suivantes dans sa base de données :

R (CodeAg, Saison,TypeCh, NomAg, AdrAg, PaysAg, IdResp, NomResp, Période, Tarif)

Sachant que :

● CodeAg, NomAg, AdrAg, PaysAg sont respectivement le code de l’agence, son nom,
l’adresse et le pays où elle se trouve.
● IdResp, NomResp représentent respectivement l’identité et le nom du responsable de
l’agence.
● TypeCh est le type de la chambre sur laquelle le tarif sera appliqué.

● Les saisons sont identiques pour toutes les agences.

● La période est définie par une date début et une date fin et dépend seulement de la
saison.
● Des tarifs sont déterminés par Agence pour chaque saison et chaque type de chambre.

1. En tenant compte de toutes les contraintes décrites ci-dessus, normaliser la relation R


jusqu’à la 3 forme normale. Expliquer toutes les étapes. (3 points)
ème

2. Donner le modèle relationnel final. (1 point)


3. Donner le modèle Entité/Association à partir duquel nous avons obtenu le modèle
relationnel final. ( 2 points)

Exercice 2 : SQL, Algèbre Relationnelle (14 points)

On considère la base de données suivante qui sauvegarde les données nécessaires pour la
gestion des épreuves en ligne pour un MOOC X :

1
 Candidats ( NumCandidat, nom, prenom, email)
 Groupes ( NumGroupe, nomgroupe, niveau, domaine)
 Epreuves ( NumEpreuve , cours, dateE, type, duree, #NumGroupe, montant)
 Evaluer ( #NumCandidat , # NumEpreuve , note )
 Participer ( # NumGroupe, # NumCandidat )

Les clés primaires sont soulignées et les clés étrangères sont précédées d’un astérisque (#).

1. Donner les commandes de création des tables Epreuves et Evaluer en supposant que
les autres tables ont été déjà créées. En assurant : (3 points)
a. La note de l’épreuve doit être entre 0 et 20.
b. Le montant à payer pour passer l’épreuve dépasse 30 dinars.
2. Répondre en SQL aux questions suivantes :

a. Les épreuves ainsi que tous les candidats qui ont une note < 8,
(Tableau résultat NumEpreuve, cours, NumCandidat,nom, prenom, note). (1.5
point)
b. Les candidats qui possèdent la meilleure note pour chaque épreuve passée.
(Tableau résultat NumEpreuve, domaine, NumCandidat, nom, prenom, note). ( 2
points)
c. Les Candidats qui ont obtenu une note supérieure à la moyenne dans chaque
épreuve. (Tableau résultat Nom,Prenom, NumEpreuve, note) (2 points)
d. Les Candidats qui ont participé à toutes les épreuves
(Tableau résultat Nom,Prenom) (1,5 point)

3. Ecrivez en algèbre relationnelle les requêtes correspondant aux questions suivantes :

a. Les candidats qui n’ont jamais participé aux épreuves de Type ‘X’
(Tableau résultat Nom,Prenom) (1,5 point)
b. Les candidats qui ont toujours obtenu une note > 15 dans les épreuves qu’ils ont
passé. (Tableau résultat Nom,Prenom) (1,5 point)
c. Les épreuves relatives à tous les groupes
(Tableau résultat NumEpreuve , cours, dateE) (1 point)

Vous aimerez peut-être aussi