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 l'indipendenza fisica, รจ possibile modificare facilmente le strutture o i dispositivi di archiviazione fisica senza che ciรฒ influisca sullo schema concettuale. Qualsiasi modifica apportata verrebbe assorbita dalla mappa.ping tra il livello concettuale e quello interno. L'indipendenza dei dati fisici si ottiene grazie alla presenza del livello interno del database e alla successiva 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 modifica apportata verrร  assorbita dalla mappaping tra livello esterno e livello 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.

Sintesi

  • 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

Riassumi questo post con: