Indipendenza dei dati in DBMS: fisica e logica con esempi

Cos'è l'indipendenza dei dati del DBMS?

L'indipendenza dei dati è definita come una proprietà del DBMS che consente di modificare lo schema del database a un livello di un sistema di database senza dover modificare lo schema al livello successivo superiore. L'indipendenza dei dati ti aiuta a mantenere i dati separati da tutti i programmi che ne fanno uso.

È possibile utilizzare questi dati memorizzati per l'elaborazione e la presentazione. In molti sistemi, l'indipendenza dei dati è una funzione essenziale per i componenti del sistema.

Tipi di indipendenza dei dati

In DBMS esistono due tipi di indipendenza dei dati

  1. Indipendenza fisica dai dati
  2. Indipendenza logica dei dati.

Livelli di database

Prima di apprendere l'indipendenza dei dati, è importante un ripasso sui livelli di database. Il database ha 3 livelli come mostrato nello schema seguente

  1. Fisico/Interno
  2. Concettuale
  3. Esterno
Livelli di database
Livelli di DBMS Archidiagramma della struttura

Considera un esempio di un database universitario. Ai diversi livelli ecco come apparirà l’implementazione:

Tipo di schema Implementazione/Attuazione
Schema esterno

Vista 1: Informazioni sul corso(cid:int,cname:string)

Vista 2: studeninfo(id:int. nome:stringa)

Shema concettuale
Students(id: int, name: string, login: string, age: integer) 
Courses(id: int, cname:string, credits:integer) 
Enrolled(id: int, grade:string)
Schema fisico
  • Relazioni archiviate come file non ordinati.
  • Indice sulla prima colonna di Studenti.

Indipendenza dai dati fisici

L'indipendenza fisica dei dati aiuta a separare i livelli concettuali dai livelli interni/fisici. Consente di fornire una descrizione logica del database senza la necessità di specificare strutture fisiche. Rispetto all'indipendenza logica, è facile ottenere l'indipendenza fisica dei dati.

Con Indipendenza fisica, puoi facilmente modificare le strutture o i dispositivi di archiviazione fisica con un effetto sullo schema concettuale. Qualsiasi cambiamento apportato verrebbe assorbito dalla mappatura tra il livello concettuale e quello interno. L'indipendenza fisica dei dati è ottenuta dalla presenza del livello interno del database e quindi dalla trasformazione dal livello concettuale del database al livello interno.

Esempi di modifiche in Indipendenza dei dati fisici

A causa dell'indipendenza fisica, nessuna delle modifiche seguenti non influirà sul livello concettuale.

  • Utilizzando un nuovo dispositivo di archiviazione come disco rigido o nastri magnetici
  • Modificare la tecnica di organizzazione dei file nel Database
  • Passaggio a diverse strutture dati.
  • Modifica del metodo di accesso.
  • Modifica degli indici.
  • Modifiche alle tecniche di compressione o agli algoritmi di hashing.
  • Modifica della posizione del database, ad esempio dall'unità C all'unità D

Indipendenza dei dati logici

L'indipendenza logica dei dati è la capacità di modificare lo schema concettuale senza cambiare

  1. Viste esterne
  2. API o programmi esterni

Qualsiasi cambiamento apportato verrà assorbito dalla mappatura tra il livello esterno e quello concettuale.

Rispetto all’indipendenza dei dati fisici, è difficile raggiungere l’indipendenza logica dei dati.

Esempi di modifiche in Indipendenza dei dati logici

A causa dell'indipendenza logica, nessuna delle modifiche seguenti non influirà sullo strato esterno.

  1. È possibile aggiungere/modificare/eliminare un nuovo attributo, entità o relazione senza riscrivere i programmi applicativi esistenti
  2. Unione di due record in uno solo
  3. Suddivisione di un record esistente in due o più record

Differenza tra indipendenza dei dati fisici e logici

Logica Indipendenza dai dati Indipendenza dai dati fisici
L'indipendenza logica dei dati riguarda principalmente la struttura o la modifica della definizione dei dati. Principalmente interessato alla memorizzazione dei dati.
È difficile poiché il recupero dei dati dipende principalmente dalla struttura logica dei dati. È facile da recuperare.
Rispetto all'indipendenza logica fisica è difficile ottenere l'indipendenza logica dei dati. Rispetto all'indipendenza logica è facile ottenere l'indipendenza fisica dei dati.
È necessario apportare modifiche nel programma applicativo se vengono aggiunti o eliminati nuovi campi dal database. Un cambiamento a livello fisico di solito non richiede cambiamenti a livello del programma applicativo.
La modifica a livello logico è significativa ogni volta che vengono modificate le strutture logiche del database. Le modifiche apportate ai livelli interni potrebbero essere necessarie o meno per migliorare le prestazioni della struttura.
Preoccupato per lo schema concettuale Preoccupato per lo schema interno
Esempio: Aggiungi/Modifica/Elimina un nuovo attributo Esempio: modifica delle tecniche di compressione, algoritmi di hashing, dispositivi di archiviazione, ecc

Importanza dell'indipendenza dei dati

  • Ti aiuta a migliorare la qualità dei dati
  • La manutenzione del sistema di database diventa conveniente
  • Applicazione degli standard e miglioramento della sicurezza dei database
  • Non è necessario alterare la struttura dei dati nei programmi applicativi
  • Permetti agli sviluppatori di concentrarsi sulla struttura generale del database invece di preoccuparsi dell'implementazione interna
  • Ti permette di migliorare lo stato integro o indiviso
  • L'incongruenza del database è notevolmente ridotta.
  • Apportare facilmente modifiche a livello fisico è necessario per migliorare le prestazioni del sistema.

Sommario

  • Data Independence è una proprietà di DBMS che ti aiuta a cambiare il Schema del database a un livello di un sistema di database senza richiedere la modifica dello schema al livello successivo superiore.
  • Due livelli di indipendenza dei dati sono 1) Fisico e 2) Logico
  • L'indipendenza fisica dei dati aiuta a separare i livelli concettuali dai livelli interni/fisici
  • L'indipendenza logica dei dati è la capacità di modificare lo schema concettuale senza cambiare
  • Rispetto all’indipendenza dei dati fisici, è difficile raggiungere l’indipendenza logica dei dati
  • Data Independence Ti aiuta a migliorare la qualità dei dati