Prima di discutere la differenza tra modello di dati logici e fisici, dobbiamo sapere che cos'è un modello di dati. Un modello di dati è una rappresentazione che descrive i dati e le relazioni tra loro per un determinato processo. Un modello di dati è un componente essenziale utilizzato durante la progettazione del database. Il modello dei dati logici è una visione molto astratta e di alto livello dei dati in cui sono identificate entità, relazioni e chiavi. È indipendente dal sistema di gestione del database (DBMS). Un modello di dati fisici deriva dal modello di dati logici in cui mostra come le tabelle e le colonne sono strutturate nel vero database fisico. Il modello dei dati fisici dipende quindi dal sistema di gestione del database utilizzato.
Un modello di dati logici descrive i dati e le relazioni in dettaglio ad un livello molto alto. Questo non include il modo in cui i dati sono rappresentati fisicamente nel database, ma descrive a un livello molto astratto. Include fondamentalmente le entità e le relazioni tra di loro insieme agli attributi di ciascuna entità.
Il modello di dati logici include le chiavi primarie di ogni entità e anche le chiavi esterne. Quando si crea un modello di dati logici, le prime entità e le loro relazioni vengono identificate con le chiavi. Quindi vengono identificati gli attributi di ciascuna entità. Dopo che molte e molte relazioni sono state risolte e la normalizzazione è stata fatta. Un modello di dati logici è indipendente dal sistema di gestione del database in quanto non descrive la struttura fisica del database reale. Quando si progetta un modello di dati logici, è possibile utilizzare nomi lunghi non formali per entità e attributi.
Un modello di dati fisici descrive come i dati sono realmente presenti nel database. Include le specifiche di tutte le tabelle e le colonne al loro interno. Le specifiche della tabella includono dettagli come il nome della tabella, il numero di colonne e le specifiche della colonna includono il nome della colonna e il tipo di dati. Il modello di dati fisici contiene anche le chiavi primarie di ogni tabella e inoltre mostra la relazione tra le tabelle utilizzando chiavi esterne. Inoltre, il modello di dati fisici contiene vincoli applicati a dati e componenti come trigger e stored procedure.
Il modello dei dati fisici dipende dal sistema di gestione del database utilizzato. Quindi il modello di dati fisici per MySQL sarebbe diverso da un modello di dati disegnato per Oracle. Quando si crea il modello di dati fisici da un modello di dati logici, le prime entità vengono convertite in tabelle. Quindi le relazioni sono convertite in vincoli di chiave esterna. Dopo che gli attributi sono convertiti in colonne di ogni tabella.
• Un modello di dati fisici descrive la struttura fisica del database. Un modello di dati logici è di alto livello che non descrive la struttura fisica del database.
• Il modello dei dati fisici dipende dal sistema di gestione del database utilizzato. Tuttavia, il modello di dati logici è indipendente dal sistema di gestione del database utilizzato.
• Il modello dei dati logici include entità, attributi, relazioni e chiavi. Il modello di dati fisici include tabelle, colonne, tipi di dati, vincoli di chiavi primarie e esterne, trigger e stored procedure.
• Nel modello di dati logici, vengono utilizzati lunghi nomi non formali per entità e attributi. Tuttavia, nei dati fisici, vengono utilizzati nomi formali abbreviati per nomi di tabelle e nomi di colonne.
• Il modello di dati logici viene inizialmente derivato dalla descrizione. Successivamente viene derivato solo il modello dati fisico.
• Il modello di dati logici è normalizzato in quarta forma normale. Il modello di database fisico verrà deformato se necessario per soddisfare i requisiti.
Sommario:
Il modello di dati logici è un modello di dati di alto livello che descrive le entità e le relazioni tra i dati. Include anche attributi e chiavi di ogni entità. Questo è indipendente dal sistema di gestione del database utilizzato. D'altra parte, il modello di dati fisici viene derivato dopo il modello di dati logici e include la struttura del database, compresa la specifica di tabelle, colonne e vincoli chiave. Questo modello è diverso in base al sistema di gestione del database utilizzato.