DATA BASE RELAZIONALE

Data base in italiano viene tradotto come "base di dati" e con questo termine i tecnici intendono una raccolta completa ed esauriente di dati. Per definizione il data base deve essere in grado di servire tutte le applicazioni che oggi sussistono nell'azienda o nell'istituzione cui esso appartiene. Domani questo archivio servirà programmi software adesso imprevedibili e dunque esso è necessariamente modificabile, da qui il nome base ovvero base di partenza che in seguito evolverà. Le parole inglesi "data" e "base" che definiscono questo speciale archivio sono dunque piene di significato.


L'aggettivo
relazionale, invece, fu aggiunto per distinguere questo da altri tipi di data base che negli anni settanta erano venuti alla luce e che poi hanno perso terreno. Infatti il data base relazionale è il data base per eccellenza: l'unica e vera raccolta di dati rispondente ai bisogni di:

  1. completezza informativa

  2. servizio per logiche qualsiasi.

Qui ci dedicheremo ad illustrare la prima caratteristica. La seconda la rinviamo ad una successiva occasione.

Di solito un data base si riferisce ad un preciso settore. Ad esempio in azienda c'è il Data Base del Personale, il Data Base della Produzione, quello dei Progetti che raccolgono tutte le conoscenze relative ai tre distinti settori imprenditoriali. Nella scuola c'è il Data Base Scolastico che raccoglie le informazioni degli insegnanti, degli studenti, delle classi, degli esami ecc.

I dati sono ordinatamente raccolti entro tabelle ognuna delle quali è dedicata ad un preciso argomento ad esempio nella scuola ci sono le tabelle: Insegnanti, Classi, Studenti. Il Data Base Commerciale contiene Clienti, Prodotti, Ordini, Fornitori. Le colonne di ogni tabella raccolgono dati semplici come il Nome del cliente, dati complessi come l'Indirizzo del cliente, e perfino immagini, suoni e filmati. Ad esempio Clienti può contenere la foto del cliente ed in Prodotti c'è lo spot che promuove il prodotto. Grazie a questa flessibilità la tabella è esauriente rispetto al tema cui è dedicata.

Tutte le tabelle insieme danno l'intera conoscenza del settore cui la raccolta si riferisce e che viene illustrata con il seguente esempio. 

 

p42.jpg (61485 byte)

 

Figura 1

Il grafo riporta le tabelle come rettangoli e le relazioni con i rombi. Questi assicurano la connessione delle conoscenze infatti una relazione aggancia una tabella all'altra. In Figura 1, ad esempio, le relazioni permettono di risalire dal cliente ai suoi ordini, dagli ordini ai prodotti acquistati, quindi ai fornitori che li hanno costruiti. Si può anche raccogliere informazioni nella direzione opposta, ad esempio fissato il fornitore si trovano tutti i clienti serviti con i suoi prodotti.

Per capire come il data base funziona si deve spiegare in dettaglio come sono fatte le relazioni le quali vengono realizzate con modalità diverse.  

Le tabelle che abbiamo visto finora sono note come tabelle-dati. Ciascuna ha una chiave, cioè uno speciale attributo che è capace di identificare tutta la riga della tabella, cioè tutti gli altri attributi.

Tabella

CHIAVE

ATTRIBUTO-A

ATTRIBUTO-B

ATTRIBUTO-C

ATTRIBUTO-D

ECC.
           
           
           

Ad esempio il CodiceCliente è la chiave che identifica ogni cliente e cioè ogni riga della tabella Clienti. Ogni ordine commerciale è contraddistinto da un suo proprio numero e di conseguenza Numero-Ordine è la chiave della tabella Ordini. Le chiavi sono scritte in rosa negli esempi che seguono.

I metodi principali per agganciare le tabelle-dati e cioè per realizzare le relazioni (= rombi della figura) sono tre.

1) - Il metodo più usuale e semplice consiste nel ripetere la chiave di una tabella nell'altra. Ad esempio ogni riga di Ordini riporta il Codice del Cliente che ha fatto l'ordine. Una volta individuato l'ordine 5431, siamo in grado di risalire a ritroso al cliente che l'ha effettuato il quale ha codice A31 e nome Rossi. Un cliente può effettuare due o più ordini ma, dato un ordine, esso riguarda un solo cliente.

