logo

Introduzione dell'Algebra Relazionale nei DBMS

Prerequisito: Modello relazionale nei DBMS

L'algebra relazionale è un linguaggio di query procedurale. L'algebra relazionale fornisce principalmente una base teorica per i database relazionali e SQL . Lo scopo principale dell'utilizzo dell'Algebra Relazionale è definire operatori che trasformano una o più relazioni di input in una relazione di output. Dato che questi operatori accettano relazioni come input e producono relazioni come output, possono essere combinati e utilizzati per esprimere query potenzialmente complesse che trasformano potenzialmente molte relazioni di input (i cui dati sono archiviati nel database) in un'unica relazione di output (i risultati della query). . Poiché si tratta di matematica pura, nell'algebra relazionale non vengono utilizzate parole chiave inglesi e gli operatori sono rappresentati utilizzando simboli.



Operatori fondamentali

Questi sono gli operatori di base/fondamentali utilizzati nell'algebra relazionale.

  1. Selezione(σ)
  2. Proiezione(π)
  3. Unione (U)
  4. Imposta differenza(-)
  5. Imposta intersezione(∩)
  6. Rinomina(ρ)
  7. Prodotto cartesiano(X)

1. Selezione(σ): Viene utilizzato per selezionare le tuple richieste delle relazioni.

Esempio:



UN B C
1 2 4
2 2 3
3 2 3
4 3 4

Per la relazione di cui sopra, σ(c>3)R selezionerà le tuple che hanno c più di 3.

UN B C
1 2 4
4 3 4

Nota: L'operatore di selezione seleziona solo le tuple richieste ma non le visualizza. Per la visualizzazione viene utilizzato l'operatore di proiezione dati.

2. Proiezione(π): Viene utilizzato per proiettare i dati della colonna richiesta da una relazione.



puntatore in c

Esempio: Considera la tabella 1. Supponiamo di volere le colonne B e C dalla relazione R.

π(B,C)R will show following columns.>
B C
2 4
2 3
3 4

Nota: Per impostazione predefinita, la proiezione rimuove i dati duplicati.

3. Unione (U): L'operazione di unione nell'algebra relazionale è la stessa dell'operazione di unione nella teoria degli insiemi.

Esempio:

FRANCESE

Nome dello studente Numero del rullino
Ram 01
Mohan 02
Vivek 13
Geeta 17

TEDESCO

Nome dello studente Numero del rullino
Vivek 13
Geeta 17
Shyam ventuno
Rohan 25

Considera la seguente tabella degli studenti che hanno diverse materie opzionali nel loro corso.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Nome dello studente
Ram
Mohan
Vivek
Geeta
Shyam
Rohan

Nota: L'unico vincolo nell'unione di due relazioni è che entrambe le relazioni debbano avere lo stesso insieme di Attributi.

4. Imposta differenza (-): La differenza di insiemi nell'algebra relazionale è la stessa operazione di differenza di insiemi della teoria degli insiemi.

Esempio: Dalla tabella precedente di FRANCESE e TEDESCO, la differenza impostata viene utilizzata come segue

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Nome dello studente
Ram
Mohan

Nota: L'unico vincolo nell'Insieme Differenza tra due relazioni è che entrambe le relazioni devono avere lo stesso insieme di Attributi.

5. Imposta Intersezione (∩): L'intersezione degli insiemi nell'algebra relazionale è la stessa operazione di intersezione degli insiemi nella teoria degli insiemi.

Esempio: Dalla tabella sopra di FRANCESE e TEDESCO, l'intersezione dell'insieme viene utilizzata come segue

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Nome dello studente
Vivek
Geeta

Nota: L'unico vincolo nell'Insieme Differenza tra due relazioni è che entrambe le relazioni devono avere lo stesso insieme di Attributi.

6. Rinomina(ρ): La rinomina è un'operazione unaria utilizzata per rinominare gli attributi di una relazione.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Prodotto incrociato(X): Prodotto incrociato tra due relazioni. Diciamo A e B, quindi il prodotto incrociato tra A X B risulterà in tutti gli attributi di A seguiti da ciascun attributo di B. Ogni record di A si accoppierà con ogni record di B.

Esempio:

android.process.acore continua a fermarsi

UN

Nome Età Sesso
Ram 14 M
all'estremità quindici F
Kim venti M

B

ID Corso
1 DS
2 DBMS

AXB

Nome Età Sesso ID Corso
Ram 14 M 1 DS
Ram 14 M 2 DBMS
all'estremità quindici F 1 DS
all'estremità quindici F 2 DBMS
Kim venti M 1 DS
Kim venti M 2 DBMS

Nota: Se A ha tuple 'n' e B ha tuple 'm', allora A X B avrà tuple 'n*m'.

Operatori derivati

Questi sono alcuni degli operatori derivati, che derivano dagli operatori fondamentali.

  1. Unione naturale(⋈)
  2. Unione condizionale

1. Unione naturale(⋈): Il join naturale è un operatore binario. L'unione naturale tra due o più relazioni risulterà in un insieme di tutte le combinazioni di tuple in cui hanno un attributo comune uguale.

Esempio:

EMP

Nome ID Nome_dip
UN 120 ESSO
B 125 risorse umane
C 110 Saldi
D 111 ESSO

DIPARTIMENTO

Nome_dip Manager
Saldi E
Produzione CON
ESSO UN

Unione naturale tra EMP e DEPT con condizione:

EMP.Nome_Dipartimento = DEPT.Nome_Dipartimento

EMP ⋈ DIPARTIMENTO

Nome ID Nome_dip Manager
UN 120 ESSO UN
C 110 Saldi E
D 111 ESSO UN

2. Unione condizionale: L'unione condizionale funziona in modo simile all'unione naturale. Nell'unione naturale, per impostazione predefinita la condizione è uguale tra gli attributi comuni mentre nell'unione condizionale possiamo specificare qualsiasi condizione come maggiore di, minore di o non uguale.

alternativa a xampp

Esempio:

R

ID Sesso Segni
1 F Quattro cinque
2 F 55
3 F 60

S

ID Sesso Segni
10 M venti
undici M 22
12 M 59

Unisci tra R e S con condizione R.marchi>= S.marchi

SBARAZZARSI R.Sesso R.Marchi S.ID S.Sesso S.Marchi
1 F Quattro cinque 10 M venti
1 F Quattro cinque undici M 22
2 F 55 10 M venti
2 F 55 undici M 22
3 F 60 10 M venti
3 F 60 undici M 22
3 F 60 12 M 59

Calcolo relazionale

Poiché l'algebra relazionale è un linguaggio di interrogazione procedurale, il calcolo relazionale è un linguaggio di interrogazione non procedurale. Fondamentalmente si occupa dei risultati finali. Mi dice sempre cosa fare ma non mi dice mai come farlo.

Esistono due tipi di calcolo relazionale

  1. Calcolo relazionale delle tuple (TRC)
  2. Calcolo relazionale del dominio (DRC)

Articoli di approfondimento:
Operatori di base in algebra relazionale
Operatori di algebra relazionale estesa