Comment trouviez vous ce cours ?

25(96.2%)
24
1(3.8%)

Appéciations du lecteurs :

Visualisations : 570
Appreciations : 26

A propos de l'auteur :

R@chid
Email: victrachild@yahoo.com
Validation du cour : 07/11/2011

Algebre Relationnelle

Introduction

L'Algèbre relationnelle est une collection d'opérations formelles agissant sur des relations et produisant des relations; L'algèbre relationnelle est aux relations ce qu'est l'arithmétique aux entiers. Ces opérations permettent d'exprimer toutes les requêtes sous forme d'expressions algébriques. Elles sont la base du langage SQL.

On peut distinguer trois familles d'opérateurs relationnels :

  • Les opérateurs unaires (Sélection, Projection) .
  • Les opérateurs binaires ensemblistes (Union, Intersection Différence) .
  • Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division).

Note : Les notations ne sont pas standardisées en algèbre relationnelle. Ce cours utilise des notations courantes mais donc pas forcément universelles.

Système d'information

C'est l'ensemble des informations qui circule et les moyens mis en oeuvres pour les gérer.

L'objectif d'un SI est de restituer l'information au personne concerné sous la forme approprié et en temps opportun, pour prendre une décision ou effectuer une tache.

Une relation c'est une entité qui présente des tuples(ligne du table), Les noms des différentes colonnes sont les attributs de la relation.

Les opérateurs unaires

Ce sont les opérateurs les plus simples, ils permettent de produire une nouvelle relation à partir d'une autre relation, il y a :

  • La Projection .
  • La Sélection.

Projection

Permet d'éliminer des attributs non désirés et suppression des tuples en double(c'est l'option distinct en SQL).

Exemple :

Nous voulons extraire seulement les noms et prénoms des Stagiaires.


Résultat une nouvelle relation avec deux attributs (Nom et Prenom) sans redondance.

Restriction(ou Selection)

Permet d'obtenir des tuples de Relation satisfaisant un critère Q.


Exemple :

Nous voulons extraire des stagiaires qui ont 19 ans et plus.

Résultat une nouvelle relation qui contient les tuples des stagiaires ayant age 19 ans et plus.

Les opérateurs binaires ensemblistes

Ces opérateurs permettent de produire une nouvelle relation à partir de deux relations(binaire) de même degré et de même domaine, Les relations doivent avoir la même schéma (même nombre d'attributs dont les domaines correspondent). Ces opérateurs sont :

  • L'Union.
  • L'Intersection.
  • La Différence.

L'Union

Permet de réunir dans une même relation les tuples de deux relation.

Exemple :

Union des deux relation R1 et R2.



Résultat une nouvelle relation T sans redondance.

Exemple de l'union des relation Filles et Garçons.

Intersection

Permet de sélectionne les tuples qui sont à la fois dans R et S.

Exemple :

Union des deux relation R1 et R2.



Résultat une nouvelle relation T contient les tuples qui existe dans R1 et R2.

Différence

Permet sélectionne les tuples de R qui ne sont pas dans S.

Note : dans le graphisme on met soit le symbole de soustraction(-) ou dif.

Exemple :

Différence des deux relation R1 et R2.


Résultat une nouvelle relation T contient les tuples de R1 et qui ne sont pas dans R2.

Les opérateurs binaires ou n-aires

Ils permettent de produire une nouvelle relation à partir de deux ou plusieurs autres relations les deux relations ne nécessite pas d'avoir le même schéma. Ces opérateurs sont :

  • Le Produit cartésien.
  • La Jointure.
  • La Division.

Produit Cartésien

Permet de construire toutes les combinaisons de tuples de deux relations.

Exemple :


Chaque tuple de relation R se concatène avec toutes les tuples de relation S ce qui donne une relation qui a le produit de nombre du tuple de R(n) * le nombre du tuple de R(m) tuples.

Note : dans La nouvelle relation des tuple qui n'ont pas une existence logique, les seules validées ceux qui ont la même information dans par exemple l'attribut B de la relation R et l'Attribut C dans la relation S, donc on va ajouter la projection et restriction à la nouvelle relation ce qui est équivalent à la jointure .

Jointure

Composition des deux relations sur un domaine commun.


La condition c'est une Critère de jointure, ce qui donne deux types de jointures :
  • - jointure naturelle : Attributs de même nom égaux(Attribut = Attribut).
  • - thêta-jointure : Attributs de même nom égaux(Attribut = Attribut).
  • - jointure externe : C'est une jointure qui ajoute les tuples qui ne participent pas à la jointure avec des valeurs nulles pour les attributs de l'autre relation.
  • - semi-jointure : La semi-jointure de R1 et R2 donne les tuples de R1 qui participent à la jointure des 2 relations.

Exemple :

jointure naturelle.



thêta-jointure.



jointure externe.



semi-jointure.



Division

Elle permet d'avoir une relation qui a des élément de la relation R1 qui sont chaque un d'eux associés a tous les éléments de la relation R2.


Exemple :


On peut faire autrement : R (A, B) et S (B)
Div(R; S) = R1-R2
R1=PROJECTION (A ;(R))
R2=PROJECTION (A ;((R1 x S) -R))
1- R1=PROJECTION (A ;(R))

2- R2=PROJECTION (A ;((R1 x S) -R))

3- Div(R; S)= R1-R2

Fonction et Agrégat

Fonction

Fonction de calcul en ligne appliquée sur un ou plusieurs attributs : Attribut1* Attribut2/ 100.

Déférents fonctions :
  • Avg{Attribut} : donne la moyenne générale du champ.
  • Sum{Attribut} : donne la somme d'Attribut.
  • Count{Attribut} : donne le nombre des éléments de l'Attribut.
  • Min{Attribut} : donne la valeur la plus grande de l'Attribut.
  • Max{Attribut} : donne la valeur la plus petite de l'Attribut.

Agrégat

Partitionnement horizontal d'une relation selon les valeurs d'un groupe d'attributs, suivi d'un regroupement par une fonction de calcul en colonne (Sum, Min, Max, Avg, Count, …).

L'opération générique: Résultat=AGREGAT ([R];[attributs1…n]; [Fonction] { [Attribut]})

Exemple :


AVG = AGREGAT (VINS;AVG{DEGRE})

SUM = AGREGAT (VINS;CRU;SUM{QUANTITE})

Exercices :

Soit la relation

Exercice 1 :

Exercice 2 :

Les requêtes suivantes en algèbre relationnelle:
Requête 1 : les personnes (nom, âge, ville) qui habitent Paris.
Requête 2 : les personnes (nom, âge, ville) qui ont moins de 30 ans.
Requête 3 : les villes dans la relation PERSONNE.
Requête 4 : les noms des personnes habitant à Paris.

Correction

Ex1 :

Requête 1 : Résultat une relation vide personne n'a l'age 30 .
Requête 2 : liste de tous les ages.

Requête 3 : L'age de personne qui porte le nom 'Serge'.

Ex2 :






Téléchargement ...