Categories: Database

Linguaggi per Manipolare Database

Un linguaggio per la manipolazione dei dati consente di inserire, modificare ed eliminare i record all’interno di un database. Il linguaggio più utilizzato è SQL, che con qualche dialetto viene supportato da praticamente tutti i DBMS ( DataBase Management System ). Il linguaggio SQL non è stato creato dal nulla, ma fonda le sue basi sull’algebra relazionale che si basa sulla teoria relazionale dei dati che abbiamo visto in uno scorso articolo.
Il concetto fondamentale per capire una relazione è vedere un insieme di celle divise per righe e colonne, proprio come un foglio elettronico. L’algebra relazionale non è altro che un insieme di regole, così come l’algebra numerica per i numeri, per indicare come operare sulle relazioni. Tutti i complessi algoritmi dei DBMS tramite il linguaggio SQL sono basati su queste tre semplici operazioni:

  • L’unione di due relazioni composte da un ugual numero di colonne, quindi con stesso grado o cardinalità, è data dall’insieme di righe che appartengono ad una oppure all’altra relazione.
  • L’intersezione di due relazioni di uguale cardinalità è data dall’insieme di righe identiche in entrambe le relazioni.
  • La differenza tra due relazioni della stessa cardinalità è l’insieme di righe che appartengono ad una relazione e non all’altra.

Operazioni di base sulle relazioni

Come si nota queste operazioni prendono in input un insieme di relazioni e restituiscono una relazione risultante, questa caratteristica viene ereditata nel linguaggio SQL con il quale è possibile operare su tabelle e viste, ma non sul singolo valore contenuto in una cella.
Il prodotto cartesiano è un’operazione più complicata. Date due relazioni A e B di grado rispettivamente n ed m, il prodotto cartesiano è la relazione di grado n+m costituita da tutte le possibili combinazioni delle righe presenti in A ed in B. Ad esempio il prodotto cartesiano di queste due relazioni:

Rossi, Arezzo
Bianchi, Milano

Arezzo, AR
Milano, MI

è

Rossi, Arezzo, Arezzo, AR
Bianchi, Milano, Arezzo, AR
Rossi, Arezzo, Milano, MI
Bianchi, Milano, Milano, MI

Le operazioni di proiezione e selezione consentono di tagliare a fette una relazione per considerarne solo alcuni aspetti. La proiezione consente di eliminare alcune colonne dalla relazione originale, mentre la selezione consente di considerare solo alcune righe in base ad una condizione. Se dall’esempio precedente operiamo una proiezione sulla prima e quarta colonna otterremo:

Rossi, Arezzo
Bianchi, Arezzo
Rossi, Milano
Bianchi, Milano

Operando quindi una selezione sul risultato della proiezione, scegliendo solo il valore della seconda colonna uguale a “Milano” otterremo:

Rossi, Milano
Bianchi, Milano

L’operazione di join tra due tabelle è molto simile al prodotto cartesiano, la differenza risiede nel fatto che in questo caso dobbiamo considerare solo le righe che hanno due colonne uguali derivate dalle relazioni originarie, quindi il nostro prodotto cartesiano diventerebbe in join:

Rossi, Arezzo, Arezzo, AR
Bianchi, Milano, Milano, MI

Questo tipo di join è detto naturale, ma ci sono anche altri tipi di join differenti che si basano su condizioni diverse o confronti di colonne diverse. Lo scopo del join è sempre comunque quello di fondere due relazioni restituendo come risultato una relazione che abbia un particolare legame tra le loro colonne.
Come visto in questo articolo, l’algebra relazionale, di cui ho fatto solo una piccola introduzione, è quindi la base sulla quale si è formato un linguaggio complesso come SQL, per questo ha avuto un grande successo nei DBMS relazionali.

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago