Differenza tra progettazione concettuale, logica e fisica di un database

Differenza tra progettazione concettuale, logica e fisica di un database

La progettazione di un database è generalmente articolata in tre fasi:

  1. Progettazione concettuale. Traduce le problematiche reali in uno schema concettuale facile da capire, senza occuparsi di come sarà costruito il database. Il modello Entità-Relazione (ER) è solitamento usato durante questo tipo di progettazione per definire gli aspetti statici del sistema, cioè i dati. Esso è un modello diagrammatico che descrive le entità da modellare, le relazioni che intercorrono tra di esse e le cardinalità delle relazioni.
  2. Progettazione logica. Obiettivo della fase di progettazione logica è pervenire, a partire dallo schema concettuale, a uno schema logico che lo rappresenti in modo fedele, “efficiente” e indipendente dal particolare DBMS (Data Base Management System) adottato. A tal fine questa fase di progettazione può essere suddivisa in 2 passi:
    1. Ristrutturazione dello schema Entità-Relazione: è una fase indipendente dal modello logico e si basa su criteri di ottimizzazione dello schema;
    2. Traduzione verso il modello logico: fa riferimento ad uno specifico modello logico, nel nostro caso quello relazionale.
  3. Progettazione fisica. Traduce lo schema logico in termini di tabelle e relazioni che andranno a costituire la struttura fisica vera e propria del database. Quest’ultima fase sarà presa in considerazione in questa tesi in modo marginale.

Differenza tra progettazione concettuale, logica e fisica di un database

Progettazione concettuale

Progettare concettualmente una base di dati significa individuare gli oggetti (o entità) che la costituiscono e le relazioni (operazioni o associazioni) tra un oggetto e l’altro. Si tratta del livello più alto della progettazione di un database, quello più vicino all’uomo e più lontano dalla macchina (hardware). Deve quindi essere realizzata con strumenti e linguaggi comprensibili a tutti, non solo agli specialisti, e indipendenti dal sistema di database. Lo schema concettuale infine riporta le entità del nostro sistema con le relative dipendenze o associazioni tra le corrispondenti entità.

Progettazione logica

Come per il modello ad oggetti, anche per il modello logico o relazionale è possibile definire un formalismo grafico in cui si presentano solo gli schemi di relazione e le loro associazioni, o più precisamente le chiavi esterne. Esso si realizza mediante una trasformazione delle classi e delle loro associazioni.

Progettazione fisica

L’ultima fase della progettazione di un Database è la progettazione fisica. Prima di iniziare il progetto occorre scegliere un DBMS (Data Base Management System) su cui si implementerà il modello dei dati dello schema logico. La progettazione fisica consiste nelle seguenti attività:

  1. scelta delle strutture di memorizzazione delle tabelle e delle strutture ausiliarie di accesso ai dati (indici). Queste ultime servono per rendere più efficiente l’accesso ai dati contenuti in tabelle usate di frequente. Le strutture di memorizzazione e di accesso sono valutate tra quelle messe a disposizione dal DBMS scelto;
  2. traduzione dello schema logico dei dati in uno schema fisico dei dati contenente le definizioni delle tabelle, dei relativi vincoli di integrità e delle viste espresse in SQL.

Terminata questa fase il Database è stato completamente progettato e si passa quindi alla sua realizzazione, cioè alla costruzione fisica delle tabelle e all’implementazione delle applicazioni che sfrutteranno la base di dati. Le applicazioni sono scritte in linguaggi di programmazione ad alto livello e possono riutilizzare il codice SQL scritto precedentemente. La fase di realizzazione è spesso seguita da una fase di ottimizzazione, in cui le prestazioni del DBMS sulla specifica base di dati, vengono valutate; sono invece possibili cambiamenti dei parametri decisi durante la progettazione fisica (ad esempio, l’aggiunta di un nuovo indice).

Precedente Che cosa è, vantaggi e architettura applicazione web-based Successivo Difference between conceptual, logical and physical design of a database

Lascia un commento