La progettazione del database implica l’identificazione delle relazioni esistenti tra parti separate di dati e la mappatura di tali relazioni in un modo organizzato che abbia senso. Esistono diversi tipi di progettazione di database: progettazione di database concettuale, progettazione di database logici e progettazione di database fisici. La progettazione logica e fisica del database è forse la più semplice. La progettazione concettuale del database è un po’ più ambigua perché durante questa fase non c’è lavoro diretto su un modello di database. Il processo è esclusivamente un esercizio di identificazione dei dati rilevanti.
Due cose principali che vengono identificate nella progettazione di database concettuali sono le entità e le relazioni: le entità sono oggetti reali nel mondo materiale e le relazioni sono la rete di connessioni che collega un’entità a un’altra indefinitamente. Da qui nasce la nozione centrale di questo tipo di design: il modello entità-relazione. Questo non presenta l’organizzazione e la struttura generali che saranno inerenti alla progettazione del database logico; è, tuttavia, un precursore di esso.
Le cardinalità di relazione sono una parte essenziale del modello di relazione tra entità utilizzato nella progettazione concettuale di database. Le cardinalità esprimono la frequenza con cui un’entità sperimenta una particolare relazione con un’altra entità. Nel modello attuale questi sono indicati dai punti in cui un’entità sul diagramma si dirama per collegarsi con entità singole o multiple. Nel modello sono rappresentati anche vari “attributi” come nomi, qualità e quantità associati alle entità e alle relazioni.
Le considerazioni finali nello sviluppo di un modello di relazione tra entità per la progettazione concettuale di database includono l’assegnazione di ciascun attributo osservato a un particolare dominio e il doppio controllo per garantire che tutto nel modello abbia senso. Controllare tutto implica trovare e filtrare tutti i dati ripetuti, assicurarsi che tutti gli attributi siano associati alle entità e alle relazioni corrette e confermare che tutte le associazioni nel diagramma siano logiche. Se le connessioni non sono logiche in un contesto del mondo reale, devono essere logiche almeno a livello astratto.
La progettazione logica del database segue la fase concettuale. Il processo conferisce ordine e coerenza a quelle relazioni precedentemente mappate e le organizza in modo tale che possano essere effettivamente utilizzate per la progettazione di database fisici. Il completamento delle attività nella progettazione di database fisici si traduce in un database funzionale e ben strutturato alla luce del lavoro svolto nella progettazione concettuale del database e nella progettazione logica del database.