0% ont trouvé ce document utile (0 vote)
152 vues4 pages

Exercices de Bases de Données L2

Transféré par

naamane.rahil
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
152 vues4 pages

Exercices de Bases de Données L2

Transféré par

naamane.rahil
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE ABOU BEKR BELKAID - FACULTE DES SCIENCES - DEPARTEMENT D’INFORMATIQUE

L2 Bases de Données Date : 21/05/2018

Exercice 1 (16 Pts)


Soit le schéma relationnel suivant :
Employe (Matricule, Nom, Prénom, Poste, Salaire, Chef#)
Projet (CodeP, DesignationP, Ville)
Affecter (Matricule#, CodeP#, Jours)

Partie 1 (4 Pts)
Exprimez les requêtes suivantes en algèbre relationnelle
1. Nom et salaire des employés affectés plus de 15 jours à un projet à « Tlemcen ». (1 Pt)

π Nom, Salaire ((Employe ⋈ (σ Jours > 15 Affecter)) ⋈ (σ Ville = "Tlemcen" Projet))

2. Désignation des projets pour lesquels on a affecté « Slimani Yasser » et « Saidani Asma ». (1.5 Pt)

π DesignationP ( Projet ⋈ Affecter ⋈ σ (Nom="Slimani" ∧ Prénom="Yasser") ∨ (Nom="Saidani" ∧ Prénom="Asma") Employe )


Ou
π DesignationP (Projet ⋈Affecter ⋈ σ [Nom="Slimani" ∧ Prénom="Yasser"] Employe )
U
π DesignationP (Projet ⋈Affecter ⋈ σ [Nom="Saidani" ∧ Prénom="Asma"] Employe )
3. Matricule des employés qui participent à tous les projets. (1.5 Pt)

πMatricule, CodeP Affecter / πcodeP Projet

Partie 2 (12 Pts)


Exprimez les requêtes suivantes en SQL
1. Désignation des projets affectés par ordre alphabétique inverse dont la ville possède la chaine « le ». (1.5 Pt)
Select DesignationP
From Projet, Affecter
Where [Link]=[Link] and
Ville Like " %le% "
Order by Designation Desc
2. Désignation des projets pour lesquels on a affecté à la fois « Slimani Yasser » et « Saidani Asma ». (1.5 Pt)
Select DesignationP
From Projet, Affecter, Employe
Where [Link]=[Link] And [Link]=[Link] And
Nom="Slimani" And Prenom="Yasser"
INTERSECT
Select DesignationP
From Projet, Affecter, Employe
Where [Link]=[Link] And [Link]=[Link] And
Nom="Saidani" And Prenom="Asma"
Ou
Select DesignationP
From Projet, Affecter, Employe
Where [Link]=[Link] And [Link]=[Link] And
Nom="Slimani" And Prenom="Yasser"
And DesignationP IN
(Select DesignationP
From Projet, Affecter, Employe
Where [Link]=[Link] And [Link]=[Link] And
Nom="Saidani" And Prenom="Asma")
3. Nom et prénoms des employés qui ne sont pas affectés à un projet à « Tlemcen ». (1.5 Pt)
Select Nom, Prenom
From Employe
Minus Ou Except
Select Nom,Prenom
From Projet, Affecter, Employe
Where [Link]=[Link] And
[Link]=[Link] And Ville="Tlemcen"
Ou
Select Nom, Prenom
From Employe
Where Nom, Prenom
NOT IN
(Select Nom,Prenom
From Projet, Affecter, Employe
Where [Link]=[Link] And
[Link]=[Link] And Ville="Tlemcen")
4. Matricule des employés qui participent à tous les projets. (2 Pts)
Select Matricule
From Affecter A1
Where Not Exists (Select * From Projet
Where Not Exists (Select * From Affecter A2
Where [Link]=[Link] And
[Link]=[Link] ))
Ou
Select Matricule
From Affecter
Group By Matricule
Having Count(Distinct (CodeP)) = (Select Count(*) From Projet)
5. Nom et prénom des employés dont le supérieur est « Belhadj ». (2 Pts)
Select Nom, Prenom
From Employe
Where Chef = (Select Matricule
From Employer
Where Nom ="Belhadj")
6. Nombre des employés qui sont affectés à chaque projet. (1.5 Pts)
Select Count (Matricule) "Nombre d’employés"
From Affecter
Group By CodeP
Ou
Select CodeP, Count (*) "Nombre d’employés"
From Affecter
Group By CodeP
7. Nom des employés dont le salaire est le plus élevé. (2 Pt)
Select Nom
From Employe
Where Salaire = (Select Max(Salaire)
From Employe)
Ou
Select Nom
From Employe
Where Salaire >=ALL (Select Salaire
From Employe)

Exercice 2 (4 pts)
Soit une relation « Utilisateur » dont le schéma est le suivant :
Utilisateur (ID_Utilisateur, Nom, Prénom, Adresse_Mail, Serveur_Mail, Login, Passwd).
1. En utilisant les dépendances fonctionnelles, exprimez les contraintes suivantes (1.5 Pt) :
– Le nom et le prénom d'un utilisateur peuvent être déduits à partir de son identifiant.
ID_Utilisateur → Nom et ID_Utilisateur → Prénom
Ou
ID_Utilisateur →Nom, Prénom
– Un utilisateur, identifié par son identifiant, possède un seul login et un seul password par serveur mail.
ID_Utilisateur, Serveur_Mail → Login et ID_Utilisateur, Serveur_Mail → Passwd
Ou
ID_Utilisateur, Serveur_Mail, → Login, Passwd
– Une adresse email est associée à un et un seul identifiant utilisateur
(Remarque : un utilisateur peut avoir plusieurs adresses emails)
Adresse_Mail → ID_Utilisateur
– Une adresse email est associée à un et un seul serveur mail.
Adresse_Mail → Serveur_Mail
2. Indiquez, à partir de la famille de dépendances fonctionnelles, issue de la question 1, quelle est la clé de la
relation « Utilisateur ». (0,5 Pt)
La clé primaire est : Adresse_Mail
3. Justifiez, à partir de la famille de dépendances fonctionnelles, issue de la question 1, en quelle forme
normale est la relation « Utilisateur ». (2 Pt)
La relation « Utilisateur » est en 3 FN :
▪ La relation est en 1ére FN car tous les attributs sont monovalués.
▪ Elle est en 2éme car elle est en 1FN et la clé n'est pas composée.
▪ Elle est en 3 FN car elle est en 2FN et il n'existe pas d'attribut non clé qui dépend d'un
autre attribut non clé.

Vous aimerez peut-être aussi