logo

Introduction de l'algèbre relationnelle dans les SGBD

Prérequis: Modèle relationnel dans le SGBD

L'algèbre relationnelle est un langage de requête procédural. L'algèbre relationnelle fournit principalement une base théorique pour les bases de données relationnelles et SQL . L'objectif principal de l'utilisation de l'algèbre relationnelle est de définir des opérateurs qui transforment une ou plusieurs relations d'entrée en relation de sortie. Étant donné que ces opérateurs acceptent des relations en entrée et produisent des relations en sortie, ils peuvent être combinés et utilisés pour exprimer des requêtes potentiellement complexes qui transforment potentiellement de nombreuses relations d'entrée (dont les données sont stockées dans la base de données) en une seule relation de sortie (les résultats de la requête). . Comme il s’agit de mathématiques pures, les mots-clés anglais ne sont pas utilisés en algèbre relationnelle et les opérateurs sont représentés à l’aide de symboles.



Opérateurs fondamentaux

Ce sont les opérateurs de base/fondamentaux utilisés en algèbre relationnelle.

  1. Sélection(σ)
  2. Projection(π)
  3. Union(U)
  4. Définir la différence (-)
  5. Définir l'intersection (∩)
  6. Renommer(ρ)
  7. Produit cartésien (X)

1. Sélection(σ) : Il est utilisé pour sélectionner les tuples requis des relations.

Exemple:



UN B C
1 2 4
2 2 3
3 2 3
4 3 4

Pour la relation ci-dessus, σ(c>3)R sélectionnera les tuples qui ont c supérieur à 3.

UN B C
1 2 4
4 3 4

Note: L'opérateur de sélection sélectionne uniquement les tuples requis mais ne les affiche pas. Pour l'affichage, l'opérateur de projection de données est utilisé.

2. Projection(π) : Il est utilisé pour projeter les données de colonne requises à partir d’une relation.



statut git -s

Exemple: Considérons le tableau 1. Supposons que nous voulions les colonnes B et C de la relation R.

π(B,C)R will show following columns.>
B C
2 4
2 3
3 4

Note: Par défaut, la projection supprime les données en double.

3. Syndicat(U) : L'opération d'union en algèbre relationnelle est la même que l'opération d'union en théorie des ensembles.

Exemple:

FRANÇAIS

Nom d'étudiant Numéro de rôle
RAM 01
Mohan 02
Vivek 13
Géta 17

ALLEMAND

Nom d'étudiant Numéro de rôle
Vivek 13
Géta 17
Shyam vingt-et-un
Rohan 25

Considérez le tableau suivant des étudiants ayant différentes matières optionnelles dans leur cours.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Nom d'étudiant
RAM
Mohan
Vivek
Géta
Shyam
Rohan

Note: La seule contrainte dans l’union de deux relations est que les deux relations doivent avoir le même ensemble d’Attributs.

4. Définir la différence (-): La différence d'ensembles en algèbre relationnelle est la même opération de différence d'ensembles que dans la théorie des ensembles.

Exemple: À partir du tableau ci-dessus du FRANÇAIS et de l’ALLEMAND, Set Difference est utilisé comme suit

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Nom d'étudiant
RAM
Mohan

Note: La seule contrainte dans la différence d'ensemble entre deux relations est que les deux relations doivent avoir le même ensemble d'attributs.

5. Définissez l'intersection (∩) : L'intersection d'ensembles en algèbre relationnelle est la même opération d'intersection d'ensembles dans la théorie des ensembles.

Exemple: À partir du tableau ci-dessus en FRANÇAIS et ALLEMAND, l'intersection définie est utilisée comme suit

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Nom d'étudiant
Vivek
Géta

Note: La seule contrainte dans la différence d'ensemble entre deux relations est que les deux relations doivent avoir le même ensemble d'attributs.

6. Renommer(ρ): Renommer est une opération unaire utilisée pour renommer les attributs d'une relation.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Produit croisé (X) : Produit croisé entre deux relations. Disons A et B, donc le produit vectoriel entre A X B donnera tous les attributs de A suivis de chaque attribut de B. Chaque enregistrement de A sera associé à chaque enregistrement de B.

Exemple:

Internet utilisant

UN

Nom Âge Sexe
RAM 14 M.
fin quinze F
Kim vingt M.

B

IDENTIFIANT Cours
1 DS
2 SGBD

A X B

Nom Âge Sexe IDENTIFIANT Cours
RAM 14 M. 1 DS
RAM 14 M. 2 SGBD
fin quinze F 1 DS
fin quinze F 2 SGBD
Kim vingt M. 1 DS
Kim vingt M. 2 SGBD

Note: Si A a 'n' tuples et B a 'm' tuples alors A X B aura 'n*m' tuples.

Opérateurs dérivés

Voici quelques-uns des opérateurs dérivés, qui sont dérivés des opérateurs fondamentaux.

  1. Jointure naturelle(⋈)
  2. Jointure conditionnelle

1. Jointure naturelle (⋈) : La jointure naturelle est un opérateur binaire. La jointure naturelle entre deux ou plusieurs relations donnera lieu à un ensemble de toutes les combinaisons de tuples où ils ont un attribut commun égal.

Exemple:

lettre d'îlot java

EMP

Nom IDENTIFIANT Nom_du service
UN 120 IL
B 125 HEURE
C 110 Ventes
D 111 IL

DÉPARTEMENT

Nom_du service Directeur
Ventes ET
Production AVEC
IL UN

Rapprochement naturel entre EMP et DEPT avec condition :

EMP.Dept_Name = DEPT.Dept_Name

EMP ⋈ DÉPT

Nom IDENTIFIANT Nom_du service Directeur
UN 120 IL UN
C 110 Ventes ET
D 111 IL UN

2. Jointure conditionnelle : La jointure conditionnelle fonctionne de la même manière que la jointure naturelle. Dans la jointure naturelle, par défaut, la condition est égale entre les attributs communs, tandis que dans la jointure conditionnelle, nous pouvons spécifier n'importe quelle condition telle que supérieure, inférieure ou différente.

Exemple:

R.

IDENTIFIANT Sexe Des marques
1 F Quatre cinq
2 F 55
3 F 60

S

IDENTIFIANT Sexe Des marques
dix M. vingt
onze M. 22
12 M. 59

Joindre entre R et S avec condition Marques R>= Marques S

DÉBARRASSER R.Sexe R.Marques S.ID S.Sexe S.Marques
1 F Quatre cinq dix M. vingt
1 F Quatre cinq onze M. 22
2 F 55 dix M. vingt
2 F 55 onze M. 22
3 F 60 dix M. vingt
3 F 60 onze M. 22
3 F 60 12 M. 59

Calcul relationnel

Comme l'algèbre relationnelle est un langage de requête procédural, le calcul relationnel est un langage de requête non procédural. Il s’agit essentiellement des résultats finaux. Il me dit toujours quoi faire mais ne me dit jamais comment le faire.

Il existe deux types de calcul relationnel

  1. Calcul relationnel des tuples (TRC)
  2. Calcul relationnel de domaine (RDC)

Articles de fond :
Opérateurs-de-base-en-algèbre-relationnelle
Opérateurs d'algèbre relationnelle étendue