Vous êtes sur la page 1sur 6

Licence Mathématiques Informatique – L2

BD – Bases de données

BD : Examen de Session 1
Durée 2h

Aucun document autorisé. Les exercices sont indépendants et vous pouvez les traiter dans
l’ordre qui vous convient.

Exercice 1: Modélisation EA – Relationnel (6 pts)


Soit le système d'information simplifié de la gestion de stages dans une structure
universitaire. Cette dernière organise et gère les stages en entreprise de ses étudiants. Pour
ce faire, elle dispose d’une liste d’entreprises ayant déjà proposé des stages ou susceptibles
d’en proposer. Les entreprises contactées peuvent proposer des stages. Cette liste de
stages est alors communiquée aux étudiants qui envoient leurs candidatures aux entreprises
concernées. Quand les conventions de stage sont signées, chaque stagiaire se voit désigner
un enseignant pour l’encadrer. Ce dernier doit veiller au bon déroulement du stage et aller
rendre visite à l’étudiant dans son entreprise d’accueil. Voici en plus quelques détails
concernant la gestion de ces stages :
• Une entreprise peut proposer plusieurs stages. Un stage a un numéro unique, un
intitulé, une date de début et une durée (nombre de semaines).
• Une entreprise a un numéro unique appelé SIREN, un nom, une adresse et un
numéro de téléphone.
• Un enseignant peut encadrer plusieurs stages. Chaque enseignant est identifié par un
numéro unique, il a un nom, un prénom et un grade.
• Chaque étudiant est identifié par un numéro unique d'étudiant, il a un nom, un
prénom, une date de naissance et une adresse. De plus, chaque étudiant suit une
seule formation.
• Chaque formation est identifiée par un code unique, a un intitulé et une durée (nombre
de semestres). Pour chaque inscription d'un étudiant dans une formation, on conserve
la date d'inscription.
• Un stage est affecté à un étudiant en signant une convention de stage (numérotée et
datée). Une convention concerne un seul stage.
• Un stage est effectué par un seul étudiant, dans une seule entreprise et il est encadré
par un seul enseignant.
• Un étudiant peut candidater plusieurs fois pour le même stage mais à des dates
différentes.
• A la fin du stage, un étudiant obtient une note donnée par l'enseignant encadrant.

Questions
1. Proposer un modèle EA pour le système d’information décrit ci-dessus.
2. Proposer un schéma relationnel pour le modèle EA obtenu après la question 1.
3. En quelle forme normale est le schéma relationnel obtenu? Justifier.

L2 – BD
1/
L2 – BD
2/
Exercice 2: Algèbre et calcul relationnels (4 pts)
Soit le schéma relationnel suivant:

Artistes(Artiste_ID, NomA, PrénomA)


Participer(Artiste_ID, Concert_ID)
Concert(Concert_ID, Intitulé, Date, Heure, Salle_ID*)
Salle(Salle_ID, NomS, AdresseS, CodePostal, Capacité)

Ce schéma relationnel est relatif à la gestion d'un ensemble de


concerts de musique.

1. Exprimer en algèbre relationnelle les requêtes suivantes :


a) Les noms et prénoms des artistes qui ont participé à des
concerts ayant lieu après le 14/02/2020.

πNom,Prenom(Artiste ⋈ Participer ⋈ (σDate>14/12/2020 Concert))

b) Les noms et prénoms des artistes qui ont participé à tous les
concerts ayant lieux dans une salle où le code postal est
59000.

