Algebra relazionale nei DBMS: Operazioni con esempi
Algebra relazionale
ALGEBRA RELAZIONALE รจ un linguaggio di query procedurale ampiamente utilizzato. Raccoglie istanze di relazioni come input e fornisce occorrenze di relazioni come output. Utilizza varie operazioni per eseguire questa azione. Le operazioni di query di algebra relazionale SQL vengono eseguite in modo ricorsivo su una relazione. L'output di queste operazioni รจ una nuova relazione, che potrebbe essere formata da una o piรน relazioni di input.
Algebra relazionale SQL di base Operazioni
Algebra Relazionale divisa in vari gruppi
Relazionale Unario Operazioni
- SELEZIONA (simbolo: ฯ)
- PROGETTO (simbolo: ฯ)
- RINOMINARE (simbolo: ฯ)
Algebra relazionale Operazioni dalla teoria degli insiemi
- UNIONE (ฯ )
- INTERSEZIONE ( ),
- DIFFERENZA (-)
- PRODOTTO CARTESIANO ( x )
Relazionale Binaria Operazioni
- ISCRIVITI
- DIVISIONE
Studiamoli nel dettaglio con le soluzioni:
SELEZIONA (ฯ)
L'operazione SELECT viene utilizzata per selezionare un sottoinsieme di tuple in base a una determinata condizione di selezione. Il simbolo Sigma(ฯ) lo denota. Viene utilizzato come espressione per scegliere le tuple che soddisfano la condizione di selezione. L'operatore Select seleziona le tuple che soddisfano un determinato predicato.
ฯp(r)
ฯ รจ il predicato
r sta per relazione che รจ il nome della tabella
p รจ la logica preposizionale
esempio 1
ฯ topic = "Database" (Tutorials)
Uscita โ Seleziona le tuple da Tutorial dove argomento = 'Database'.
esempio 2
ฯ topic = "Database" and author = "guru99"( Tutorials)
Uscita โ Seleziona le tuple dai Tutorial in cui l'argomento รจ "Database" e "autore" รจ guru99.
esempio 3
ฯ sales > 50000 (Customers)
Uscita โ Seleziona le tuple dai clienti in cui le vendite sono superiori a 50000
Proiezione(ฯ)
La proiezione elimina tutti gli attributi della relazione di input tranne quelli menzionati nell'elenco delle proiezioni. Il metodo di proiezione definisce una relazione che contiene un sottoinsieme verticale di Relazione.
Ciรฒ aiuta a estrarre i valori degli attributi specificati per eliminare i valori duplicati. Il simbolo (pi) viene utilizzato per scegliere gli attributi da una relazione. Questo operatore ti aiuta a mantenere colonne specifiche da una relazione e scarta le altre colonne.
Esempio di proiezione:
Considerare la seguente tabella
| Identificativo del cliente | Nome del cliente | Stato |
|---|---|---|
| 1 | Attivo | |
| 2 | Amazon | Attivo |
| 3 | Apple | Inattivo |
| 4 | Alibaba | Attivo |
Qui, verrร fornita la proiezione di CustomerName e dello stato
ฮ CustomerName, Status (Customers)
| Nome del cliente | Stato |
|---|---|
| Attivo | |
| Amazon | Attivo |
| Apple | Inattivo |
| Alibaba | Attivo |
Rinomina (ฯ)
La rinomina รจ un'operazione unaria utilizzata per rinominare gli attributi di una relazione.
ฯ (a/b)R rinominerร l'attributo 'b' della relazione con 'a'.
Operazione sindacale (ฯ )
L'UNIONE รจ simboleggiata dal simbolo โช. Include tutte le tuple presenti nelle tabelle A o B. Elimina anche le tuple duplicate. Quindi, l'insieme A UNIONE insieme B sarebbe espresso come:
Il risultato <- A โช B
Affinchรฉ un'operazione di unione sia valida, devono essere soddisfatte le seguenti condizioni:
- R e S devono avere lo stesso numero di attributi.
- I domini degli attributi devono essere compatibili.
- Le tuple duplicate dovrebbero essere rimosse automaticamente.
Esempio
Consideriamo le seguenti tabelle.
| colonna 1 | colonna 2 | colonna 1 | colonna 2 | |
|---|---|---|---|---|
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
A โช B dร
| colonna 1 | colonna 2 |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
Imposta differenza (-)
โ Il simbolo lo denota. Il risultato di A โ B รจ una relazione che include tutte le tuple che sono in A ma non in B.
- Il nome dell'attributo di A deve corrispondere al nome dell'attributo in B.
- Le relazioni a due operandi A e B dovrebbero essere compatibili o compatibili con l'Unione.
- Dovrebbe essere definita una relazione composta dalle tuple che sono nella relazione A, ma non in B.
Esempio
A-B
| colonna 1 | colonna 2 |
|---|---|
| 1 | 2 |
Intersezione
Un'intersezione รจ definita dal simbolo โฉ
LA โฉ B
Definisce una relazione costituita da un insieme di tutte le tuple presenti sia in A che in B. Tuttavia, A e B devono essere compatibili con l'unione.

