Indipendenza dei dati in DBMS

 ingegnere del database
  • Introduzione
  • Che cos’è l’indipendenza dei dati?
  • Tipi di indipendenza dei dati

Introduzione

Oggi, ci accingiamo a prendere uno degli argomenti più importanti dei sistemi di gestione del database, che è, l’indipendenza dei dati. La ragione dietro l’implementazione di tre livelli di astrazione dei dati non è altro che raggiungere l’indipendenza dei dati. L’indipendenza dei dati è qualcosa che si occupa di cambiamenti che avvengono a diversi livelli di schema. Oltre al significato di indipendenza dei dati, imparerai a conoscere le sue esigenze e i suoi tipi qui. Quindi, cerchiamo di iniziare senza ulteriori indugi!

Che cos’è l’indipendenza dei dati?

Abbiamo già familiarità con i due termini “dati” e “indipendenza” separatamente, quindi possiamo più o meno decifrare il significato dell’intero termine “indipendenza dei dati” nello stesso senso. È chiaro dal termine stesso che stiamo parlando di indipendenza dei dati presenti in un database. In termini tecnici, si può mettere come segue, ‘L’indipendenza dei dati è la proprietà di DBMS che consente all’utente di modificare la definizione dello schema a un livello senza alcun obbligo di modificare la definizione dello schema ai successivi livelli superiori’. E ‘ molto necessario che quando stiamo facendo cambiamenti a un livello, non ostacola gli altri livelli. Per essere precisi, l’indipendenza dei dati si riferisce all’indipendenza o all’autosufficienza dei dati presenti nei tre livelli dell’architettura del database. Inoltre, è qualcosa che ti aiuta a mantenere i dati separati dai programmi applicativi che ne fanno uso. È spesso visto come un tipo di trasparenza dei dati che un sistema di gestione del database centralizzato è molto interessato.

Prima di esaminare un aspetto più profondo dell’indipendenza dei dati, facciamo un rapido richiamo sui livelli di un database. Lo schema interno o fisico è il primo livello che è in connessione diretta con il database anche a livello di memoria. Il secondo è lo schema concettuale o logico che funge da mediatore tra il terzo e il primo livello. Il terzo livello è lo schema esterno che determina come il database è visibile ai più utenti finali. Supponendo un’istanza di un database di Libreria, l’attuazione di questi tre livelli un po ‘ simile a questo:

Schema Interno Schema Logico Schema Esterno
non ordinate file di rapporti di databaseFirst indice di colonna di Visitatori i Visitatori (id: int nome: stringa età: int, contattare: numerico, indirizzo: string)Libri (id: int, titolo: stringa, autore: stringa, isbn: numerico) View1: BookRecords (b_id: int, b_name: string, author: string)View2: VisitorRecords (v_id: int, v_name: string)

L’indipendenza dei dati separa i dati dall’API e implementa le modifiche apportate a uno dei livelli alle mappature inter-livello. Aiuta a mantenere la libertà di questi singoli livelli del database allo stesso tempo. Da un certo punto di vista, l’indipendenza dei dati e l’indipendenza operativa insieme mettono in evidenza il fenomeno dell’astrazione dei dati in un DBMS.

Come ottenere l’indipendenza dei dati in DBMS?

Per acquisire l’indipendenza dei dati, ci assicuriamo che il nostro database soddisfi i requisiti di astrazione dei dati. In parole semplici, l’astrazione dei dati è il processo di mantenere i dettagli irrilevanti nascosti all’utente finale. Se pensiamo rispetto alle entità del mondo reale, possiamo prendere l’esempio di un’auto. Quando un autista guida un’auto, ha un know-how completo di guidare un’auto, ma se per qualche motivo non è in grado di avviare l’auto, avrà bisogno dell’assistenza di un meccanico. Questo è così perché il conducente sa solo come guidare una macchina, non sa come affrontare i problemi di circuiteria interna, motivo essendo il circuito interno e il meccanismo della vettura è nascosto da lui. Allo stesso modo, la struttura interna è invisibile ai programmatori e agli utenti finali. Questa proprietà di limitare la visibilità in un database viene definita astrazione dei dati. Un database può contenere fino a tre livelli di astrazione. Questi tre livelli sono elencati di seguito:

  • Livello fisico (schema interno)
  • Livello concettuale (livello logico)
  • Livello di visualizzazione

Il livello fisico dell’astrazione dei dati si occupa dello schema interno. Questo livello di astrazione definisce come vengono memorizzati i dati in un database. Memorizza le strutture di dati dettagliate e complesse del database a cui gli utenti finali e i programmatori non sarebbero interessati. È anche considerato il livello più basso di astrazione dei dati.

