Algèbre relationnelle dans les SGBD : opérations avec exemples

Algèbre relationnelle

ALGÈBRE RELATIONNELLE est un langage de requête procédural largement utilisé. Il collecte les instances de relations en entrée et donne les occurrences de relations en sortie. Il utilise diverses opérations pour effectuer cette action. Les opérations de requête d'algèbre relationnelle SQL sont effectuées de manière récursive sur une relation. Le résultat de ces opérations est une nouvelle relation, qui peut être formée à partir d’une ou plusieurs relations d’entrée.

Opérations de base d'algèbre relationnelle SQL

Algèbre relationnelle divisée en différents groupes

Opérations relationnelles unaires

  • SELECT (symbole : σ)
  • PROJET (symbole : π)
  • RENOMMER (symbole : ρ)

Opérations d'algèbre relationnelle de la théorie des ensembles

  • UNION (υ)
  • INTERSECTION ( ),
  • DIFFÉRENCE (-)
  • PRODUIT CARTESIEN ( x )

Opérations relationnelles binaires

  • JOIN
  • DIVISION

Étudions-les en détail avec des solutions :

SÉLECTIONNER (σ)

L'opération SELECT est utilisée pour sélectionner un sous-ensemble de tuples selon une condition de sélection donnée. Le symbole Sigma(σ) le désigne. Il est utilisé comme expression pour choisir les tuples qui répondent à la condition de sélection. L’opérateur Select sélectionne les tuples qui satisfont un prédicat donné.

σp(r)

σ est le prédicat

r représente la relation qui est le nom de la table

p est la logique prépositionnelle

Exemple 1

σ topic = "Database" (Tutorials)

Sortie – Sélectionne les tuples des didacticiels où topic = 'Base de données'.

Exemple 2

σ topic = "Database" and author = "guru99"( Tutorials)

Sortie – Sélectionne les tuples des didacticiels dont le sujet est « Base de données » et « auteur » est guru99.

Exemple 3

σ sales > 50000 (Customers)

Sortie – Sélectionne les tuples des clients dont les ventes sont supérieures à 50000

Projection(π)

La projection élimine tous les attributs de la relation d'entrée sauf ceux mentionnés dans la liste de projection. La méthode de projection définit une relation qui contient un sous-ensemble vertical de Relation.

Cela permet d'extraire les valeurs des attributs spécifiés pour éliminer les valeurs en double. Le symbole (pi) est utilisé pour choisir les attributs d'une relation. Cet opérateur vous aide à conserver des colonnes spécifiques d'une relation et supprime les autres colonnes.

Exemple de projection :

Considérez ce qui suitwing table

N ° de client Nom du client Statut
1 Google Actif
2 Amazon Actif
3 Apple Inactif
4 Alibaba Actif

Ici, la projection de CustomerName et du statut donnera

Π CustomerName, Status (Customers)
Nom du client Statut
Google Actif
Amazon Actif
Apple Inactif
Alibaba Actif

Renommer (ρ)

Renommer est une opération unaire utilisée pour renommer les attributs d'une relation.

ρ (a/b)R renommera l'attribut 'b' de la relation par 'a'.

Fonctionnement de l'union (υ)

UNION est symbolisée par le symbole ∪. Il inclut tous les tuples présents dans les tables A ou B. Il élimine également les tuples en double. Ainsi, l’ensemble A UNION et l’ensemble B s’exprimeraient comme suit :

Le résultat <- A ∪ B

Pour qu'une opération syndicale soit valide, il fautwing les conditions doivent être remplies –

  • R et S doivent avoir le même nombre d'attributs.
  • Les domaines d'attributs doivent être compatibles.
  • Les tuples en double doivent être automatiquement supprimés.

Exemple

Considérez ce qui suitwing les tables.

Tableau A
Tableau b
colonne 1 colonne 2 colonne 1 colonne 2
1 1 1 1
1 2 1 3

A ∪ B donne

Tableau A ∪ B
colonne 1 colonne 2
1 1
1 2
1 3

Définir la différence (-)

– Le symbole l’indique. Le résultat de A – B est une relation qui inclut tous les tuples qui sont dans A mais pas dans B.

  • Le nom d'attribut de A doit correspondre au nom d'attribut de B.
  • Les relations à deux opérandes A et B doivent être soit compatibles, soit compatibles Union.
  • Il faut définir une relation constituée des tuples qui sont dans la relation A, mais pas dans B.

Exemple

A-B
Tableau A – B
colonne 1 colonne 2
1 2

Intersection

Une intersection est définie par le symbole ∩

A B

Définit une relation constituée d'un ensemble de tous les tuples qui se trouvent à la fois dans A et B. Cependant, A et B doivent être compatibles au niveau des unions.

Intersection
Définition visuelle de l'intersection

Mise en situation :

A ∩ B
Tableau A ∩ B
colonne 1 colonne 2
1 1

Produit cartésien (X) dans un SGBD

Produit cartésien dans le SGBD est une opération utilisée pour fusionner les colonnes de deux relations. Généralement, un produit cartésien n’est jamais une opération significative lorsqu’il s’exécute seul. Cependant, elle prend tout son sens lorsqu'elle est suivie d'autres opérations. Il est également appelé Cross Product ou Cross Join.

Exemple – produit cartésien

σ colonne 2 = «1 ' (AXB)

Sortie – L'exemple ci-dessus montre toutes les lignes des relations A et B dont la colonne 2 a la valeur 1

