logo

Astrazione dei dati e indipendenza dei dati

I sistemi di database comprendono strutture di dati complesse. Per rendere il sistema efficiente in termini di recupero dei dati e ridurre la complessità in termini di usabilità degli utenti, gli sviluppatori utilizzano l'astrazione, ovvero nascondono dettagli irrilevanti agli utenti. Questo approccio semplifica la progettazione del database. 

Livello di astrazione in un DBMS

Esistono principalmente 3 livelli di astrazione dei dati: 



  • Livello fisico o interno
  • Livello logico o concettuale
  • Vista o Livello Esterno

Livello fisico o interno

Questo è il livello più basso di astrazione dei dati. Ci dice come i dati vengono effettivamente archiviati in memoria. Per lo stesso scopo vengono utilizzati metodi di accesso come l'accesso sequenziale o casuale e metodi di organizzazione dei file come alberi B+ e hashing. La dimensione dell'usabilità della memoria e il numero di volte in cui vengono memorizzati i record sono fattori che dobbiamo conoscere durante la progettazione del database. 
Supponiamo di dover memorizzare i dettagli di un dipendente. I blocchi di archiviazione e la quantità di memoria utilizzata per questi scopi vengono tenuti nascosti all'utente. 

Livello logico o concettuale

Questo livello comprende le informazioni che sono effettivamente archiviate nel database sotto forma di tabelle. Memorizza inoltre la relazione tra le entità di dati in strutture relativamente semplici. A questo livello le informazioni disponibili all'utente a livello di vista sono sconosciute. 
Possiamo memorizzare i vari attributi di un dipendente e le relazioni, ad es. con il gestore può anche essere memorizzato. 

Il livello logico descrive quindi l'intero database in termini di un piccolo numero di strutture relativamente semplici. Sebbene l'implementazione di strutture semplici a livello logico possa comportare strutture complesse a livello fisico, l'utente del livello logico non ha bisogno di essere consapevole di questa complessità. Questa viene definita indipendenza fisica dei dati. Gli amministratori del database che devono decidere quali informazioni conservare nel database utilizzano il livello logico di astrazione.



Vista o Livello Esterno

Questo è il livello più alto di astrazione. Solo una parte del database vero e proprio viene visualizzata dagli utenti. Questo livello esiste per facilitare l'accessibilità del database da parte di un singolo utente. Gli utenti visualizzano i dati sotto forma di righe e colonne. Tabelle e relazioni vengono utilizzate per archiviare i dati. Possono esistere più visualizzazioni dello stesso database. Gli utenti possono semplicemente visualizzare i dati e interagire con l'archiviazione del database e i dettagli di implementazione sono loro nascosti. Anche se il livello logico utilizza strutture più semplici, la complessità rimane a causa della varietà di informazioni archiviate in un database di grandi dimensioni. Molti utenti del sistema di database non necessitano di tutte queste informazioni; devono invece accedere solo a una parte del database. Il livello di astrazione della vista esiste per semplificare la loro interazione con il sistema

Esempio: In caso di memorizzazione dei dati del cliente

linguaggio macchina
  • Livello fisico - conterrà blocchi di archivi (bytesGBTBetc)
  • Livello logico -  conterrà i campi e gli attributi dei dati.
  • Visualizza il livello - funziona con CLI O GUI accesso al database




Astrazione dei dati' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=Astrazione dei dati

Lo scopo principale dell'astrazione dei dati è raggiungere l'indipendenza dei dati al fine di risparmiare tempo e costi richiesti quando il database viene modificato o alterato. 

Indipendenza dai dati

Indipendenza dai dati è principalmente definito come una proprietà del DBMS che consente di modificare lo schema del database a un livello di un sistema senza richiedere la modifica dello schema al livello successivo. aiuta a mantenere i dati separati da tutti i programmi che ne fanno uso.
Abbiamo cioè due livelli di indipendenza dei dati derivanti da questi livelli di astrazione: 

  • Fis io indipendenza dei dati a livello cal
  • Indipendenza dei dati a livello logico
Astrazione dei dati e indipendenza dei dati' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Indipendenza dai dati

Indipendenza dei dati a livello fisico

Si riferisce alla caratteristica di poter modificare lo schema fisico senza alcuna alterazione dello schema concettuale o logico eseguita a fini di ottimizzazione, ad es. la struttura concettuale del banca dati non verrebbe influenzato da alcuna modifica nella dimensione di archiviazione del server del sistema database. Il passaggio da file ad accesso sequenziale a file ad accesso casuale è uno di questi esempi. Queste alterazioni o modifiche alla struttura fisica possono includere: 

  • Utilizzo di nuovi dispositivi di archiviazione.
  • Modifica delle strutture dati utilizzate per l'archiviazione.
  • Alterazione degli indici o utilizzo di tecniche alternative di organizzazione dei file, ecc.

Indipendenza dei dati a livello logico

Si riferisce alla caratteristica di poter modificare lo schema logico senza influenzare lo schema esterno o il programma applicativo. La visualizzazione dei dati da parte dell'utente non verrebbe influenzata da eventuali modifiche alla visualizzazione concettuale dei dati. Queste modifiche possono includere l'inserimento o la cancellazione di attributi che alterano le entità delle strutture delle tabelle o le relazioni con lo schema logico, ecc.