Clienti  

CodiceCliente Nome Indirizzo Partita-Iva Sconto
A31 Rossi      
A32 Bianchi      

Ordini  

Numero-Ordine Data Totale CodiceCliente
5431     A31
2845     A32

                                                              

Il Codice del Cliente è chiamato chiave interna di Clienti e chiave esterna di Ordini.

 

 

2) -  Ora supponiamo che un ordine possa provenire da due o più clienti. La tecnica precedente non è più praticabile. Allora si crea una tabella apposta per agganciare le altre due. Ad esempio, il rombo Effettuano di Figura 1 si materializza con una apposita tabella specializzata per agganciare Clienti da una parte ed Ordini dall'altra. Facciamo il caso che l'ordine 3245 sia stato fatto da Rossi e Bianchi, il 6789 da Bianchi e Neri. Le informazioni si agganciano grazie alla terza tabella.

Clienti  

CodiceCliente Nome Indirizzo Partita-Iva Sconto
A31 Rossi      
A32 Bianchi      
A33 Neri      

Ordini  

Numero-Ordine Data Totale
3245    
6789    

Effettuano 

CodiceCliente Numero-Ordine
3245 A31
3245 A32
6789 A31
6789 A33

                                                  

La tabella Effettuano è chiamata tabella-relazione a causa della funzione che esegue.

 

3) -  Infine due tabelle possono essere agganciate da una speciale tabella-dati. Lo spieghiamo con un esempio. Supponiamo che nel Data Base Scolastico ci siano Classi, Docenti e Incarichi.

p43.jpg (39268 byte)

 

Figura 2

 

Le tre tabelle sono così fatte:

Docenti  

CodDocente Nome Indirizzo
78 Esposito  
79 Brambilla  
80 Ferrari  

Classi  

CodClasse Ubicazione
1A piano 1
1B piano 3
2A piano 3
3A piano 3

Incarichi 

CodDocente CodClasse Materia
78 1A Italiano
78 2A Italiano
79 1A Matematica
79 2A Matematica
79 3A Matematica
80 1A Disegno

 

La tabella Incarichi ha una speciale virtù: ha la chiave doppia cioè è formata dalla coppia CodDocente e CodClasse. Per questo motivo è in grado di agganciare automaticamente sia i dati dei Docenti sia delle Classi. Essa è contemporaneamente una tabella-dati ed una tabella-relazione in quanto svolge da sola il lavoro dei rombi "Sono Assegnati" e "Relativi" riportati in Figura 2. Grazie a Incarichi non è necessario preparare apposite correlazioni. Tutto lo schema di Figura 2 è realizzato mediante Docenti, Classi ed Incarichi.

In conclusione il data base è composto da:

Tabelle-dati : ad esempio Clienti, Docenti.
Tabelle-relazione : ad esempio Effettuano.
Tabelle-dati-relazione : ad esempio Incarichi.

Purtroppo molti si fermano alle prime, altri enfatizzano le seconde, altri non conoscono le ultime e ne viene fuori un pò di confusione.

 

Il data base relazionale, istallato sul disco fisso, non può esser letto direttamente né dall'uomo né da parte di programmi qualsiasi, ma viene gestito da un programma speciale, il Data Base Manager System (DBMS), attraverso il quale passano tutte le richieste per leggere, modificare, aggiungere e cancellare i dati.
Il DBMS viene fornito di una lista di autorizzazioni perché l'accesso al data base è ristretto ad un numero preciso di utenti e di programmi. Mediante tale lista il DBMS seleziona chi può leggere, chi può cancellare, chi può anche scrivere ecc. Queste funzioni dimostrano con evidenza che il DBMS non è un'"interfaccia" ma un pacchetto software che gode di una superiorità gerarchica cioè è simile ai Job Manager, Task Manager ecc che formano il Sistema Operativo. Si ripetono per il DBMS le considerazioni che abbiamo presentato nella risposta 46, esso infatti è anche presente nello schema che raffigura la struttura interna del sistema operativo.


  Indietro

 

anno 2002





=