πNom,Prenom(Artiste ⋈ (Participer ÷ πConcer_ID(Concert ⋈


(σCodePostal=59000 Salle))

c) Les noms et prénoms des artistes qui ont participé à des


concerts ayant lieux dans une salle où le code postal est
59000 mais n'ayant jamais participé à un concert ayant lieu
dans une salle avec le code postal 62000.

πNom,Prenom(Artiste ⋈ (πArtiste_Id(Artiste ⋈ Participer ⋈


(σCodePostal=59000 Salle)-πArtiste_Id(Artiste ⋈ Participer ⋈ (σCodePostal=56200
Salle))

d) Les noms et prénoms des artistes ayant participé à la fois à


un (ou des) concert(s) ayant lieu avant le 31/12/2000 et à un
(ou des) concert(s) ayant lieu après le 01/01/2022.

πNom,Prenom(Artiste ⋈ (πArtiste_Id(Artiste ⋈ Participer ⋈


(σDate<21/12/2000 Concert)∩πArtiste_Id(πArtiste_Id(Artiste ⋈ Participer ⋈
(σDate>01/01/2022 Concert))

L2 – BD
3/
Exercice 3 : Langage SQL (6 pts)
Soit le schéma relationnel de l'exercice 2. Exprimez en SQL les
requêtes suivantes :
1. Les noms des salles ayant abrité plus de 100 concerts.

SELECT NomS FROM SALLE, CONCERT


WHERE SALLE.Salle_ID= CONCERT.Salle_ID
GROUP BY SALLE.Salle_ID
HAVING COUNT(*)>100 ;

2. Les noms et prénoms des artistes qui n'ont participé à aucun


concert dans une salle ayant pour code postal 62300.

SELECT NomA, PrenomA FROM ARTISTE, PARTICIPER, SALLE,


CONCERT
WHERE ARTISTE.Artiste_ID=PARTICIPER.Artiste_ID AND
PARTICIPER.Concert_ID NOT IN (SELECT CONCERT.Concert_ID
FROM CONCERT, SALLE WHERE
SALLE.Salle_ID= CONCERT.Salle_ID AND
CodePostal =62300) ;

3. Le nom de la salle où est organisé le plus grand nombre de


concerts.

SELECT NomS FROM CONCERT , SALLE


WHERE SALLE.Salle_ID= CONCERT.Salle_ID
GROUP BY CONCERT.Salle_ID
HAVING COUNT(*)
>=ALL (SELECT COUNT(*) FROM CONCERT
GROUP BY CONCERT.Salle_ID) ;

4. Les noms des salles n'ayant jamais accueilli un concert.

SELECT NomS FROM SALLE


L2 – BD
4/
WHERE SALLE.Salle_ID NOT IN (SELECT Salle_ID FROM
CONCERT) ;

5. Créer une vue Concert62000 affichant les intitulés et les dates


des concerts ayant lieu dans une salle avec le code postal
62000.

CREATE VIEW Concert62300 AS SELECT Intitule, Date


FROM CONCERT, SALLE WHERE
SALLE.Salle_ID= CONCERT.Salle_ID AND
CodePostal =62300 ;
6. Créer la relation Salle (du schéma relationnel de l’exercice 2).

CREATE TABLE Salle (


Salle_ID SERIAL PRIMARY KEY,
NomS VARCHAR(100),
AdresseS VARCHAR(200),
CodePostal NUMERIC(5,0),
Capacité INTEGER) ;
Exercice 4 : Dépendances fonctionnelles (4 pts)
Soit R(A, B, C, D, E) une relation et F l’ensemble des dépendances
fonctionnelles suivantes :

F = {CE → BD, D → B, C → A }

1. Trouver toutes les clés primaires candidates pour la relation R.

CE et toutes les combinaisons contenant CE

2. En quelle forme normale est la relation R (avec l’une des clés


trouvées dans la question 1)? Justifier.

Avec la clé CE, A dépend d’une partie de la clé

3. Calculer la couverture minimale CM de F.

L2 – BD
5/
CM = {CE → D, D → B, C → A }

4. Représenter graphiquement la couverture minimale CM et


décomposer le graphe obtenu en un schéma relationnel en
troisième forme normale.

R1 (CE, D),
R2 (D,B),
R3(C , A)

L2 – BD
6/

Vous aimerez peut-être aussi