Qual è la differenza tra un modello di dati logico e un modello di dati fisico?


Qual è la differenza tra un modello di dati logico e un modello di dati fisico?

I modelli di dati logici e fisici sono due fasi importanti nella progettazione dei dati. La modellazione dei dati è il processo di creazione di una rappresentazione visiva o di uno schema che aiuta le diverse parti interessate a generare una visione unificata dei dati dell'organizzazione. Inizia con la modellazione concettuale dei dati, in cui si crea una rappresentazione astratta di alto livello delle entità, degli attributi e delle relazioni dei dati con gli input degli utenti aziendali. 

Il modello di dati logico è una versione più raffinata del modello concettuale. Rappresenta schematicamente i limiti dei dati, i nomi delle entità e le relazioni per l'implementazione in modo indipendente dalla piattaforma. Il modello di dati fisico perfeziona ulteriormente quello logico per l'implementazione su una tecnologia di database specifica. I modelli di dati logici e fisici definiscono la struttura, l'organizzazione e le regole dei dati per supportare archiviazione, recupero e manipolazione efficienti.

Scopri di più sulla modellazione dei dati

Rappresentazione: modello di dati logico e modello di dati fisico

Sia i modelli di dati logici che quelli fisici sono strumenti che assicurano che i requisiti aziendali siano rappresentati accuratamente su un database fisico. Presentano diversi livelli di dettagli tecnici per facilitare la progettazione del database, pur mantenendo la prospettiva aziendale. 

Rappresentazione di un modello di dati logico

Con un modello di dati logico, gli analisti aziendali e gli architetti dei dati possono visualizzare i processi operativi o transazionali in un diagramma delle relazioni tra entità. I modelli di dati logici definiscono il funzionamento e le transazioni degli oggetti di dati in modo comprensibile agli stakeholder aziendali. Per questo motivo sono progettati indipendentemente dal database effettivo su cui verranno successivamente implementati. 

Il diagramma seguente mostra un esempio di modello di dati logico per un sistema di biglietteria sportiva.

Ogni tabella descrive le entità di dati e i rispettivi attributi in termini di business familiari. Ad esempio, l'entità persona contiene nome_completo e cognome come attributi. Per tutte le entità, viene designata una chiave primaria (PK) per differenziare gli attributi in ogni riga. Alcune entità contengono chiavi esterne (FK) per indicare la loro relazione con un'altra entità nelle relazioni uno-a-molti. 

Rappresentazione di un modello di dati fisico

I modelli di dati fisici forniscono dettagli approfonditi che aiutano gli amministratori e gli sviluppatori di database a implementare la logica aziendale su un database fisico. Questi modelli offrono attributi aggiuntivi non specificati in un modello di dati logico, come trigger, procedure archiviate e tipi di dati. Poiché mappano gli elementi di dati su un database effettivo, i modelli di dati fisici devono aderire a restrizioni specifiche della piattaforma, come le convenzioni di denominazione e l'uso di parole riservate.  

Il diagramma seguente mostra un esempio del modello di dati fisico per lo stesso sistema di biglietteria sportiva.

Nel modello di dati fisico, si stabiliscono i tipi di dati per tutti gli oggetti di dati archiviati. Inoltre, possono essere modificati i nomi delle entità e degli attributi per utilizzare i formati supportati dalla piattaforma.

Come progettare un modello di dati logico e un modello di dati fisico

La progettazione di modelli di dati sia logici che fisici richiede passaggi che consentano una transizione senza soluzione di continuità dai requisiti aziendali alle implementazioni pratiche del database. Il modello di dati logico è un'estensione del modello di dati concettuale di uno specifico processo aziendale. Il modello di dati fisico perfeziona ulteriormente quello logico per la progettazione del database. 

Creazione di un modello di dati logico

Segui questi passaggi per creare un modello di dati logico:

  1. Determina tutte le entità richieste e i rispettivi attributi.
  2. Scegli le PK appropriate come identificatori univoci per i gruppi di attributi.
  3. Normalizza e denormalizza il modello di dati in base ai requisiti operativi. 
  4. Stabilisci le relazioni tra le diverse entità aziendali nel modello di dati.
  5. Convalida le entità di dati e le relative relazioni per rappresentare accuratamente la logica aziendale. 

Definisci le relazioni tra entità separate. Alcune entità sono direttamente associate tra loro, mentre altre potrebbero essere collegate tramite un'entità comune. È consuetudine consultarsi con le rispettive parti interessate per garantire che le entità siano collegate correttamente in base ai requisiti aziendali. È anche possibile duplicare alcune entità e limitare strategicamente altre a una singola istanza per migliorare l'efficienza delle query e ridurre al minimo lo spazio di archiviazione.

Creazione di un modello di dati fisico

