UN'ALGEBRA  UN  PO'  SPECIALE

 

Con il termine Algebra Relazionale si intende un ramo della logica del primo ordine e della teoria degli insiemi. Tale formalismo astratto prevede l'uso di una serie di operatori relazionali che si dividono in semplici e complessi. Tra i primi ci sono:

gli operatori di insiemi
gli operatori di proiezione
gli operatori di selezione
gli operatori di ridenominazione.

Più importanti per chi lavora sono gli operatori complessi – derivati dai precedenti operatori di base i quali sono utilizzati per manipolare un data base. Ricordiamo tra i principali:

1 - l'operatore di selezione
2 - l'operatore di proiezione
3 - l'operatore di join
4 - l'operatore di unione
5 - l'operatore di intersezione.

Tralasciamo gli altri e restringiamo il discorso a questi di cui diamo un breve commento.

1 - La selezione si applica ad una tabella da cui si prende un sottinsieme di righe. Ad esempio dalla tabella Corsi l'operatore seleziona i corsi che durano 5 settimane

Corsi

Codice

Titolo 

Settimane

CS15

Pascal

4

CS16

Linux

5

CS35

Reti

6

CS47

DataBase

5

CS53

HTML

3


Corsi di 5 settimane

Codice

Titolo 

Settimane

CS16

Linux

5

CS47

DataBase

5

 

 

 

2 - Con la proiezione si ottiene una tabella con un numero ridotto di colonne rispetto all'originale. Ad esempio dalla tabella Corsi si ottiene la lista dei titoli senza alcuna altro dato.

Corsi

Codice

Titolo 

Settimane

CS15

Pascal

4

CS16

Linux

5

CS35

Reti

6

CS47

DataBase

5

CS53

HTML

3


Lista dei Titoli

Codice

Titolo 

CS15

Pascal

CS16

Linux

CS35

Reti

CS47

DataBase

CS53

HTML

 

3 - L'operazione di join prende le righe comuni a due (o più) tabelle e costruisce una nuova tabella le cui righe sono complete. Ad esempio con Corsi ed Insegnanti otteniamo i Corsi Completi con l'indicazione dell'insegnante

Corsi

Codice

Titolo 

Settimane

CS15

Pascal

4

CS16

Linux

5

CS53

HTML

3


Insegnanti

Codice

Nome 

CS15

Nino Rossi

CS16

Ugo Neri

CS53

Vera Boldi


Corsi Completi

Codice

Titolo 

Nome 

Settimane

CS15

Pascal

Nino Rossi

4

CS16

Linux

Ugo Neri

5

CS53

HTML

Vera Boldi

3

4 - L'unione prende tabelle che hanno lo stesso tipo di riga e genera una tabella che ha i dati delle due tabelle. Ad esempio Corsi-A e Corsi-B sono i corsi delle sezioni A e B, l'unione fornisce la lista di tutti i corsi, comuni e non comuni

Corsi-A

Codice

Titolo 

Settimane

CS15

Pascal

4

CS16

Linux

5

CS53

HTML

3

Corsi-B

Codice

Titolo 

Settimane

CS15

Pascal

4

CS35

Reti

6

CS47

DataBase

5


Corsi-Totali

Codice

Titolo 

Settimane

CS15

Pascal

4

CS16

Linux

5

CS53

HTML

3

CS35

Reti

6

CS47

DataBase

5

 

5 - Mentre l'unione riporta gli elementi comuni e non comuni, l'operatore di intersezione riporta soltanto i dati comuni alle due tabelle per cui ad esempio da Corsi-A e Corsi-B l'intersezione genera il seguente risultato


Corsi-Comuni

Codice

Titolo 

Settimane

CS15

Pascal

4

 


Di fatto questi operatori vengono eseguiti mediante comandi del linguaggio SQL di cui abbiamo già parlato (vedi risposta 137).

* * *

L'importanza degli operatori relazionali va al di là della pura comodità. La manipolazione porta alla creazione di nuove tabelle che danno l'evoluzione del data base stesso. Nei fatti succede che si parte con un data base che ha un certo numero di tabelle e nel tempo se ne aggiungono altre con significati anche molto originali. Si comincia con una versione del data base, poi ne viene fuori un'altra e poi un'altra ancora. Questo dimostra come il data base sia davvero una "base" cioè un punto di partenza e non un archivio definitivo e rigido. Grazie alla manipolazione il data base si evolve e si rende capace di rispondere a bisogni sempre nuovi che erano imprevisti ed imprevedibili al momento della sua istituzione.


Ricordo che un data base ha due caratteristiche fondamentali:

1. completezza informativa
2. servizio per logiche qualsiasi.

Le quali sono elencate nella parte iniziale di: 'DATA BASE RELAZIONALE'. In quella pagina la prima caratteristica veniva subito commentata mentre la seconda veniva lasciata in sospeso in attesa di una opportuna occasione che ora è venuta. Infatti il data base si evolve per rispondere a logiche di tipo qualsiasi che emergono nel tempo. Nuove logiche vuol dire, ad esempio, nuovi programmi. Vuol dire anche che un programma di inquiry è fisicamente lo stesso ma ogni volta segue una indagine diversa dunque ogni volta presenta una nuova logica.

La caratteristica 2. fa la differenza tra i due principali sistemi di archiviazione: il data base ed il file. Questo ultimo infatti serve un programma soltanto oppure un numero ristretto di programmi, cioè non è al servizio di logiche qualsiasi ma è al servizio di logiche alquanto precise e limitate (vedi anche risposta 131)


  Indietro

anno 2008





=