un E-Book complete sur les Notions d'Algèbre Relationnel


Sommaire
1.    Introduction_ 2
2.    Opérateurs ensemblistes 2
2.1.     Union_ 2
2.2.     Intersection_ 3
2.3.     Différence 5
3.    Opérateurs unaires relationnels 7
3.1.     Sélection_ 7
3.2.     Projection_ 7
4.    Opérateurs binaires relationnels 8
4.1.     Produit cartésien_ 8
4.2.     Division_ 8
4.3.     Jointure 8


1. Introduction

L'algèbre relationnelle est un concept mathématique de relation de la théorie des ensembles.
L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Elle est constituée d'un ensemble d'opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la différence).
Les principes de l'algèbre relationnelle sont mis en œuvre de nos jours par les SGBD Relationnels dont ils constituent les fondements théoriques.

Ce support de cours a pour objectif de vous remémorer ces concepts déjà vus par le passé en mathématiques lors des apprentissages sur la théorie des ensembles.

Les exemples proposés dans ce support prennent pour référence la base de données Vol Avion dont vous disposez d’une version.

2. Opérateurs ensemblistes

Les opérateurs ensemblistes sont les suivants :
§  l'union
§  l'intersection
§  la différence relationnelle

2.1.         Unio



R1 È R2

L’union est utilisée pour relier 2 relations uni-compatibles, c’est à dire ayant le même nombre d’attributs et des attributs respectifs définis sur le même domaine.
Pour unir deux relations, il est donc nécessaire qu’elles soient de structure identique.



R1 : relation Vols Paris-Nice

VOL
Avion
Pilote
Ville Départ
Ville Arrivée
Heure Départ
Heure Arrivée
IT102
101
1
Paris
Nice
12h00
14h00
IT118
256
1024
Paris
Nice
9h36
10h30
IT112
812
2048
Paris
Nice
12h25
14h00
IT123
999
1246
Paris
Nice
19h00
20h00

R2 : relation Vols Brive-Marseille

VOL
Avion
Pilote
Ville Départ
Ville Arrivée
Heure Départ
Heure Arrivée
IT199
999
2
Brive
Marseille
10h30
13h00

R1 È R2

VOL
Avion
Pilote
Ville Départ
Ville Arrivée
Heure Départ
Heure Arrivée
IT102
101
1
Paris
Nice
12h00
14h00
IT118
256
1024
Paris
Nice
9h36
10h30
IT112
812
2048
Paris
Nice
12h25
14h00
IT123
999
1246
Paris
Nice
19h00
20h00
IT199
999
2
Brive
Marseille
10h30
13h00

liste des Vols Paris-Nice et Brive-Marseille

2.2.         Intersection




 

Légende sans bordure 3: R1 Ç R2                                    





Légende sans bordure 3: R1


Légende sans bordure 3: R2

 



R1 Ç R2

L’intersection est utilisée pour relier 2 relations uni-compatibles, c’est à dire ayant le même nombre d’attributs et des attributs respectifs définis sur le même domaine.
Pour réaliser l’intersection de deux relations, il est donc nécessaire qu’elles soient de structures identiques.


R1 : relation Avions de marque Airbus

Avion
Marque
Localisation
100
AIRBUS
NICE
101
AIRBUS
PARIS
102
AIRBUS
NICE
105
AIRBUS
GRENOBLE
106
AIRBUS
toulouse
109
AIRBUS
BASTIA

R2 : relation Avions localisés à Nice

Avion
Marque
Localisation
100
AIRBUS
NICE
102
AIRBUS
NICE
115
BOEING
NICE
130
ATR
NICE

R1 Ç R2

Avion
Marque
Localisation
100
AIRBUS
NICE
102
AIRBUS
NICE

liste des Avions de marque Airbus localisés à Nice


2.3.         Différence

R1 - R2

La différence est utilisée pour relier 2 relations uni-compatibles, c’est à dire ayant le même nombre d’attributs et des attributs respectifs définis sur le même domaine.

R1 : relation Avions de marque Airbus

Avion
Marque
Localisation
100
AIRBUS
NICE
101
AIRBUS
PARIS
102
AIRBUS
NICE
105
AIRBUS
GRENOBLE
106
AIRBUS
toulouse
109
AIRBUS
BASTIA

R2 : relation Avions localisés à Nice

Avion
Marque
Localisation
100
AIRBUS
NICE
102
AIRBUS
NICE
115
BOEING
NICE
130
ATR
NICE

R2 - R1

Avion
Marque
Localisation
115
BOEING
NICE
130
ATR
NICE

liste des Avions localisés à Nice autres que ceux de marque Airbus

R1 - R2

Avion
Marque
Localisation
101
AIRBUS
PARIS
105
AIRBUS
GRENOBLE
106
AIRBUS
toulouse
109
AIRBUS
BASTIA

liste des Avions de marque Airbus autres que ceux localisés à Nice


3. Opérateurs unaires relationnels


Les opérateurs unaires sont les opérateurs qui ne font intervenir qu’une seule relation.

3.1.         Sélection


La sélection opère un découpage horizontal de la table.

On obtient tous les attributs pour les enregistrements sélectionnés.


Exemples :
liste des vols pour Nice
liste des avions qui ont plus de 200 places

3.2.         Projection


La projection opère un découpage vertical de la table.

On obtient tous les enregistrements pour les attributs choisis.



 







Exemples :
liste des noms des pilotes
liste des modèles d’avions


4. Opérateurs binaires relationnels

Les opérateurs binaires sont ceux qui font intervenir deux relations.

4.1.         Produit cartésien

Le produit cartésien consiste à rassembler deux tables en une seule en reliant chaque élément de l’une avec tous les éléments de l’autre.

      R1             R2                 R1 x R2
A1

B1

A1
B1
A2

B2

A2
B1
A3



A3
B1




A1
B2




A2
B2




A3
B2

4.2.         Division

La division consiste à trouver la liste des valeurs d’un attribut de R1 telles qu’il existe un élément dans R1 pour chaque valeur de R2 pour l’attribut correspondant.

R1                    R2        R1 / R2
B1
A1

A1

B1
B1
A2

A2

B4
B2
A2




B3
A1




B4
A1




B4
A2





exemples :
liste des pilotes qui conduisent tous les avions
liste des avions qui vont dans toutes les villes

4.3.         Jointure


La jointure consiste à rechercher entre deux tables ayant un attribut commun (même type et même domaine de définition) tous les éléments des deux tables pour lesquels ces attributs ont la même valeur.
La jointure entre les tables AVION et PILOTE consiste à rechercher toutes les informations du pilote de chaque avion. Concrètement elle réalise la concaténation des tuples (ou n-uplets) de Avion avec Pilote chaque fois que AVION.PIL# = VOL.PIL#.


Publié par Drupal Study