Il livello concettuale, che è il livello medio di astrazione dei dati, è per il livello logico dello schema. Il livello precedente risponde alla domanda ‘ Come?’. Allo stesso modo, questo livello risponde alla domanda ‘Perché?”Descrive quali e quali tipi di dati sono memorizzati nel database.

L’ultimo e il più alto livello di astrazione dei dati è il livello di visualizzazione. Questo livello indica come i dati devono essere visualizzati da diversi utenti n. È responsabile dell’interazione dell’utente con il database.

Prendiamo un esempio di scala molto bassa in cui abbiamo memorizzato i dettagli dei clienti di un negozio. Quindi, se parliamo del livello fisico, i dati vengono memorizzati come blocchi di memoria in byte,gigabyte, terabyte, ecc. Fondamentalmente, si tratta di un’archiviazione di memoria complessa. Questa informazione non è visibile ai programmatori. Il livello logico descriverà i dettagli del cliente immessi e i relativi tipi di dati. La relazione logica viene implementata tra i dati a questo livello utilizzando i linguaggi di programmazione. Questo livello è principalmente affrontato dai programmatori. A livello di visualizzazione, l’utente interagisce con il sistema tramite GUI per inserire i dati, magari in un formato di modulo o in qualche altro formato impostato. Ora, ogni livello deve essere indipendente dall’altro, in modo che quando apportiamo modifiche a un livello, non siamo tenuti a apportare modifiche al livello successivo più alto. E, questo è ciò che l’indipendenza dei dati fa.

Al fine di mantenere questi tre livelli di astrazione dei dati, potremmo aver bisogno di apportare modifiche in un livello del database che potrebbe essere una grande seccatura se non per l’indipendenza dei dati. Sarete d’accordo sul punto che cambiare l’intero programma applicativo per riflettere un leggero cambiamento nello schema fisico non è in alcun modo a nostro favore in termini di tempo e programmazione. L’indipendenza dei dati garantisce che le modifiche apportate a un livello non influiscano sugli altri livelli del database. Sulla base dei tre livelli di astrazione dei dati, l’indipendenza dei dati è ramificata in due tipi.

Tipi di indipendenza dei dati

Impariamo a conoscere i due tipi di indipendenza dei dati e le loro proprietà. Le due categorie sono:

  • Indipendenza dati fisici
  • Indipendenza dati logici

Indipendenza dati fisici: Sotto l’indipendenza dei dati fisici, otteniamo la libertà di modificare lo schema fisico senza essere vincolati a modificare i programmi applicativi per questo. È responsabile della separazione del livello interno dal livello concettuale di una struttura di database. L’indipendenza dei dati fisici consente di fornire una descrizione logica o una panoramica del database, non necessariamente necessaria per specificare i dettagli della struttura logica di un database. In base all’indipendenza dei dati fisici, le modifiche apportate al livello interno non dovrebbero modificare la definizione del livello concettuale o dello schema del livello di visualizzazione.

L’indipendenza fisica consente di modificare le strutture di archiviazione dei file, gli algoritmi di hashing, le tecniche di compressione, i dispositivi di archiviazione, la posizione del database, il metodo di accesso, gli indici e così via. Quindi, fondamentalmente si tratta dell’implementazione di tecniche di archiviazione della memoria efficienti. Qualsiasi modifica apportata a questo livello verrà applicata alla mappatura tra il livello interno e quello concettuale del database. Tieni presente che le modifiche introdotte devono essere localizzate. L’indipendenza dei dati fisici viene raggiunta dal livello fisico e quindi viene eseguita la trasformazione dal livello concettuale a quello interno del database.

Occasionalmente, ci viene richiesto di aggiornare il livello interno per migliorare le prestazioni del nostro DBMS in vista della gestione della memoria. Pertanto, l’indipendenza fisica dei dati, innegabilmente, gioca un ruolo fondamentale sulla base del fatto che apportare modifiche alle tecniche di archiviazione in accordo con le nostre esigenze è qualcosa a cui un DBMS efficiente deve essere incline.

Indipendenza dei dati logici: L’indipendenza dei dati logici dà la libertà di cambiare il livello concettuale dello schema senza mettere alcuna costrizione di cambiare le viste esterne e programmi esterni o API. Le modifiche apportate a questo livello vengono applicate alla mappatura del livello di visualizzazione logica e finale. I programmi applicativi che dipendono fortemente dal livello concettuale rendono difficile raggiungere l’indipendenza dei dati logici rispetto all’indipendenza dei dati fisici. Qualsiasi cambiamento minore o maggiore nella struttura logica del database ci richiederebbe di cambiare anche i programmi. Pertanto, raggiungere l’indipendenza dei dati logici può essere piuttosto impegnativo. L’indipendenza dei dati logici regola la separazione tra il livello di visualizzazione finale e il livello concettuale.

