M2 - Bases de dades / UF1NF1: Mapa conceptual

De wikiserver
La revisió el 20:35, 8 set 2015 per Rsort (Discussió | contribucions) (Gestor d’emmagatzemament)
Dreceres ràpides: navegació, cerca
Mapa conceptual BD

Les dades que s’utilitzen de manera informatitzada s’emmagatzemen, habitualment, en bases de dades (BD).

El programari que serveix per gestionar les bases de dades es denomina sistema gestors de bases de dades (SGBD).

Els tres mons

Per a tot informàtic que hagi de treballar amb bases de dades (BD), és imprescindible saber distingir tres àmbits ben diferenciats:

  • El món real. Està constituït pels objectes (materials o no) de la realitat que ens interessen i amb els quals haurem de treballar.
  • El món conceptual. És el conjunt de coneixements o informacions obtinguts gràcies a l’observació de la part del món real que ens interessa. Un mateix món real pot donar lloc a diferents mons conceptuals, en funció de la manera de percebre la realitat, o els interessos de l’observador d’aquesta.
  • El món de les representacions. Està format per les representacions informàtiques, o dades, del món conceptual, necessàries per poder treballar.
El tres mons

Les diferents visions de les dades

Un dels principals objectius de les BD és proporcionar, als usuaris, una visió abstracta de les dades. Amb aquesta finalitat, el sistema amaga als usuaris certs detalls relatius a l’emmagatzemament i manteniment de les dades, per facilitar-los la feina, d’una banda, però també per garantir certs aspectes en matèria de seguretat.

Perquè les BD resultin útils, han de ser mínimament eficients a l’hora de recuperar les dades. Per aquest motiu, els sistemes de BD tenen implementades, a baix nivell, estructures de dades bastant complexes.

S’utilitzen tres nivells d’abstracció -físic, lògic i de vistes- per tal d’amagar aquestes estructures complexes i simplificar, d’aquesta manera, la interacció dels usuaris amb el sistema.

1. Nivell físic: és el nivell d’abstracció més baix de tots els utilitzats.

  • Descriu com s’emmagatzemen realment les dades a baix nivell, especificant en detall les complexes estructures que es necessiten.
  • No és freqüent treballar a aquest nivell. Només es fa quan calen optimitzacions en l’estructuració de les dades a baix nivell.

2. Nivell lògic: és el nivell d’abstracció intermedi.

  • Descriu totes les dades emmagatzemades en la BD i les seves interrelacions, mitjançant un nombre no gaire elevat d’estructures força simples (típicament, taules).
  • La implementació d’aquestes estructures lògiques pot comportar la presència d’estructures molt més complexes a nivell físic. Però els usuaris del nivell lògic no s’han de preocupar d’aquesta complexitat. Ni tan sols necessiten conèixer-la.
  • Els administradors de BD treballen habitualment amb aquest nivell d’abstracció.

3. Nivell de vistes: és el nivell d’abstracció més alt.

  • La majoria dels usuaris no necessiten conèixer tota l’estructuració lògica de la BD amb què treballen. Tractant-se d’una BD gran, a més, conèixer tota la seva estructura pot comportar un esforç considerable.
  • D’altra banda, sovint, i per motius tant de seguretat com de privacitat, no resulta convenient que els usuaris tinguin accés a totes les dades, sinó solament a la part que estrictament necessiten per realitzar la seva feina.
  • Cada vista només descriu una part de la BD. L’establiment de vistes simplifica la interacció de l’usuari amb el sistema, el fa més segur, i proporciona més privacitat. Es poden establir diferents vistes, segons les necessitats, sobre la mateixa BD.

En la figura següent, es poden veure els diferents nivells d’abstracció utilitzats per facilitar la interacció dels usuaris amb les BD.

Nivells d'abstracció

Evolució dels SGBD

l’evolució dels SGBD ha estat, sovint, intrínsecament lligada a l’evolució del maquinari.

La figura següent mostra un esquema de les etapes evolutives per les quals han passat els SGBD, en el qual se n’indiquen les principals característiques.

Evolució SGBD

Objectius i funcionalitats dels SGBD

Tots els SGBD del mercat volen assolir una sèrie d’objectius i oferir una sèrie de funcionalitats, amb més o menys encert, que actualment es consideren indispensables per al bon funcionament de qualsevol sistema d’informació:

  • Possibilitar les consultes no predefinides de qualsevol complexitat.
  • Garantir la independència física i la independència lògica de les dades.
  • Evitar o solucionar els problemes derivats de la redundància.
  • Protegir la integritat de les dades.
  • Permetre la concurrència d’usuaris.
  • Contribuir a la seguretat de les dades.

