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

Table des matières:

Anonim

Algèbre relationnelle

RELATIONAL ALGEBRA est un langage de requête procédurale largement utilisé. Il collecte des instances de relations en entrée et donne des 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. La sortie de ces opérations est une nouvelle relation, qui peut être formée à partir d'une ou plusieurs relations d'entrée.

Dans ce tutoriel, vous apprendrez:

  • Algèbre relationnelle
  • SÉLECTIONNER (σ)
  • Projection (π)
  • Renommer (ρ)
  • Opération syndicale (υ)
  • Définir la différence (-)
  • Intersection
  • Produit cartésien (X)
  • Rejoindre les opérations
  • Jointure interne:
  • Rejoindre Theta:
  • Joindre EQUI:
  • JOINT NATUREL (⋈)
  • JOINTURE EXTÉRIEURE
  • Jointure externe gauche (A B)
  • Jointure externe droite: (A B)
  • Jointure externe complète: (A B)

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

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 à partir de la théorie des ensembles

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

Opérations relationnelles binaires

  • REJOINDRE
  • DIVISION

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

SÉLECTIONNER (σ)

L'opération SELECT est utilisée pour sélectionner un sous-ensemble des tuples selon une condition de sélection donnée. Le symbole Sigma (σ) le désigne. Il est utilisé comme une expression pour choisir des tuples qui remplissent 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 rreprésente la relation qui est le nom de la table pest la logique prépositionnelle

Exemple 1

σ topic = "Database" (Tutorials)

Sortie - Sélectionne les tuples dans les didacticiels où topic = 'Database'.

Exemple 2

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

Sortie - Sélectionne les tuples parmi les didacticiels où 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 ignore les autres colonnes.

Exemple de projection:

Considérez le tableau suivant

N ° de client Nom du client Statut
1 Google actif
2 Amazone actif
3 Pomme Inactif
4 Alibaba actif

Ici, la projection de CustomerName et de son statut donnera

Π CustomerName, Status (Customers)
Nom du client Statut
Google actif
Amazone actif
Pomme Inactif
Alibaba actif

Renommer (ρ)

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

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

Opération syndicale (υ)

UNION est symbolisé par le symbole ∪. Il inclut tous les tuples qui sont dans les tables A ou B. Il élimine également les tuples en double. Ainsi, l'ensemble A UNION l'ensemble B serait exprimé comme suit:

Le résultat <- A ∪ B

Pour qu'une opération d'union soit valide, les conditions suivantes 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 supprimés automatiquement.

Exemple

Considérez les tableaux suivants.

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 le désigne. 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 dans B.
  • Les relations à deux opérandes A et B doivent être compatibles ou compatibles avec l'Union.
  • Il faut définir la relation constituée des tuples qui sont en relation A, mais pas en 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 tuple qui se trouvent à la fois dans A et B. Cependant, A et B doivent être compatibles avec l'union.

Définition visuelle de l'intersection

Exemple:

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

Produit cartésien (X) dans le SGBD

Le produit cartésien dans le SGBD est une opération utilisée pour fusionner les colonnes de deux relations. En règle générale, un produit cartésien n'est jamais une opération significative lorsqu'il s'exécute seul. Cependant, il devient significatif lorsqu'il est suivi d'autres opérations. Il est également appelé produit croisé ou jointure croisée.

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 désignée par ⋈.

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

Types de JOIN:

Les différentes formes d'opération de jointure sont:

Jointures intérieures:

  • 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 Theta:

Le cas général de l'opération JOIN est appelé une jointure Thêta. Il est désigné par le symbole θ

Exemple

A ⋈θ B

La jointure thêta peut utiliser toutes les conditions des 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

Joindre EQUI:

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

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 les opérations les plus difficiles à mettre en œuvre efficacement à l'aide de SQL dans un SGBDR et l'une des raisons pour lesquelles les SGBDR ont des problèmes de performances essentiels.

JOINT NATUREL (⋈)

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 les deux tableaux suivants

C
Num Carré
2 4
3 9
Num cube
2 8
3 27
C ⋈ D
C ⋈ D
Num Carré cube
2 4 4
3 9 27

JOINTURE EXTÉRIEURE

Dans une jointure externe, avec 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 tuple dans la relation de gauche. Cependant, si aucun tuple correspondant n'est trouvé dans la bonne relation, alors les attributs de la bonne relation dans le résultat de la jointure sont remplis avec des valeurs nulles.

Considérez les 2 tableaux suivants

UNE
Num Carré
2 4
3 9
4 16
B
Num cube
2 8
3 18
5 75
A  B
A ⋈ B
Num Carré cube
2 4 4
3 9 9
4 16 -

Jointure externe droite: (A B)

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

A  B
A ⋈ B
Num 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  B
A ⋈ B
Num cube Carré
2 4 8
3 9 18
4 16 -
5 - 75

Résumé

Fonctionnement (symboles)

But

Sélectionnez (σ)

L'opération SELECT est utilisée pour sélectionner un sous-ensemble des 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 (∪)

UNION est symbolisée par un symbole. Il inclut tous les tuples qui se trouvent dans les tables A ou B.

Définir la différence (-)

- Le symbole le désigne. 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 tuple 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

Jointure interne, inclut uniquement les tuples qui satisfont aux critères de correspondance.

Jointure thêta (θ)

Le cas général de l'opération JOIN est appelé une jointure Thêta. Il est désigné par le symbole θ.

Rejoindre EQUI

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

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 ( )

Dans la jointure externe gauche, l'opération permet de conserver tous les tuple dans la relation de gauche.

Jointure externe droite ( )

Dans la jointure externe droite, l'opération permet de conserver tous les tuple dans la bonne relation.

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.