Seguire questi passaggi per progettare un modello di dati fisico:

  1. convertire il modello di dati locale per adattarlo alla piattaforma del provider di database scelto, 
  2. mappare le entità di dati nelle rispettive tabelle, 
  3. mappare e creare PK e FK nelle tabelle del database come richiesto,
  4. verificare che la struttura del database sia normalizzata in modo appropriato per eliminare dati ridondanti e migliorare l'integrità dei dati, 
  5. aggiungere vincoli, regole, partizioni e funzionalità programmatiche pertinenti al database per supportare lo sviluppo dell'applicazione,
  6. confrontare il modello di dati fisico e il modello di dati logico per garantire che i requisiti aziendali siano tradotti correttamente. 

In alcuni casi, un'entità è suddivisa in più tabelle. Ogni tabella contiene diverse colonne che memorizzano le informazioni specificate dagli attributi del modello di dati logico. In un modello di dati fisico, le colonne sono differenziate in base al tipo di dati, ad esempio numeri interi, varchar e booleano.

Differenze principali tra modello di dati logico e modello di dati fisico

Nonostante facciano parte del processo di modellazione dei dati, i modelli di dati logici e fisici si distinguono in base alle rispettive caratteristiche. 

Obiettivo

Con i modelli di dati logici, è possibile visualizzare i flussi di lavoro dei processi in modo tecnicamente strutturato. e comprendere le relazioni tra i vari sistemi aziendali. 

Dall'altro lato, un modello di dati fisico descrive l'organizzazione dei dati nelle tabelle di database effettive. Il risultato è una visione dall'alto verso il basso del modo in cui un'applicazione archivia e accede ai dati del mondo reale. 

Creatori

In genere, gli architetti dei dati e gli analisti aziendali creano modelli di dati logici. Gli sviluppatori e gli amministratori di database sono responsabili dell'implementazione di modelli di dati fisici. 

Complessità

I modelli di dati logici sono più semplici perché definiscono l'interconnessione degli oggetti dei dati aziendali, ciascuno dei quali è costituito da entità di dati e dai relativi attributi associati. 

I modelli di dati fisici sono più complessi. e prevedono l'organizzazione degli elementi dei dati in tabelle, colonne e indici e il rispetto di rigorosi vincoli della piattaforma. Le strutture di dati in un modello fisico sono vincolate da una relazione più rigida, come la cardinalità e l'annullabilità. 

Quando usare questa opzione

Si utilizza la modellazione logica dei dati per visualizzare il flusso di informazioni nei sistemi aziendali. Analisti, dirigenti e utenti aziendali possono comprendere il funzionamento di un particolare sistema e i concetti aziendali applicabili.

Gli sviluppatori di applicazioni utilizzano modelli di dati fisici per pianificare e ottimizzare l'archiviazione di dati nella creazione di applicazioni per l'utilizzo in produzione. I modelli di dati fisici rappresentano lo schema per l'archiviazione dii dati in un database relazionale. 

Scopri di più sui database relazionali

Riepilogo delle differenze tra modello di dati logico e modello di dati fisico

 

Modello di dati logico

Modello di dati fisico

Database dipendente dalla piattaforma

No.

Sì.

Struttura dei dati 

Entità, attributi, PK ed FK.

Tabelle, righe, PK, FK e tipi di dati del database.

Funzionalità programmatiche

No.

Trigger e procedure archiviate.

Obiettivo

Visualizza la logica aziendale con le strutture dei dati.

Organizza la struttura dei dati per la progettazione del database.

Creatori

Analisti aziendali e architetti di dati.

Sviluppatori di software, programmatori e amministratori di database.

Complessità

Semplice.

Complesso.

Quando usare questa opzione

Per comprendere i sistemi e le regole aziendali.

Per pianificare, implementare e ottimizzare l'archiviazione di dati durante lo sviluppo di applicazioni. 

In che modo AWS può aiutarti con i modelli di dati logici e i modelli di dati fisici?

I database Amazon Web Services (AWS) includono oltre 15 motori di database per supportare modelli di dati differenti. Ad esempio, è possibile utilizzare Amazon Relational Database Service (Amazon RDS) per implementare i modelli di dati relazionali logici e Amazon Neptune per implementare i modelli di dati a grafo logici.

Inoltre, è possibile utilizzare AWS Amplify DataStore per una creazione di modelli di dati veloce e semplice, per sviluppare applicazioni Web e mobili. Possiede un'interfaccia visiva e basata su codice per definire i modelli di dati con relazioni, il che accelera lo sviluppo dell'applicazione.

Ecco come eseguire la modellazione dei dati su AWS:

Inizia subito a utilizzare modelli di dati logici e modelli di dati fisici su AWS creando un account.