0% ont trouvé ce document utile (0 vote)
121 vues2 pages

Requêtes SQL et algèbre relationnelle

Ce document présente un schéma relationnel avec plusieurs tables et contraintes d'intégrité référentielle. Il propose ensuite différentes requêtes à exprimer dans divers langages relationnels comme le SQL ou en algèbre et calcul des tuples.

Transféré par

Lynda MOKRANI
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)
121 vues2 pages

Requêtes SQL et algèbre relationnelle

Ce document présente un schéma relationnel avec plusieurs tables et contraintes d'intégrité référentielle. Il propose ensuite différentes requêtes à exprimer dans divers langages relationnels comme le SQL ou en algèbre et calcul des tuples.

Transféré par

Lynda MOKRANI
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

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
{ [Link], [Link]énom / ∃e2, ∃t1, ∃t2 ( [Link]= "Rochat"∧ [Link]é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
{ [Link], [Link]é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