Nothing Special   »   [go: up one dir, main page]

46 Exo2005

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Série 3 : Langages de manipulation de données relationnelles

Soit le schéma relationnel suivant:


Employé (Nom, Prénom, DateNaissance, Adresse, N°Avs, Salaire, N°Dep, Supérieur)
Supérieur REFERENCE Employé.N°Avs
N°Dep REFERENCE Département.N°Dep
Département (NomD, N°Dep, Directeur)
2 identifiants : (NomD) et (N°Dep)
Directeur REFERENCE Employé.N°Avs
Projet (NomP, N°Pro, Lieu, N°Dep)
2 identifiants : (NomP) et (N°Pro)
N°Dep REFERENCE Département.N°Dep
Travaille (N°Avs, N°Pro, Heures)
N°Pro REFERENCE Projet.N°Pro
N°Avs REFERENCE Employé.N°Avs
Précisions: L’attribut "Supérieur" dans la relation "Employé" contient le numéro AVS du supérieur
direct de l’employé. Chaque employé appartient à un département et travaille sur zéro, un ou plusieurs
projets. Chaque projet est rattaché à un département qui – attention – peut être différent de celui des
employés travaillant sur ce projet.

I Exprimer dans les différents langages relationnels les requêtes suivantes :


1. Date de naissance et adresse de Juliette Rochat.
2. Nom et adresse des employés qui travaillent au département de recherche.
3. Nom et prénom des employés dont le supérieur est Juliette Rochat.
4. Nom des employés qui travaillent plus de 10 heures sur un projet à Genève.
5. Nom des projets sur lesquels travaillent Jean Muller et Annie Grandjean
Attention le "et" du français signifie ici que l’un ou l’autre, ou les deux, doivent travailler au projet.
6. Nom des projets sur lesquels travaillent à la fois Jean Muller et Annie Grandjean.
7. Nom et prénom des employés qui ne travaillent sur aucun projet.
8. Numéro des projets qui ont au moins un participant de chaque département.
9. Nom des employés qui ne travaillent pas sur un projet à Genève.
10. Nom des employés qui ne travaillent que sur des projets à Genève.

II Traduire en français les requêtes suivantes qui sont en exprimées en algèbre relationnelle :
1. π [Nom, Prénom] ( Employé * [Supérieur=X ∧ Salaire>Y] ( α [N°Avs–>X, Salaire–>Y] π [N°Avs,
Salaire] Employé ) )
2. Projet - π [NomP, N°Pro, Lieu, N°Dep] ( Projet*Travaille*Employé )
III Traduire en français les requêtes suivantes qui sont en exprimées en calcul des tuples :
1. e1, e2 ∈ Employé t1, t2 ∈ Travaille
{ e1.Nom, e1.Prénom / ∃e2, ∃t1, ∃t2 ( e2.Nom= "Rochat"∧ e2.Prénom="Juliette"∧
e2.N°Avs=t2.N°Avs ∧ e1.N°Avs=t1.N°Avs ∧ t1.N°Pro=t2.N°Pro ) }
2. e ∈ Employé p ∈ Projet t ∈ Travaille
{ e.Nom, e.Prénom / ∀p (p.N°Dep≠e.N°Dep ∨ ∃t (t.N°Avs=e.N°Avs ∧ t.N°Pro=p.N°Pro )) }

IV Ecrire en SQL les requêtes suivantes :


1. Pour chaque département donner son nom et le nombre d'employés qui y travaillent.
2. Liste des numéros de départements qui ont moins de projets que la moyenne.

Vous aimerez peut-être aussi