Académique Documents
Professionnel Documents
Culture Documents
Chap5 BD
Chap5 BD
Université de Sousse
Institut Supérieur de Gestion (ISG)
Séance de Cours
Chapitre5
L’algèbre relationnel
Cet opérateur ne porte que sur une relation. Il permet de ne retenir que certains attributs
spécifiés d'une relation
Cet opérateur porte sur une relation. Il permet de ne retenir que les n-uplets répondant à
Une condition exprimée à l'aide des opérateurs arithmétiques ( =, >, <, >=, <=, <>) ou
logiques de base (ET, OU, NON). Tous les attributs de la relation sont conservés.
Exemple: Donner les enseignants permanents dont le salaire est supérieur à 800
4
III. Opérateurs binaires travaillant sur des relations de même schéma
1) L’opérateur UNION
Porte sur deux relations qui doivent avoir le même nombre d'attributs définis dans le
même domaine (ensemble des valeurs permises pour un attribut). On parle de relations
ayant le même schéma.
La relation résultat possède les attributs des relations d'origine et les n-uplets de chacune,
avec élimination des doublons éventuels.
Formalisme : R ← UNION (R1, R2)
6
III. Opérateurs binaires travaillant sur des relations de même schéma
2) L’opérateur INTERSECTION
Porte sur deux relations de même schéma. La relation résultat possède les attributs des
relations d'origine et les n-uplets communs à chacune.
Formalisme : R ← INTERSECTION (R1, R2)
Exemple : soit les 3 relations suivantes :
7
III. Opérateurs binaires travaillant sur des relations de même schéma
3) L’opérateur DIFFERENCE
Porte sur deux relations de même schéma. La relation résultat possède les attributs des
relations d'origine et les n-uplets de la première relation qui n'appartiennent pas à la
deuxième.
Attention : la différence n’est pas commutative.
8
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.1 Opérateur PRODUIT CARTÉSIEN
Cet opérateur porte sur deux relations. La relation résultat possède les attributs de
chacune des relations d'origine et ses n-uplets sont formés par la concaténation de
chaque n-uplets de la première relation avec l'ensemble des n-uplets de la deuxième.
Formalisme : R ← PRODUIT (R1, R2)
Exemple : soit les relations suivantes
EMP(Matr, NomE, Poste, DatEmb, Sup, Salaire, #NumDept)
9
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.1 Opérateur PRODUIT CARTÉSIEN
DEPT(NumDept, NomDept, Lieu) PROJET(CodeP, NomP)
10
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.2 Opérateur JOINTURE
Cet opérateur porte sur 2 relations qui doivent avoir au moins un attribut défini dans
le même domaine. La condition de jointure peut porter sur l'égalité d'un ou de plusieurs
attributs définis dans le même domaine (mais n'ayant pas forcément le même nom). Les
n-uplets de la relation résultat sont formés par la concaténation des n-uplets des
relations d'origine qui vérifient la condition de jointure.
Formalisme :
R ← JOINTURE (R1, R2, condition d'égalité (inégalité) entre attributs)
11
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.2 Opérateur JOINTURE
Matr CodeP Fonction
500 20 Chef de projet
516 20 employé
500 21 Chef de projet
530 21 ingénieur
530 20 ingénieur
R ← JOINTURE (PARTICIPATION, EMP, PARTICIPATION.Matr = EMP.Matr)
Remarque:
Des jointures plus complexes que l'équijointure peuvent être réalisées en généralisant
l'usage de la condition de jointure à d'autres critères de comparaison que l'égalité
(<,>, <=,>=, <>). 12
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.3 Opérateur DIVISION
Cet opérateur porte sur 2 relations qui doivent avoir au moins un attribut défini dans le
même domaine.
Tous les attributs du diviseur (ici PROJET) doivent être des attributs du dividende (ici
PARTICIPATION).
La relation dividende doit avoir au moins une colonne de plus que la relation diviseur.
La relation résultat, le quotient, est formée de tous les n-uplets qui, concaténés à chacun
des n-uplets du diviseur (ici PROJET) donnent toujours un n-uplets du dividende (ici
PARTICIPER).
13
IV. Opérateurs binaires travaillant sur des relations de schéma différents
IV.3 Opérateur DIVISION
Exemple: donner les employés qui participent à tous les projets
Résultat : Matr
500
530
14
V. Opérations d'Agrégation
V.1 Opération CALCULER
Formalisme :
R= CALCULER (R0, fonction1, fonction2, ...) ou N←CALCULER (R0, fonction)
15
V. Opérations d'Agrégation
V.2 Opération REGROUPER_ET_CALCULER
Formalisme :
R←REGROUPER_ET_CALCULER (R0, att1, att2, ..., fonction1, fonction2, ...)
Exemple:
On désire obtenir la somme des salaires par département:
16
V. Opérations d'Agrégation
V.3 Les Fonctions d'agrégation
Formalisme :
R←REGROUPER_ET_CALCULER (R0, att1, att2, ..., fonction1, fonction2, ...)
Exemple:
On désire obtenir la somme des salaires par département:
R2←REGROUPER_ET_CALCULER(EMP, NumDept, Somme (Salaire))
17
V. Opérations d'Agrégation
V.3 Les Fonctions d'agrégation
Elles sont utilisées dans les opérateurs
CALCULER et REGROUPER_ET_CALCULER.
a. Les fonctions statistiques de base
Remarque :
les valeurs "non renseignées" de l'attribut sont ignorées.
18
V. Opérations d'Agrégation
V.3 Les Fonctions d'agrégation
Elles sont utilisées dans les opérateurs
CALCULER et REGROUPER_ET_CALCULER.
b. La fonction de comptage : Comptage ()
La fonction de comptage donne le nombre de n-uplets d'un ou de plusieurs groupes de
n uplets. Il n'est donc pas nécessaire de préciser un attribut.
19
Exercices d'application :
Exercice 1: Soit le schéma relationnel :
1. Matricules et noms des employés qui ont été embauchés avant le 1er janvier 1995.
2. Noms des employés qui ont le poste de secrétaire.
3. Noms des employés avec le nom du département où ils travaillent.
4. Noms des employés qui travaillent dans le département FINANCES.
5. Numéros de département qui ont des ingénieurs.
20
Exercices d'application :
Exercice2 Soit le modèle relationnel suivant relatif à la gestion des notes annuelles d'une
promotion d'étudiants :
ETUDIANT (N°Etudiant, Nom, Prénom)
MATIERE(CodeMat, LibelléMat, CoeffMat)
EVALUER(#N°Etudiant, #CodeMat, Date, Note)
Questions :
1. Quel est le nombre total d'étudiants ?
2. Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plus basse?
3. Quelles sont les moyennes de chaque étudiant dans chacune des matières ?
4. Quelles sont les moyennes par matière ?
5. Quelle est la moyenne générale de chaque étudiant ?
6. Quelle est la moyenne générale de la promotion ?
7. Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la
moyenne générale de la promotion ? 21
Merci pour votre
Attention