L’indipendenza dei dati logici ci consente di apportare modifiche come aggiungere, modificare o eliminare un attributo, un’entità o persino una relazione. Fare tali modifiche non richiede la riscrittura del programma applicativo, ma di apportare modifiche corrispondenti nel programma. Ci permette di unire due record in uno senza influenzare il livello esterno. Se si desidera dividere un record esistente in due, è possibile senza interferire con la struttura a livello di visualizzazione dell’utente finale di un determinato database.

Apportare modifiche tempestive al livello concettuale per mantenere aggiornato il DBMS è essenziale. Questo è il motivo per cui si dice che l’indipendenza dei dati logici stia conducendo un ruolo fondamentale. Non solo aiuta a migliorare le prestazioni e la velocità del DBMS, ma risulta anche utile per rendere il database molto più maneggevole e più affidabile.

Vantaggi dell’indipendenza dei dati

L’indipendenza dei dati è indiscutibile quando si tratta di essere una delle caratteristiche più significative di un sistema di gestione di database. Ci sono diversi motivi per giustificare la necessità di indipendenza dei dati in DBMS. Quindi, diamo un’occhiata ai vantaggi che soddisfano le esigenze del DBMS.

  • Qualità dei dati – L’indipendenza dei dati aiuta a migliorare la qualità dei dati memorizzati in un database. Poiché la modifica della struttura del database diventa più conveniente con l’indipendenza dei dati, l’archiviazione dei dati diventa efficiente. Facilita il miglioramento dello stato indiviso o non compromesso. Quindi, si traduce in un miglioramento della qualità dei dati memorizzati.
  • Manutenzione economica-L’indipendenza dei dati ci evita di affrontare la difficoltà di apportare modifiche a tutti i livelli schematici del nostro database se sono necessarie modifiche in un livello schematico. In tal modo, mantenere il nostro database diventa conveniente in una buona misura.
  • Aspetto della sicurezza-La corretta applicazione degli standard e dei protocolli per proteggere il database diventa più facile. Pertanto, l’indipendenza dei dati è davvero utile per migliorare la sicurezza del database.
  • Sviluppatori che si concentrano sulla struttura generale: gli sviluppatori possono concentrarsi esclusivamente sulla gestione e l’aggiornamento della struttura logica senza preoccuparsi dell’impianto interno. Le modifiche sono direttamente assorbite dal livello concettuale e dalla mappatura del livello interno.
  • Riduzione dell’incongruenza dei dati – L’indipendenza dei dati supporta la modifica della struttura del database per aumentarne la compatibilità. Questo aiuta a controllare l’incongruenza dei dati.
  • Miglioramento delle prestazioni – L’indipendenza dei dati alimenta la causa dell’astrazione dei dati. Inoltre, facilita l’implementazione fluida di nuove modifiche. Di conseguenza, l’accesso ai dati, il recupero o la modifica dei dati diventa veloce e conveniente. Questo è il modo in cui l’indipendenza dei dati si dimostra utile per migliorare le prestazioni del database.

Come possiamo dedurre dai punti sopra elencati evidenziando i meriti dell’indipendenza dei dati, l’indipendenza dei dati agisce come una delle armi del DBMS che supera gli inconvenienti dei sistemi basati su file. Si può vedere come l’immunità delle applicazioni utente contro le modifiche apportate nella definizione dello schema e l’organizzazione dei dati. Ogni moneta ha due facce, lo stesso vale anche per questo. Ora che sei abbastanza convinto che l’indipendenza dei dati sia la chiave per ottenere affidabilità e sicurezza di un database, devi chiederti del suo aspetto più oscuro. Poi, lasciate che vi dica che ci sono solo due principali carenze che comunemente incontriamo mentre si tratta di indipendenza dei dati. Il primo è l’aumento della complessità che deriva dall’adozione dell’indipendenza dei dati. Le banche dati devono essere attentamente progettate per sfruttare al meglio l’indipendenza dei dati. Il secondo svantaggio è legato al primo. I programmi applicativi dipendono fortemente dallo schema logico dei dati. Pertanto, la modifica della struttura concettuale richiede la modifica del rispettivo programma applicativo.

Spero che questo blog sia stato in grado di gettare luce sull’indipendenza dei dati e aggiungere valore alle tue conoscenze su DBMS. Oltre all’indipendenza dei dati, ci sono molti altri fattori che implementano un grande impatto su un database. Per ottenere una buona conoscenza su tali argomenti rilevanti di DBMS, è possibile fare riferimento ad altri blog di grande apprendimento. Restate sintonizzati e continuare il vostro viaggio di apprendimento con noi. Potresti preferire optare per un corso accelerato su DBMS con una buona possibilità di guadagnare un certificato. Abbiamo numerosi corsi certificati che ti avvantaggeranno in uno o nell’altro modo. Allora, cos’altro stai aspettando? Vai a iscriverti a un nuovo corso qui! Buon apprendimento!

Leave a Reply