Fasi di progettazione di un database

La progettazione di una base di dati per un sistema informatico è un processo particolarmente complesso. Per affrontarlo al meglio si
suddivide solitamente tale processo in diverse fasi, che sono in relazione tra loro. 

Per la progettazione dei database si
fa generalmente riferimento alle seguenti 4 fasi:

  1. Analisi e definizione dei requisiti
  2. Progettazione concettuale
  3. Progettazione logica
  4. Progettazione fisica

Analisi e definizione dei requisiti

La fase di analisi e definizione dei requisiti richiede innanzitutto
di effettuare un’indagine preliminare in cui si raccolgono le richieste
degli utenti: si analizza la situazione di partenza ed infine si producono indicazioni su come modellare la realtà di riferimento. In
base alle osservazione e alle valutazioni si effettua poi una definizione maggiormente dettagliata, che può indicare ad esempio i vari tipi di
utenti coinvolti nel sistema, le condizioni che devono essere rispettate affinché i dati siano significativi e validi (vincoli di integrità), etc.

Progettazione concettuale

La progettazione concettuale ha come compito quello di prendere in input le specifiche informali della realtà di riferimento, per produrre una descrizione formale e completa che sia però indipendente
dalla rappresentazione utilizzata nel DBMS. In altre parole la progettazione concettuale vuole rappresentare il contenuto informativo
della base di dati senza preoccuparsi dell’effettiva implementazione. L'output di questa fase è il cosiddetto schema concettuale o diagramma E/R.

Progettazione logica 

La progettazione logica prende come input lo schema concettuale prodotto nella fase precedente e lo traduce in uno schema logico che
fa riferimento alla “famiglia” di database utilizzato. La progettazione logica dipende dunque dal modello di rappresentazione
dei dati che si utilizza. Solitamente si fa riferimento al modello logico relazionale ma è bene
sapere che esistono anche altri modelli, più o meno utilizzati. Fra questi possiamo citare il modello reticolare, il modello a oggetti, il
modello XML, il modello NoSQL.

Progettazione fisica

La progettazione fisica prende come input lo schema logico definito nella fase della progettazione logica e lo completa con la specifica dei parametri
di memorizzazione dei dati, che riguardano principalmente l’organizzazione dei file e degli indici. Il modello fisico dipende fortemente
dal DBMS utilizzato ma può essere diverso anche all’interno di DBMS della stessa famiglia.