Introduzione ai database relazionali by
neoQuesta lezione ci porterà a scoprire un notevole strumento
di memorizzazione:il database relazionale
Un datatabase è un oggetto capace di memorizzare informazioni in
vari formati, la cosa che lo distingue da un file di testo (che
di fatto è anch'egli un rudimentale database), è la capacità di
stabilire relazioni al suo interno. Questo spiega il nome.
Cosa sono le relazioni? Una relazione è un collegamento tra due
tabelle (che è l'oggetto fondamentale di memorizzazione del database)
che avviene tra due colonne dove ci sono dati simili.
Ad esempio abbiamo una tabella clienti cosi fatta:
| ID |
Nome |
Cognome |
Indirizzo |
| 1 |
Pippo |
Pappo |
Via Arno 18 - Firenze |
| 2 |
Mario |
Bianchi |
Piazza grande 20 - Bologna |
Volendo memorizzare dei dati relativi ai nominativi contenuti in
questa tabella in una tabella ordini(ad esempio) ci sono due strade.
La prima è quella di duplicare i dati relativi ai nominativi, ma
se i dati utente sono tanti (la tabella sopra è banalmente semplice),
la cosa diventa problematica e sopratutto si spreca spazio su disco.
La seconda strada è quella di stabilire una
relazione tra
la tabella clienti e quella ordini.
Ciò viene fatto attraverso la colonna ID che serve a caratterizzare
un record una volta per tutte. Infatti database minori come MS Access,
ogni volta che si crea una nuova tabella chiede sempre se si vuole
impostare una chiave primaria. La chiave primaria è un vincolo che
si impone su di un determinato campo e significa "non voglio
avere valori uguali in questo campo". Impostando quindi il
campo ID
nella tabella clienti come chiave primaria, e dandogli
il valore di contatore (Access ha un tipo di dato che svolge tale
compito, mentre altri database hanno metodi differenti per fare
ciò), in modo che ad ogni inserimento venga creato un nuovo valore
di ID si ottiene il risultato di avere un identificatore di record.
A questo punto creiamo la nostra tabella ordini.
| ID |
Ordine
|
Articolo |
DataSpedizione |
| 1 |
1 |
Panno da cucina |
02/01/2005 |
| 1 |
2 |
Caffettiera |
02/01/2005 |
| 2 |
3 |
Bicchieri |
02/01/2004 |
Come potrete notare il campo ID qui
non è chiave primaria
bensì lo è il campo
ordine questo perché ID può essere duplicato
(da un cliente possono arrivare più ordini), mentre ORDINE serve
a caratterizzare un determinato ordine.
Per associare gli ordini ai clienti si procede con quella che in
access viene chiamata
query e in SQL server viene chiamata
vista
Si effettua una
join tra le due tabelle in modo da avere
le informazioni legate in modo logico dalla relazione.
Leggi commentiNumero commenti inviati: 0