Vous êtes sur la page 1sur 4

Correction Rattrapage BDD (2017/2018)

Questions de cours :

1. Dans le contexte des bases de données, expliquer chacune des expressions suivantes :

• Redondance des données : Toute donnée du système d'informations qui se répète.


• Jointure entre deux tables : Etablir une liaison entre deux tables en se basant sur l’égalité
des valeurs entre l’une des colonnes de chaque table.
• Alias : Un nom attribué à une colonne ou à une table et qui est différent du nom d’origine.
• Projection : L’opération d’extraction d’un sous-ensemble des colonnes d’une table.
• Sélection : L’opération d’extraction d’un sous-ensemble des lignes d’une seule table.

4. Répondez par VRAI ou FAUX aux affirmations suivantes :

Une clé primaire dans une table peut être une clé primaire dans une autre table. V
Le langage de Définition des Données permet de modifier les données d’une BDD. F
En langage SQL, la clause ORDER BY est utilisée pour : ordonner des colonnes sélectionnées F
d’une table
Une colonne clé étrangère peut contenir des doublons. V
Correction Examen Final de Base Des Données
Exercice 1 : Modèle Entité-Association (1.5 pts)

Les contraintes d'intégrité : la date_save de la classe doit être supérieur à la date-création de la


base de donnée (0.5 pts)

Le Modèle Relationnel (2 pts)

Base de données (Nom_BD, propriétaire, date-création)


Classe (Nom_classe, nom_BD)
nom_BD reference Base de données.nom_BD
Page (Num_page, espace_libre, Id_segment)
Id_segment reference Segment. Id_segment
Segment (Id_segment, Num_disque, Num_cylindre)

Objet (Id_objet, taille, Nom_classe)


Nom_classe reference Classe. Nom_classe

Hérite (Nom_classe_mère, Nom_classe_fille)


Nom_classe_mère reference Classe. Nom_classe
Nom_classe_fille reference Classe. Nom_classe

Stocker (Nom_classe, Num_page, date_save)


Nom_classe reference Classe. Nom_classe
Num_page reference Page. Num_page
Correction Examen Final de Base Des Données
Exercice 2 : Algèbre Relationnelle

Req1 :

R1= π (NUM-AV, NOM-AV) ( σ VILLE-ATTACHE


( = ‘oran ‘) AVION).

R2 = π (NUM-AV, NOM-AV) ( σ CAPACITE


( <350) AVION). (1 pts)

R3= R1 U R2

Req2 :

R1= π (NUM-PIL) (PILOTE) // les numéros de tous les pilotes

R2= π (NUM-PIL) (VOL) // les numéros des pilotes qui sont affectés à des vols (1 pts)
R3 = R1 - R2

Req3 :

R1= σ ADR-PIL ‘Alger ‘ (PILOTE).


( = )

R2= σ VILLE-départ ‘Oran ‘ (VOL).


( = ) (1 pts)

R3= σ NOM-AV ‘airbus ‘ (AVION).


( = )

R4= π (NOM-PIL) (R1 (R1.NUM-PIL = R2.NUM-PIL) R2 (R2.NUM-AV = R2.NUM-AV) R3

Req4:

R1= σ ADR-PIL
( = ‘Alger ‘) (PILOTE).

R 2 = R1 (R1.NUM-PIL = VOL.NUM-PIL) (VOL) (1 pts)

R3 = π (NUM-PIL,NUM-AV) (R2) ÷π (NUM-AV) (AVION)

Exercice 3 Langage SQL (6 pts)

1. CREATE DATABASE cinématographie ; (0.5 pts )

2. CREATE TABLE FILM ( idFilm Integer NOT NULL, Titre VARCHAR (30) NOT NULL,
realisateur VARCHAR (30) NOT NULL, Annee INTEGER CHECK (annee BETWEEN
2000 AND 2014) NOT NULL, PRIMARY KEY (idFilm) ); (1 pts)

3. alter table acteur add prénom varchar (30) NOT NULL , dateNaiss date NOT
NULL (1 pts)
Correction Examen Final de Base Des Données

4. SELECT titre
FROM FILM, FILMOGRAPHIE
WHERE FILM.idFilm = FILMOGRAPHIE.idFilm
AND idActeur in (SELECT idActeur (1 pts)
FROM ACTEUR
WHERE nom = 'Deep' and prénom = ‘Johnny’);

5. SELECT count(idActeur)
FROM FILMOGRAPHIE
WHERE idFilm = (SELECT idFilm (1 pts)
FROM FILM
Where titre = 'twilight 2');

6. SELECT nom
FROM ACTEUR
WHERE idActeur NOT IN (SELECT idActeur
FROM FILMOGRAPHIE); (1 pts)

7. SELECT nom, AVG(salaire)as 'Salaire Moyen'


FROM ACTEUR, FILMOGRAPHIE
WHERE ACTEUR.idActeur = FILMOGRAPHIE.idActeur
GROUP BY nom ; (1 pts)

Vous aimerez peut-être aussi