σ colonne 2 = '1' (AXB)
colonne 1 colonne 2
1 1
1 1

Rejoindre les opérations

L'opération de jointure est essentiellement un produit cartésien suivi d'un critère de sélection.

Opération de jointure notée ⋈.

L'opération JOIN permet également de joindre des tuples diversement liés à partir de différentes relations.

Types de JOIN :

Différentes formes d'opération de jointure sont :

Jointures internes :

  • Rejoindre Theta
  • Rejoindre EQUI
  • Jointure naturelle

Jointure externe :

  • Jointure externe gauche
  • Jointure externe droite
  • Jointure externe complète

Jointure interne

Dans une jointure interne, seuls les tuples qui satisfont aux critères de correspondance sont inclus, tandis que les autres sont exclus. Étudions différents types de jointures internes :

Rejoindre Thêta

Le cas général de l’opération JOIN est appelé jointure Theta. Il est désigné par le symbole θ

Exemple

A ⋈θ B

La jointure thêta peut utiliser n'importe quelle condition dans les critères de sélection.

Par exemple :

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.colonne 2 > B.colonne 2 (B)
colonne 1 colonne 2
1 2

Rejoindre EQUI

Lorsqu'une jointure thêta utilise uniquement une condition d'équivalence, elle devient une jointure équi.

Par exemple :

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.colonne 2 = B.colonne 2 (B)
colonne 1 colonne 2
1 1

La jointure EQUI est l'opération la plus difficile à mettre en œuvre efficacement à l'aide de SQL dans un SGBDR et l'une des raisons pour lesquelles RDBMS ont des problèmes de performances essentiels.

JONCTION NATURELLE (⋈)

La jointure naturelle ne peut être effectuée que s'il existe un attribut commun (colonne) entre les relations. Le nom et le type de l'attribut doivent être identiques.

Exemple

Considérez ce qui suitwing deux tables

C
En Carré
2 4
3 9
D
En Cube
2 8
3 27
C ⋈ D
C ⋈ D
En Carré Cube
2 4 8
3 9 27

JOINT EXTERIEUR

Dans une jointure externe, outre les tuples qui satisfont aux critères de correspondance, nous incluons également certains ou tous les tuples qui ne correspondent pas aux critères.

Jointure externe gauche (A ⟕ B)

Dans la jointure externe gauche, l'opération permet de conserver tous les tuples dans la relation gauche. Cependant, si aucun tuple correspondant n'est trouvé dans la relation correcte, alors les attributs de la relation correcte dans le résultat de la jointure sont remplis de valeurs nulles.

Jointure externe gauche

Considérez ce qui suitwing Tables 2

A
En Carré
2 4
3 9
4 16
B
En Cube
2 8
3 18
5 75
A Left Outer Join B
UNE ⋈B
En Carré Cube
2 4 8
3 9 18
4 16 -

Jointure externe droite ( A ⟖ B )

Dans la jointure externe droite, l'opération permet de conserver tous les tuples dans la bonne relation. Cependant, si aucun tuple correspondant n'est trouvé dans la relation gauche, alors les attributs de la relation gauche dans le résultat de la jointure sont remplis de valeurs nulles.

Jointure externe droite

A Right Outer Join B
UNE ⋈B
En Cube Carré
2 8 4
3 18 9
5 75 -

Jointure externe complète ( A ⟗ B)

Dans une jointure externe complète, tous les tuples des deux relations sont inclus dans le résultat, quelle que soit la condition de correspondance.

A Full Outer Join B
UNE ⋈B
En Cube Carré
2 4 8
3 9 18
4 16 -
5 - 75

Résumé

Opération (Symboles) L’objectif
Sélectionner(σ) L'opération SELECT est utilisée pour sélectionner un sous-ensemble de tuples selon une condition de sélection donnée.
Projection(π) La projection élimine tous les attributs de la relation d'entrée sauf ceux mentionnés dans la liste de projection.
Opération syndicale (∪) L'UNION est symbolisée par le symbole. Il inclut tous les tuples présents dans les tables A ou B.
Définir la différence (-) – Le symbole l’indique. Le résultat de A – B est une relation qui inclut tous les tuples qui sont dans A mais pas dans B.
Intersection(∩) L'intersection définit une relation constituée d'un ensemble de tous les tuples qui se trouvent à la fois dans A et B.
Produit cartésien (X) L'opération cartésienne est utile pour fusionner les colonnes de deux relations.
Jointure interne La jointure interne inclut uniquement les tuples qui satisfont aux critères de correspondance.
Thêta jointure (θ) Le cas général de l’opération JOIN est appelé jointure Theta. Il est désigné par le symbole θ.
Rejoindre ÉQUI Lorsqu'une jointure thêta utilise uniquement une condition d'équivalence, elle devient une jointure équi.
Jointure naturelle(⋈) La jointure naturelle ne peut être effectuée que s'il existe un attribut commun (colonne) entre les relations.
Jointure externe Dans une jointure externe, avec des tuples qui satisfont aux critères de correspondance.
Jointure externe gauche(Jointure externe gauche) Dans la jointure externe gauche, l'opération permet de conserver tous les tuples dans la relation gauche.
Jointure externe droite (Jointure externe droite) Dans la jointure externe droite, l'opération permet de conserver tous les tuples dans la bonne relation.
Jointure externe complète (Jointure externe complète) Dans une jointure externe complète, tous les tuples des deux relations sont inclus dans le résultat, quelle que soit la condition de correspondance.