Algèbre relationnelle dans les SGBD : Operaavec des 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.
Algèbre relationnelle SQL de base Operations
Algèbre relationnelle divisée en différents groupes
Relationnel Unaire Operations
- SELECT (symbole : σ)
- PROJET (symbole : π)
- RENOMMER (symbole : ρ)
Algèbre relationnelle Operation de la théorie des ensembles
- UNION (υ)
- INTERSECTION ( ),
- DIFFÉRENCE (-)
- PRODUIT CARTESIEN ( x )
Relationnel Binaire Operations
- INSCRIPTION
- 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 le tableau suivant
N ° de client | Nom du client | Statut |
---|---|---|
1 | Actif | |
2 | Amazon | Actif |
3 | Pomme | Inactif |
4 | Alibaba | Actif |
Ici, la projection de CustomerName et du statut donnera
Π CustomerName, Status (Customers)
Nom du client | Statut |
---|---|
Actif | |
Amazon | Actif |
Pomme | 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, 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 automatiquement supprimés.
Exemple
Considérez les tableaux suivants.
colonne 1 | colonne 2 | colonne 1 | colonne 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B donne
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
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.
Mise en situation :
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 1 | colonne 2 |
---|---|
1 | 1 |
1 | 1 |
S'inscrire Operations
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)
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)
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 les deux tableaux suivants
En | Carré |
---|---|
2 | 4 |
3 | 9 |
En | Cube |
---|---|
2 | 8 |
3 | 27 |
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.
Considérez les 2 tableaux suivants
En | Carré |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
En | Cube |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
A 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.
A 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 B
En | Cube | Carré |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Résumé
Operation(Symboles) | 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. |
syndicat Operation(∪) | 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() | Dans la jointure externe gauche, l'opération permet de conserver tous les tuples dans la relation gauche. |
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 () | 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. |