0% ont trouvé ce document utile (0 vote)
33 vues29 pages

Chapitre I

Ce document présente un cours sur l'algèbre relationnelle pour la Licence 3 en ingénierie informatique. Il couvre diverses opérations telles que le complément, la différence, le produit cartésien, la division, ainsi que des jointures comme la semi-jointure et les jointures externes. Le cours inclut également des concepts d'éclatement horizontal et vertical des relations.

Transféré par

Dieynaba Sall
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues29 pages

Chapitre I

Ce document présente un cours sur l'algèbre relationnelle pour la Licence 3 en ingénierie informatique. Il couvre diverses opérations telles que le complément, la différence, le produit cartésien, la division, ainsi que des jointures comme la semi-jointure et les jointures externes. Le cours inclut également des concepts d'éclatement horizontal et vertical des relations.

Transféré par

Dieynaba Sall
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITÉ ASSANE SECK DE ZIGUINCHOR

UFR DES SCIENCES ET TECHNOLOGIES


DÉPARTEMENT D’INFORMATIQUE

CHAPITRE I
L’ ALGÈBRE RELATIONNELLE
LICENCE 3 INGÉNIERIE INFORMATIQUE
ANNÉE ACADÉMIQUE 2023 – 2024
SEMESTRE 5

DR SERIGNE DIAGNE
PLAN DU COURS
I. L’opération unaire simple : Le complément
II. Autres opérations binaires
1. La différence
2. Le produit cartésien
3. La division
III. Autres jointures
1. La semi jointure
2. Les jointures externes
IV. L’éclatement
1. Éclatement horizontal
2. Éclatement vertical 2
I. L’OPÉRATION UNAIRE SIMPLE : LE COMPLÉMENT

Le complément est une opération unaire qui permet d’avoir tous les
enregistrements possibles de la relation qui n'appartiennent pas à son
instance en ce moment précis ;
Le résultat obtenu est une nouvelle relation ayant le même schéma que la
relation de départ ;
Le complément d’une relation regroupe tous les enregistrements qui
n’appartiennent pas à son instance et dont toutes les valeurs sont déjà
prises par des enregistrements dans l’instance.

3
I. L’OPÉRATION UNAIRE SIMPLE : LE COMPLÉMENT

Syntaxe :
COMPLEMENT (Relation)
Représentation en algèbre relationnelle :
- Relation
Remarque :
- - Relation = Relation
Exemple :
Numero Age Sexe
1 18 Masculin
Donner le complément de la table ci-contre.
2 27 Féminin 4
II. D'AUTRES OPÉRATIONS BINAIRES
II.1. La différence de deux relations

La différence est une opération binaire non commutative ;


Elle porte sur deux relations de même schéma ;
Le résultat aura le même schéma que les relations opérandes ;
L’instance du résultat contient les enregistrements de la première relation
qui ne figurent pas dans la deuxième.

5
II. D'AUTRES OPÉRATIONS BINAIRES
II.1. La différence de deux relations
Syntaxe :
DIFFERENCE (Relation1, Relation2)
Représentation en algèbre relationnelle :
Relation1 – Relation2
Représentation graphique :
Résultat

Relation1 Relation2 6
II. D'AUTRES OPÉRATIONS BINAIRES
II.2. Le produit cartésien de deux relations

Le produit cartésien est une opération binaire commutative ;


Les deux relations ne doivent pas avoir le même schéma, en plus elles ne
doivent avoir aucun attribut en commun ;
Le résultat est une nouvelle relation ayant comme schéma la concaténation
des schémas des deux relations opérandes ;
L’instance du résultat contient des enregistrements obtenus en complétant
chaque enregistrement de la première relation par tous les enregistrements
de la deuxième.
7
II. D'AUTRES OPÉRATIONS BINAIRES
II.2. Le produit cartésien de deux relations

Remarque : Le nombre d’enregistrements du résultat est le produit des


nombres d’enregistrements des deux relations.
Syntaxe : PRODUIT (Relation1, Relation2)
Représentation en algèbre relationnelle :
Relation1 x Relation2
Représentation graphique :
Résultat

Relation1 Relation2 8
II. D'AUTRES OPÉRATIONS BINAIRES
II.3. La division de deux relations

La division est une opération binaire non commutative ;


Pour diviser une relation R1 par une relation R2, tous les attributs de R2
doivent aussi être des attributs de R1 ;
R1 doit avoir au moins un attribut de plus que R2 ;
L’instance de la relation R2 ne doit pas être vide ;
Le résultat est une nouvelle relation dons le schéma est composé de tous
les attributs de R1 qui ne sont pas des attributs de R2 ;
9
II. D'AUTRES OPÉRATIONS BINAIRES
II.3. La division de deux relations
L’instance du résultat contient les valeurs des attributs du résultat qui
sont composées avec toutes les valeurs existantes dans R 2.
Syntaxe : DIVISION (Relation1, Relation2)
Représentation en algèbre relationnelle :
Relation1 ÷ Relation2
Représentation graphique :
Résultat