Esempio:
A โฉ B
| colonna 1 | colonna 2 |
|---|---|
| 1 | 1 |
Prodotto cartesiano(X) nel DBMS
Prodotto cartesiano nei DBMS รจ un'operazione utilizzata per unire colonne da due relazioni. In generale, un prodotto cartesiano non รจ mai un'operazione significativa quando viene eseguito da solo. Tuttavia acquista significato quando รจ seguito da altre operazioni. Viene anche chiamato Cross Product o Cross Join.
Esempio โ Prodotto cartesiano
ฯ colonna 2 = '1' (AXB)
Output: l'esempio precedente mostra tutte le righe della relazione A e B la cui colonna 2 ha valore 1
| colonna 1 | colonna 2 |
|---|---|
| 1 | 1 |
| 1 | 1 |
Forum Operazioni
L'operazione di unione รจ essenzialmente un prodotto cartesiano seguito da un criterio di selezione.
Operazione di unione indicata da โ.
L'operazione JOIN consente anche di unire tuple variamente correlate da relazioni diverse.
Tipi di ISCRIZIONE:
Varie forme di operazione di join sono:
Join interni:
- Partecipazione theta
- Aderisci all'EQUI
- Unione naturale
Unione esterna:
- Join esterno sinistro
- Giunto esterno destro
- Join esterno completo
unione interna
In un inner join vengono incluse solo le tuple che soddisfano i criteri di corrispondenza, mentre le altre vengono escluse. Studiamo vari tipi di inner join:
Theta Partecipa
Il caso generale dell'operazione JOIN รจ chiamato Theta join. ร indicato dal simbolo ฮธ
Esempio
A โฮธ B
Il join theta puรฒ utilizzare qualsiasi condizione nei criteri di selezione.
Per esempio:
A โ A.column 2 > B.column 2 (B)
| colonna 1 | colonna 2 |
|---|---|
| 1 | 2 |
Aderisci all'EQUI
Quando un theta join utilizza solo la condizione di equivalenza, diventa un equi join.
Per esempio:
A โ A.column 2 = B.column 2 (B)
| colonna 1 | colonna 2 |
|---|---|
| 1 | 1 |
L'unione EQUI รจ l'operazione piรน difficile da implementare in modo efficiente utilizzando SQL in un RDBMS e uno dei motivi per cui RDBMS hanno problemi di prestazioni essenziali.
JOIN NATURALE (โ)
L'unione naturale puรฒ essere eseguita solo se esiste un attributo comune (colonna) tra le relazioni. Il nome e il tipo dell'attributo devono essere gli stessi.
Esempio
Considerate le due tabelle seguenti
| In | Quadrata |
|---|---|
| 2 | 4 |
| 3 | 9 |
| In | Cubo |
|---|---|
| 2 | 8 |
| 3 | 27 |
C โ D
| In | Quadrata | Cubo |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 27 |
ESTERNO ORA
In un'unione esterna, insieme alle tuple che soddisfano i criteri di corrispondenza, includiamo anche alcune o tutte le tuple che non soddisfano i criteri.
Unione esterna sinistra(A โ B)
Nel join esterno sinistro, l'operazione consente di mantenere tutta la tupla nella relazione sinistra. Tuttavia, se non viene trovata alcuna tupla corrispondente nella relazione corretta, gli attributi della relazione corretta nel risultato dell'unione vengono riempiti con valori nulli.
Considera le seguenti 2 tabelle
| In | Quadrata |
|---|---|
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| In | Cubo |
|---|---|
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| In | Quadrata | Cubo |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
Giunzione esterna destra ( A โ B )
Nel join esterno destro, l'operazione consente di mantenere tutte le tuple nella giusta relazione. Tuttavia, se non viene trovata alcuna tupla corrispondente nella relazione di sinistra, gli attributi della relazione di sinistra nel risultato del join verranno riempiti con valori nulli.
AB
| In | Cubo | Quadrata |
|---|---|---|
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | - |
Unione esterna completa (A โ B)
In una full external join, tutte le tuple di entrambe le relazioni vengono incluse nel risultato, indipendentemente dalla condizione di corrispondenza.
AB
| In | Cubo | Quadrata |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
| 5 | - | 75 |
Sintesi
| Operazione(Simboli) | Missione |
|---|---|
| Seleziona(ฯ) | L'operazione SELECT viene utilizzata per selezionare un sottoinsieme di tuple in base a una determinata condizione di selezione |
| Proiezione(ฯ) | La proiezione elimina tutti gli attributi della relazione di input tranne quelli menzionati nell'elenco delle proiezioni. |
| Unione Operazione(โช) | L'UNIONE รจ simboleggiata dal simbolo. Include tutte le tuple presenti nelle tabelle A o B. |
| Imposta differenza(-) | โ Il simbolo lo denota. Il risultato di A โ B รจ una relazione che include tutte le tuple che sono in A ma non in B. |
| Intersezione(โฉ) | L'intersezione definisce una relazione costituita da un insieme di tutte le tuple presenti sia in A che in B. |
| Prodotto cartesiano(X) | L'operazione cartesiana รจ utile per unire colonne di due relazioni. |
| unione interna | Join interno, include solo le tuple che soddisfano i criteri di corrispondenza. |
| Unione Theta(ฮธ) | Il caso generale dell'operazione JOIN รจ chiamato Theta join. ร indicato con il simbolo ฮธ. |
| EQUI Partecipa | Quando un theta join utilizza solo la condizione di equivalenza, diventa un equi join. |
| Unione naturale(โ) | L'unione naturale puรฒ essere eseguita solo se esiste un attributo comune (colonna) tra le relazioni. |
| unione esterna | In un join esterno, insieme alle tuple che soddisfano i criteri di corrispondenza. |
| Join esterno sinistro( |
Nel join esterno sinistro, l'operazione consente di mantenere tutta la tupla nella relazione sinistra. |
| Join esterno destro ( |
Nel join esterno destro, l'operazione consente di mantenere tutte le tuple nella giusta relazione. |
| Join esterno completo ( |
In una full external join, tutte le tuple di entrambe le relazioni vengono incluse nel risultato indipendentemente dalla condizione di corrispondenza. |


