M2 - Bases de dades / UF1NF1: Mapa conceptual

De wikiserver
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.
Capacitat per interpretar directament consultes (SQL)
  • Garantir la independència física i la independència lògica de les dades.
- Canvis tecnològics d’índole física per millorar el rendiment(com ara afegir o treure un índex determinat), no han d'implicar haver de modificar ni les consultes a la BD ni les aplicacions que hi accedeixen.
- la independència lògica de les dades, la qual implica que les modificacions en la descripció lògica de la BD (per exemple, afegir un nou atribut o suprimir-ne un altre) no han d’impedir l’execució normal dels processos usuaris no afectats per aquelles.
- Possibilitar que convisquin diferents visions lògiques d’una mateixa BD, en funció de les característiques concretes dels diferents usuaris o grups d’usuaris.
  • Evitar o solucionar els problemes derivats de la redundància.
- garantir l’actualització correcta de totes les dades allà on estiguin duplicades, de manera automàtica.
- el SGBD s’ha d’encarregar d’actualitzar degudament les dades derivades en funció dels canvis soferts per les dades primitives de les quals depenen.
  • Protegir la integritat de les dades.
A més de la redundància, hi ha molts altres motius que poden fer malbé la consistència de les dades, com ara els següents:
• Els errors humans.
• Les deficiències en la implementació dels algoritmes de les aplicacions.
• Les avaries dels suports físics d’emmagatzematge.
• Les transaccions incompletes com a conseqüència de les interrupcions delsubministrament elèctric.
Els SGBD han de protegir la integritat de les dades en tots aquests casos. Per a això disposen, d’una banda, de les regles d’integritat, també anomenades restriccions, i d’una altra, dels sistemes de restauració basats en còpies de seguretat.
  • Permetre la concurrència d’usuaris.
Per tractar correctament els problemes derivats de la concurrència d’usuaris, els SGBD fan servir fonamentalment dues tècniques: les transaccions i els bloquejos.
  • Contribuir a la seguretat de les dades.
Actualment, els SGBD permeten definir autoritzacions a diferents nivells:
• Nivell global de tota la BD
• Nivell d’entitat
• Nivell d’atribut
• Nivell de tipus d’operació

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.

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

Components funcioanls dels SGBD

Diccionari de dades

Un diccionari de dades d’una base de dades és el conjunt de metadades que proporcionen informació sobre el contingut i l’organització de la base de dades.

Els elements que es troben habitualment a un diccionari de dades inclouen:

  • Definicions de l’esquema de la base de dades.
  • Descripcions detallades de taules i camps, així com de tots els objectes de la base de dades (vistes, clusters, índexos, sinònims, funcions i procediments, triggers, etc.).
  • Restriccions d’integritat referencial.
  • Informació de control d’accés, com ara noms d’usuari, rols, i privilegis.
  • Paràmetres d’ubicació de l’emmagatzemament.
  • Estadístiques d’ús de la base de dades.

Models de bases de dades

Els models de dades són uns conjunts d’eines lògiques per descriure les dades, les seves interrelacions, el seu significat i les restriccions a aplicar per tal de garantir-ne la coherència.

Tots els models de BD, en general, proporcionen tres tipus d’eines:

  • Estructures de dades. Elements amb els quals es construeixen les BD, com ara taules, arbres, etc.
  • Regles d’integritat. Restriccions que les dades hauran de respectar, com per exemple tipus de dada, dominis, claus, etc.
  • Operacions a realitzar amb les dades. Altes, baixes, modificacions i consultes, com a mínim.

Arquitectura dels SGBD: Esquemes i nivells

Per gestionar les BD, els SGBD han de conèixer la seva estructura (és a dir, les entitats, els atributs i les interrelacions que conté, etc.). Els SGBD necessiten disposar d’una descripció de les BD que han de gestionar. Aquesta definició de l’estructura rep el nom d’esquema de la BD, i ha d’estar constantment a l’abast del SGBD perquè aquest pugui complir les seves funcions.

D’acord amb l’estàndard ANSI/X3/SPARC, hi hauria d’haver tres nivells d’esquemes:

Mapa conceptual BD

Els models de bases de dades més comuns

Els models de dades més utilitzats al llarg del temps han estat els següents, exposats en ordre d’aparició:

  • Jeràrquic
  • En xarxa
  • Relacional
  • Relacional amb objectes / orientat a objectes

Bases de dades distribuïdes

Una BD distribuïda està formada per un conjunt de BD parcialment independents, emmagatzemades en diferents computadores, que comparteixen un esquema comú i que coordinen el processament de les transaccions que accedeixen a dades remotes.

Conseqüències de la distribució de les dades: duplicació, fragmentació

Les BD distribuïdes emmagatzemen les relacions seguint principalment un dels dos esquemes referits a continuació:

  • Duplicació. El sistema conserva còpies idèntiques (com a mínim una) de cada relació en diferents nodes.
  • Fragmentació. Les relacions es divideixen en diferents fragments i s’emmagatzemen en diferents nodes. La fragmentació es realitza seguint alguna de les metodologies disponibles (horitzontal, vertical, etc.).