Llenguatges de SGBD

La comunicació entre els SGBD i els seus usuaris s’ha de realitzar mitjançant algun tipus de llenguatge. Els llenguatges de BD es poden classificar en dues grans tipologies segons la finalitat:

1. Llenguatges de definició de dades (data definition languages, en anglès, o DDL). Estan especialitzats en la definició de l’estructura de les BD mitjançant l’especificació d’esquemes.
2. Llenguatges de manipulació de dades (data management languages, en anglès, o DML). Possibiliten la consulta, modificació i eliminació, de les dades emmagatzemades, i també la inserció de noves informacions.

El llenguatge més utilitzat per interaccionar amb els SGBD relacionals és l’SQL.

Usuaris i administradors

Podem diferenciar tres categories d’usuaris de SGBD en funció de la manera en què interactuen amb el sistema: externs, sofisticats i programadors d’aplicacions.

1. Usuaris externs. Són usuaris no sofisticats, que no interactuen directament amb el sistema, sinó mitjançant alguna aplicació informàtica desenvolupada prèviament per altres persones amb aquesta finalitat.

Exemple d’usuari extern
Qualsevol persona assumeix aquest rol quan treu diners d’un caixer automàtic, ja que accedeix a la BD de l’entitat financera identificant-se mitjançant una targeta magnètica i un número d’identificació personal secret (personal identification number, en anglès, o PIN).
Una vegada autoritzada a entrar en el sistema, podrà realitzar diferents operacions de consulta o, fins i tot, d’actualització. En el cas plantejat, després de treure diners, el saldo del compte corrent associat a la targeta patirà el decrement corresponent.

2. Usuaris sofisticats. Interactuen directament amb el sistema, sense utilitzar les interfícies proporcionades per programes intermediaris. Formulen les consultes en un llenguatge de BD (normalment, SQL), des de dins de l’entorn que el SGBD posa a la seva disposició. Tradicionalment, aquest entorn ha estat una consola en què es podien escriure les consultes, però cada vegada són més freqüents entorns que permeten construir les consultes de mode visual, com autèntiques eines CASE.

3. Programadors d’aplicacions. Són professionals informàtics que creen els programes que accedeixen als SGBD i que, posteriorment, són utilitzats pels usuaris que hem anomenat externs. Aquestes aplicacions es poden desenvolupar mitjançant diferents llenguatges de programació i eines externes al SGBD. Però molts SGBD comercials també inclouen entorns propis de desenvolupament i llenguatges de quarta generació que faciliten enormement la generació de formularis i informes que permeten visualitzar i modificar les dades.

Components funcionals dels SGBD

El programari que conforma els SGBD es divideix en diferents mòduls, encarregats de les respectives funcionalitats que ha de garantir el sistema.

El components funcionals dels SGBD més importants són el gestor d’emmagatzemament i el processador de consultes.

Gestor d’emmagatzemament

El gestor d’emmagatzemament proporciona la interfície entre les dades, considerades a baix nivell, i les consultes i els programes que accedeixen a la BD. Les dades s’emmagatzemen en disc fent servir el sistema d’arxius que proporciona el sistema operatiu utilitzat. I el gestor tradueix les instruccions DML a ordres comprensibles pel sistemes d’arxius a baix nivell.

Processador de consultes

El processador de consultes ajuda el SGBD a simplificar l’accés a les dades. Les vistes a alt nivell contribueixen a assolir aquest objectiu, ja que eviten que els usuaris hagin de conèixer detalls de la implementació física del sistema. Però això no treu que el sistema no hagi de perseguir l’eficàcia en el processament de les consultes i de les actualitzacions de dades. De fet, el sistema ha de traduir les instruccions escrites, a nivell lògic, en un llenguatge no procedimental (típicament, SQL), a una seqüència d’operacions a nivell físic, amb uns mínims d’eficiència.

Els components del processador de consultes són els següents:

  • Intèrpret DDL. Interpreta les instruccions de tipus DDL i registra les definicions en el diccionari de dades.
  • Compilador DML. Tradueix les instruccions DML formulades en un llenguatge de consultes (normalment, SQL) a una sèrie d’instruccions a baix nivell que pot interpretar el motor d’avaluació de consultes. En realitzar la traducció esmentada, un bon compilador DML també s’encarregarà de fer una optimització de consultes triant, entre totes les alternatives, la de menor cost.
  • Motor d’avaluació de consultes. Executa les instruccions de baix nivell generades pel compilador DML.

La següent figura mostra tots aquests components i les connexions entre ells.

Components funcioanls dels SGBD