martedì 8 gennaio 2008

Progettare un database: le tabelle

Ms Access è prima di tutto un DBMS: Database Management System.
La fase più importante nella progettazione di un'applicazione Ms Access è l'individuazione della struttura delle tabelle in cui memorizzare i dati.
Si devono tenere presenti alcuni passi:
1. Individuazione delle Entità coinvolte. La parola entità deriva dalla teoria da cui sono derivati gli attuali DBMS. Il modello teorico prende infatti il nome di ER-Model: Entity Relationship Model. Le entità corrispondono alle tabelle del database. Si deve creare una tabella per ogni entità individuata nella realtà che si desidera informatizzare. Per esempio se si desidera realizzare un programma per la gestione di un campionato di calcio, le entità da considerare potrebbero essere: Calciatori, Calendario, Squadre, Classifiche. Il numero delle Entità da considerare dipende da quanto complesso e parametrizzabile si vuole rendere il sistema che stiamo progettando. Esiste un meccanismo, chiamato Normalizzazione, che tenendo fermi alcuni concetti fondamentali (come l'evitare la ridondanza dei dati) consente di razionalizzare la struttura del DBMS. Ad ogni entità corrisponderà una Tabella. Ogni elemento appartenente ad una entità corrisponde ad un Record della tabella.

2. Individuazione delle proprietà di ogni entità. Per proprietà si deve intendere una caratteristica dell'entità. Per esempio, nel caso del campionato di calcio il Nome, il Ruolo, Il Cognome potrebbero essere proprietà della entità chiamata calciatori. Ogni proprietà corrisponderà ad un Campo all'interno della tabella relativa all'entità considerata. Ogni campo è caratterizzato da un Tipo (per esempio numerico o testo).

3. Definire per ogni tabella un Indice primario. Un indice primario è un insieme di campi della tabella che identificano UNIVOCAMENTE quel dato elemento. Per esempio nel caso della entità Squadre, il nome della squadra potrebbe essere l'indice primario.

4. Definire le Relazioni tra le tabelle. Le relazioni consentono di garantire la congruità e la consistenza del database oltre ad evidenziare i "legami" tra le entità.

Nessun commento: