DATABASE
la progettazione di un database
Progettare un database non significa scrivere subito codice, ma seguire delle fasi principali per evitare errori e ridondanze:
- analisi del problema;
- progettazione concettuale del database (modello E-R);
- progettazione logica del database (schema logico);
- progettazione fisica e implementazione;
- realizzazione delle applicazioni.
La modellazione dei dati consiste nella progettazione delle tabelle del database, mentre la modellazione funzionale, consiste nell’implementazione delle tabelle e nella creazione delle funzioni che accedono ai dati.
Per definire il dominio di un attributo (colonna) bisogna specificare:
- tipo di dato: intero, decimale, carattere, data, ora, logico, ecc;
-lunghezza: il numero di cifre o caratteri (es. 5 cifre, 40 caratteri);
- intervallo: i limiti (minimo e massimo) che i valori possono assumere.
Esempio: se avessimo due domini così composti:
Nazioni = {Italia, Francia}
Città = {Roma, Londra, Parigi}
E se la relazione che vogliamo descrivere è quella delle capitali delle nazioni, è evidente che le tuple saranno 2, cioè:
<Italia, Roma> e <Francia, Parigi>
proprietà della relazione tabella
Una tabella rappresenta una relazione se:
- le intestazioni delle colonne, o nome degli attributi, sono diverse tra loro;
- i valori di ciascuna colonna sono fra loro omogenei, appartengono allo stesso dominio;
-le righe sono diverse fra loro, quindi ogni riga è univoca;
-l’ordinamento delle righe è irrilevante;
- l’ordinamento delle colonne è irrilevante (rappresentazione non posizionale), due tabelle con le stesse colonne e righe, ma con le colonne in ordine diverso, sono considerate identiche.
Una relazione non è l’intero prodotto cartesiano dei suoi domini, ma un suo sottoinsieme le cui tuple (righe) rispettano specifiche condizioni di esistenza.
definizioni delle chiavi