logo

Abstracció de dades i independència de dades

Els sistemes de bases de dades comprenen estructures de dades complexes. Per tal de fer que el sistema sigui eficient pel que fa a la recuperació de dades i reduir la complexitat en termes d'usabilitat dels usuaris, els desenvolupadors utilitzen l'abstracció, és a dir, amaguen detalls irrellevants als usuaris. Aquest enfocament simplifica el disseny de bases de dades. 

Nivell d'abstracció en un SGBD

Hi ha principalment 3 nivells d'abstracció de dades: 



  • Nivell físic o intern
  • Nivell lògic o conceptual
  • Vista o nivell extern

Nivell físic o intern

Aquest és el nivell més baix d'abstracció de dades. Ens indica com s'emmagatzemen realment les dades a la memòria. Per al mateix s'utilitzen mètodes d'accés com l'accés seqüencial o aleatori i mètodes d'organització de fitxers, com ara arbres B+ i hash. La mida d'usabilitat de la memòria i el nombre de vegades que els registres són factors que hem de conèixer a l'hora de dissenyar la base de dades. 
Suposem que hem d'emmagatzemar les dades d'un empleat. Els blocs d'emmagatzematge i la quantitat de memòria utilitzada per a aquests propòsits es mantenen ocults per a l'usuari. 

Nivell lògic o conceptual

Aquest nivell comprèn la informació que s'emmagatzema realment a la base de dades en forma de taules. També emmagatzema la relació entre les entitats de dades en estructures relativament simples. En aquest nivell es desconeix la informació disponible per a l'usuari al nivell de visualització. 
Podem emmagatzemar els diferents atributs d'un empleat i les relacions, p. amb el gestor també es poden emmagatzemar. 

Així, el nivell lògic descriu tota la base de dades en termes d'un petit nombre d'estructures relativament simples. Encara que la implementació de les estructures simples a nivell lògic pot implicar estructures complexes a nivell físic, l'usuari del nivell lògic no necessita ser conscient d'aquesta complexitat. Això es coneix com a independència de dades físiques. Els administradors de bases de dades que han de decidir quina informació guardar a la base de dades utilitzen el nivell lògic d'abstracció.



Vista o nivell extern

Aquest és el nivell més alt d'abstracció. Els usuaris només veuen una part de la base de dades real. Aquest nivell existeix per facilitar l'accessibilitat de la base de dades per part d'un usuari individual. Els usuaris veuen les dades en forma de files i columnes. Les taules i les relacions s'utilitzen per emmagatzemar dades. És possible que hi hagi diverses visualitzacions de la mateixa base de dades. Els usuaris només poden veure les dades i interactuar amb l'emmagatzematge de la base de dades i els detalls d'implementació se'ls oculten. Tot i que el nivell lògic utilitza estructures més simples, la complexitat es manté a causa de la varietat d'informació emmagatzemada en una gran base de dades. Molts usuaris del sistema de bases de dades no necessiten tota aquesta informació; en canvi, només necessiten accedir a una part de la base de dades. El nivell de vista d'abstracció existeix per simplificar la seva interacció amb el sistema

Exemple: En cas d'emmagatzemar les dades del client

longitud de la cadena java
  • Nivell físic - contindrà un bloc d'emmagatzematge (bytesGBTBetc)
  • Nivell lògic -  contindrà els camps i els atributs de les dades.
  • Nivell de visualització -Funciona amb CLI o GUI accés a la base de dades




Abstracció de dades' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=Abstracció de dades

L'objectiu principal de l'abstracció de dades és aconseguir la independència de les dades per tal d'estalviar el temps i el cost necessaris quan es modifica o altera la base de dades. 

Independència de dades

Independència de dades es defineix principalment com una propietat del SGBD que us ajuda a canviar l'esquema de la base de dades a un nivell d'un sistema sense necessitat de canviar l'esquema al nivell següent. ajuda a mantenir les dades separades de tots els programes que en fan ús.
Tenim, concretament, dos nivells d'independència de dades que sorgeixen d'aquests nivells d'abstracció: 

  • Phys i independència de dades a nivell cal
  • Independència de dades a nivell lògic
Abstracció de dades i independència de dades' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Independència de dades

Independència de dades a nivell físic

Es refereix a la característica de poder modificar l'esquema físic sense cap alteració de l'esquema conceptual o lògic fet amb finalitats d'optimització, p. l'estructura conceptual de la base de dades no es veuria afectat per cap canvi en la mida d'emmagatzematge del servidor del sistema de bases de dades. El canvi de fitxers d'accés seqüencial a fitxers d'accés aleatori n'és un exemple. Aquestes alteracions o modificacions a l'estructura física poden incloure: 

  • Utilització de nous dispositius d'emmagatzematge.
  • Modificació de les estructures de dades utilitzades per a l'emmagatzematge.
  • Alterar índexs o utilitzar tècniques alternatives d'organització de fitxers, etc.

Independència de dades de nivell lògic

Es refereix a la característica de poder modificar l'esquema lògic sense afectar l'esquema extern o el programa d'aplicació. La visualització de les dades de l'usuari no es veuria afectada per cap canvi a la vista conceptual de les dades. Aquests canvis poden incloure la inserció o la supressió d'atributs que alteren les estructures de la taula entitats o relacions amb l'esquema lògic, etc.