÷
Relation1 Relation2 10
III. AUTRES JOINTURES
III. 1. La semi-jointure (Semi-Join)
Dans certains cas, lors de l’exécution d’une jointure, il n’est pas nécessaire
de conserver tous les attributs des deux relations en résultat ;
Seuls les attributs d’une des deux relations sont conservés ;
Une opération spécifique de semi-jointure, très utile permet de le faire ;
C’est une opération portant sur deux relations R1 et R2 donnant en résultat
les tuples de R1 qui participent à la jointure des deux relations ;
La semi-jointure de la relation R1 par relation R2 est notée :
R = SEMI-JOINTURE (Rl, R2, Condition) 11
III. AUTRES JOINTURES
III. 1. La semi-jointure (Semi-Join)

Elle est équivalente à la jointure des relations R1 et R2 suivie par une


projection du résultat sur les attributs de la relation R 1 ;
À noter que l’opération n’est pas commutative puisque seuls des tuples de
la première relation sont conservés ;
Elle peut être vue comme une restriction de la relation R1 par les valeurs
des attributs de jointure figurant dans la relation R 2.

12
III. AUTRES JOINTURES
III. 1. La semi-jointure (Semi-Join)
Personne
Numero Nom Prenom Age
1 Suzuki Yao 48
2 Ahmed Moustapha 62
3 Ford Jean Jacques 75

Voiture
Matricule Marque Annee
ZG 2154 A Ford 2016
ZG 1987 A Mercedes 2022
ZG 1452 A Suzuki 2020
13
III. AUTRES JOINTURES
III. 1. La semi-jointure (Semi-Join)
Exemple :
Semi-Join(Personne, Voiture, Nom = Marque)
Numero Nom Prenom Age
1 Suzuki Yao 48
3 Ford Jean Jacques 75

Semi-Join(Voiture, Personne, Nom = Marque)


Matricule Marque Annee
ZG 1452 A Suzuki 2020
ZG 2154 A Ford 2016

14
III. AUTRES JOINTURES
III. 1. La semi-jointure (Semi-Join)

Remarque :
Personne SJNom = Marque Voiture = ΠPersonne.* ​(Personne ΘNom = Marque Voiture)
Voiture SJNom = Marque Personne = ΠVoiture.* ​(Voiture ΘNom = Marque Personne)

15
III. AUTRES JOINTURES
III. 2. Les jointures externes
Une jointure perd des tuples d’au moins une relation quand les relations
jointes n’ont pas de projections identiques sur l’attribut de jointure ;

Pour préserver toutes les informations dans tous les cas, il est nécessaire de
définir des jointures qui conservent les tuples sans correspondant ;

Pour ces tuples, on associe la valeur Null à des attributs quand c’est
nécessaire ;

C’est dans ce but que les jointures externes sont introduites. 16


III. AUTRES JOINTURES
III. 2. Les jointures externes

C’est une opération générant une relation R3 à partir de deux relations R1 et


R2 par :
jointure de ces deux relations ;
ajout des tuples de R1 et R2 ne participant pas à la jointure avec des valeurs nulles
pour les attributs de l’autre relation.
Elle est représentée en général comme suit :
R = JOINTURE-EXTERNE (R1, R2, condition)
R = EXTERNAL-JOIN (R1, R2, condition) 17
III. AUTRES JOINTURES
III. 2. Les jointures externes

La jointure externe permet, par exemple, de joindre des tables Personne et
Voiture en gardant :
les personnes dont le nom de famille ne coïncide avec aucune marque de voiture
les voiture dont la marque ne coïncide avec aucun nom de famille.
Elle est donc en pratique très utile pour conserver l’intégralité des
instances des deux tables.

18
III. AUTRES JOINTURES
III. 2. Les jointures externes
Exemple :
La jointure externe entre Personne et Voiture sur la même condition a pour
instance :
JOINTURE-EXTERNE (Personne, Voiture, Nom = Marque)
Numero Nom Prenom Age Matricule Marque Annee
1 Suzuki Yao 48 ZG 1452 A Suzuki 2020
2 Ahmed Moustapha 62 Null Null Null
3 Ford Jean Jacques 75 ZG 2154 A Ford 2016
Null Null Null Null ZG 1987 A Mercedes 2022
19
III. AUTRES JOINTURES
III. 2. Les jointures externes

