L'algèbre relationnelle est un langage de requête procédural. Il donne un processus étape par étape pour obtenir le résultat de la requête. Il utilise des opérateurs pour effectuer des requêtes.
Types d'opérations relationnelles
1. Sélectionnez Opération :
- L'opération de sélection sélectionne les tuples qui satisfont un prédicat donné.
- Il est noté sigma (σ).
Notation: σ p(r)
Où:
p est utilisé pour la prédiction de sélection
r est utilisé pour la relation
p est utilisé comme une formule logique propositionnelle qui peut utiliser des connecteurs tels que : ET OU et NON. Ces relationnels peuvent être utilisés comme opérateurs relationnels comme =, ≠, ≧, , ≦.
Par exemple : relation de prêt
NOM DE LA FILIALE | PRÊT_NON | MONTANT |
---|---|---|
Centre ville | L-17 | 1000 |
Séquoia | L-23 | 2000 |
Perryride | L-15 | 1500 |
Centre ville | L-14 | 1500 |
Mianus | L-13 | 500 |
Colline ronde | L-11 | 900 |
Perryride | L-16 | 1300 |
Saisir:
σ BRANCH_NAME='perryride' (LOAN)
Sortir:
b plus arbre
NOM DE LA FILIALE | PRÊT_NON | MONTANT |
---|---|---|
Perryride | L-15 | 1500 |
Perryride | L-16 | 1300 |
2. Fonctionnement du projet :
- Cette opération affiche la liste des attributs que nous souhaitons voir apparaître dans le résultat. Le reste des attributs est éliminé du tableau.
- Il est noté ∏.
Notation: ∏ A1, A2, An (r)
Où
A1 , A2 , A3 est utilisé comme nom d'attribut de relation r .
Exemple : RELATION CLIENT
NOM | RUE | VILLE |
---|---|---|
Jones | Principal | Harrison |
Forgeron | Nord | Seigle |
Foins | Principal | Harrison |
Curry | Nord | Seigle |
Johnson | Âme | Brooklyn |
ruisseaux | Sénateur | Brooklyn |
Saisir:
∏ NAME, CITY (CUSTOMER)
Sortir:
NOM | VILLE |
---|---|
Jones | Harrison |
Forgeron | Seigle |
Foins | Harrison |
Curry | Seigle |
Johnson | Brooklyn |
ruisseaux | Brooklyn |
3. Fonctionnement du syndicat :
- Supposons qu'il y ait deux tuples R et S. L'opération d'union contient tous les tuples qui sont soit dans R, soit dans S, soit les deux dans R & S.
- Il élimine les tuples en double. Il est noté ∪.
Notation: R ∪ S
Une opération syndicale doit répondre à la condition suivante :
while boucle java
- R et S doivent avoir l'attribut du même nombre.
- Les tuples en double sont automatiquement éliminés.
Exemple:
RELATION DÉPOSANT
CLIENT_NAME | N ° DE COMPTE |
---|---|
Johnson | A-101 |
Forgeron | A-121 |
Mayes | A-321 |
Tourneur | A-176 |
Johnson | A-273 |
Jones | A-472 |
Lindsay | A-284 |
RELATION D'EMPRUNT
CLIENT_NAME | PRÊT_NON |
---|---|
Jones | L-17 |
Forgeron | L-23 |
Hayes | L-15 |
Jackson | L-14 |
Curry | L-93 |
Forgeron | L-11 |
Williams | L-17 |
Saisir:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Sortir:
CLIENT_NAME |
---|
Johnson |
Forgeron |
Hayes |
Tourneur |
Jones |
Lindsay |
Jackson |
Curry |
Williams |
Mayes |
4. Définir l'intersection :
- Supposons qu'il y ait deux tuples R et S. L'opération d'intersection d'ensemble contient tous les tuples qui se trouvent à la fois dans R et S.
- Il est noté intersection ∩.
Notation: R ∩ S
Exemple: Utilisation de la table DEPOSITOR et de la table BORROW ci-dessus
Saisir:
java queue
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Sortir:
CLIENT_NAME |
---|
Forgeron |
Jones |
5. Définir la différence :
- Supposons qu'il y ait deux tuples R et S. L'opération d'intersection d'ensemble contient tous les tuples qui sont dans R mais pas dans S.
- Il est désigné par l'intersection moins (-).
Notation: R - S
Exemple: Utilisation de la table DEPOSITOR et de la table BORROW ci-dessus
Saisir:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Sortir:
CLIENT_NAME |
---|
Jackson |
Hayes |
Williams |
Curry |
6. Produit cartésien
- Le produit cartésien est utilisé pour combiner chaque ligne d’un tableau avec chaque ligne de l’autre tableau. Il est également connu sous le nom de produit croisé.
- Il est noté X.
Notation: E X D
Exemple:
EMPLOYÉ
EMP_ID | EMP_NAME | EMP_DEPT |
---|---|---|
1 | Forgeron | UN |
2 | Harry | C |
3 | John | B |
DÉPARTEMENT
DEPT_NON | DEPT_NAME |
---|---|
UN | Commercialisation |
B | Ventes |
C | Légal |
Saisir:
loup contre renard
EMPLOYEE X DEPARTMENT
Sortir:
EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NON | DEPT_NAME |
---|---|---|---|---|
1 | Forgeron | UN | UN | Commercialisation |
1 | Forgeron | UN | B | Ventes |
1 | Forgeron | UN | C | Légal |
2 | Harry | C | UN | Commercialisation |
2 | Harry | C | B | Ventes |
2 | Harry | C | C | Légal |
3 | John | B | UN | Commercialisation |
3 | John | B | B | Ventes |
3 | John | B | C | Légal |
7. Renommer l'opération :
L'opération de renommage est utilisée pour renommer la relation de sortie. Il est noté par rho (p).
Exemple: Nous pouvons utiliser l'opérateur rename pour renommer la relation STUDENT en STUDENT1.
ρ(STUDENT1, STUDENT)