Remarque :
Il est possible de garder les tuples d’une des tables (de table de gauche) qui
ne sont en relation avec aucun tuple de l’autre (table de droite) ;
Dans ce cas, on ignore ceux de l’autre table (table de droite) qui ne sont en
relation avec aucun tuple de la première (table de gauche) ;
On parle alors de jointure externe gauche ou jointure externe droite.

20
III. AUTRES JOINTURES
III. 2. Les jointures externes
Exemple :
JOINTURE-EXTERNE-GAUCHE (Personne, Voiture, Nom = Marque)
Numero Nom Prenom Age Matricule Marque Annee
1 Suzuki Yao 48 ZG 1452 A Suzuki 2020
2 Ahmed Moustapha 62 Null Null Null
3 Ford Jean Jacques 75 ZG 2154 A Ford 2016

JOINTURE-EXTERNE-DROITE (Personne, Voiture, Nom = Marque)


Numero Nom Prenom Age Matricule Marque Annee
1 Suzuki Yao 48 ZG 1452 A Suzuki 2020
3 Ford Jean Jacques 75 ZG 2154 A Ford 2016
Null Null Null Null ZG 1987 A Mercedes 2022
21
IV. L’ÉCLATEMENT
Définition
L’éclatement est une opération qui n’appartient pas vraiment à l’algèbre
relationnelle puisqu’il donne deux relations en résultats, à partir d’une ;
Elle est cependant utile pour partitionner une relation en deux sous-
relations ;
À ce titre, elle est considérée comme une extension de l’algèbre
relationnelle ;
Il existe deux manière de partitionnement d’une relation :
L’éclatement horizontal ;
L’éclatement vertical 22
IV. L’ÉCLATEMENT
IV. 1. L’éclatement horizontal
C’est une opération consistant à créer deux relations à partir d'une
relation :
La première contient les tuples de R vérifiant une condition de sélection ;
La deuxième ceux ne la vérifiant pas.
Cette opération appliquée à la relation R génère donc deux relations R 1
et R2 qui seraient obtenues par sélection comme suit:
R1 = SELECTION (R, Condition)
R2 = SELECTION (R, ¬(Condition))
23
IV. L’ÉCLATEMENT
IV. 1. L’éclatement horizontal

Exemple :
Visite

Numero Date Pays


1 25/03/2022 Sénégal
2 18/04/2023 Mali
3 15/08/2021 Gambie
4 30/03/2023 Guinée
5 16/12/2022 Mauritanie

24
IV. L’ÉCLATEMENT
IV. 1. L’éclatement horizontal

L’éclatement horizontal de la table Visite ci-dessus suivant la condition


« Les visites effectuées avant 2023 » donne les tables Visite_1 et Visite_2
suivantes :
Visite_1 = (Visite) Visite_2 = (Visite)
Date < '01/01/2023' Date >= '01/01/2023'

Numero Date Pays Numero Date Pays


1 25/03/2022 Sénégal 2 18/04/2023 Mali
3 15/08/2021 Gambie 4 30/03/2023 Guinée
5 16/12/2022 Mauritanie
25
IV. L’ÉCLATEMENT
IV. 2. L’éclatement vertical

C’est aussi une opération consistant à créer deux relations à partir d'une
relation ;
La première contient les parties de tuples de R obtenues par projection sur les
attributs cités
La deuxième les parties de tuples obtenues par projections sur les attributs non
cités.

Cette opération appliquée à la relation R (Att1, Att2, …, Attn) génère donc


deux relations R1 et R2 qui seraient obtenues par projection comme suit :
26
IV. L’ÉCLATEMENT
IV. 2. L’éclatement vertical

R1 = PROJECTION (R, Att1, Att2, …, Atti)


R2 = PROJECTION (R, Attj, …, Attn)
Avec :
j > i ;
n > j

27
IV. L’ÉCLATEMENT
IV. 2. L’éclatement vertical

Exemple : L’éclatement vertical de la table Visite ci-dessus par la projection


sur Numero et Pays donne les tables Visite_3 et Visite_4 suivantes :
Visite_3 = ΠNumero, Pays ​(Visite) Visite_4 = ΠDate ​(Visite)

Numero Pays Date


1 Sénégal 25/03/2022
2 Mali 18/04/2023
3 Gambie 15/08/2021
4 Guinée 30/03/2023
5 Mauritanie 16/12/2022
28
EXERCICE D’APPLICATION

Module (Libelle, VolHoraire, Coefficient, Type)


Salle (Numero, Batiment, Capacite, Type, Climatise)
Suivre (#Etudiant, #Module, Annee, Semestre)
Dispenser (#Enseignant, #Module, Annee, Semestre)
SeDerouler (#Module, #Salle, #Batiment, Date, Heure)

29

Vous aimerez peut-être aussi