Base de dades

De Viquipèdia
Dreceres ràpides: navegació, cerca

Una base de dades és un conjunt estructurat de dades. Conjunt de dades organitzades segons una estructura coherent, i accessibles des d'un[1] o més programes o aplicacions, de manera que qualsevol d'aquestes dades pot ésser extreta del conjunt i actualitzada, sense afectar ni l'estructura del conjunt ni les altres dades. El programari especialitzat que gestiona aquestes dades s'anomena Sistema Gestor de Bases de Dades (en angles, DBMS). Perquè un programa sigui considerat un SGBD, ha de complir les propietats ACID.

Una base de dades pot seguir un model de dades. El més comú és el model relacional de dades, encara que n'hi ha d'altres, com el model objectual de dades. El llenguatge més conegut per al model relacional de dades és el SQL.

Existeixen programes anomenats programes gestors de dades, abreviat SGBD, que permeten guardar i posteriorment accedir a les dades de forma ràpida i estructurada. Les propietats d'aquests SGBD així com la seva utilització i administració, s'estudien dintre de l'àmbit d'informàtica.

Les aplicacions més utilitzades són per la gestió d'empreses i institucions públiques. També són àmpliament utilitzades en l'entorn científic amb objectes per guardar informació experimental.

Exemples de bases de dades són el catàleg de llibres d'una biblioteca, el sistema de facturació d'una empresa o el sistema d'avaluació d'una institució escolar o simplement d'un professor.

Perquè siguin útils les dades s'han de poder consultar, bé per pantalla, obtenir informes, o mitjançant altres sistemes informàtics. També és necessari que tingui un manteniment que actualitzi les dades i corregeixi els errors detectats.

Encara que les bases de dades poden contenir molts tipus de dades, alguns d'ells es troben protegits per les lleis de diversos països. Per exemple a Espanya, les dades personals es troben protegits per la Llei Orgànica de Protecció de Dades de Caràcter Personal (LOPD).

Història[modifica | modifica el codi]

Les bases de dades tenen el seu origen en l'antiguitat, quan es recollia informació de collites o de censos (com ara, les collites dels sumeris o els censos romans), en els que les dades s'estructuraven en certa manera escrita. Des de l'aparició dels ordinadors, el concepte de base de dades, però, ha estat ja sempre lligat a la informàtica.

La paraula base de dades es va utilitzar per primer cop a principis dels anys 1960 i a poc a poc s'ha anat integrant en la vida quotidiana com una paraula amb sentit més enllà de la informàtica. Els primers sistemes gestors de bases de dades es van desenvolupar als anys 1960. Fins aquesta època s'havien utilitzat majoritàriament per a guardar dades les targetes perforades i les cintes magnètiques. Durant els 60 dos models s'utilitzen durant aquesta primera època de les bases de dades: el model jeràrquic i el model de xarxa. CODASYL és un sistema basat en el model en xarxa i les idees de Charles Bachman i el IMS va ser desenvolupat per North American Rockwell (després absorbit per IBM)

El model de base de dades relacional (segurament el model més conegut i utilitzat en l'actualitat) va ser proposat per E. F. Codd al 1970. Codd criticava els models existents per confondre la descripció abstracta de la informació amb la descripció dels mecanismes físics d'accés. Durant molt de temps però, el model relacional només va ser un model acadèmic i els productes de CODASYL (com IDMS) i IMS eren utilitzats pels enginyers com a solucions que tenien en compte la tecnologia existent i en canvi el model relacional era un model molt més teòric.

Unes de les primeres implementacions de bases de dades relacionals van ser Ingres de Michael Stonebraker de la Universitat de California, Berkeley i el System R un projecte d'IBM. Aquests dos prototips van ser anunciats al 1976. Els primers productes comercials no varen sortir fins a principis dels 80: Oracle i DB2. El primer sistema que va funcionar amb èxit en microcomputadors va ser dBASE per als sistemes operatius CP/M i PC-DOS/MS-DOS.

Durant els anys 1980 l'activitat de recerca en base de dades es va centrar en les bases de dades distribuïdes però aquests sistemes sempre han tingut un baix impacte en el mercat. Un altre concepte teòric relacionat amb les bases de dades és el Model de Dades Funcional, però a part d'algunes aplicacions específiques en genètica, biologia molecular o investigació del frau el terme no ha tingut gaire èxit.

Als anys 1990 la investigació en bases de dades va girar cap a les bases de dades orientades a objectes (OODB). Aquest tipus de bases de dades han tingut bastant èxit a l'hora de gestionar dades complexes en camps on les base de dades relacionals no poden treballar de forma eficient amb aquestes dades. Un exemple són les bases de dades espacials, repositoris de programari o repositoris multimèdia.

Als anys 1990 també cal destacar el boom de les bases de dades de programari lliure com MySQL o PostgreSQL.

Actualment, al segle XXI el que més en parla en el món de les bases de dades és de les bases de dades XML. Tal com va passar amb les bases de dades orientades a objectes han aparegut múltiples empreses d'aquest sector però la majoria de noves característiques de les bases de dades XML s'estan incorporant a les bases de dades relacionals del mercat.

Arquitectura[modifica | modifica el codi]

L'arquitectura de base de dades consta de tres nivells, extern, conceptual i intern. Separar clarament els tres nivells va ser una de les principals característiques del model de base de dades relacional que domina les bases de dades del segle XXI.

El nivell extern defineix com els usuaris a comprendre l'organització de les dades. Una sola base de dades pot tenir qualsevol nombre de punts de vista a nivell extern. El nivell intern defineix com les dades s'emmagatzemen físicament i processades pel sistema de càlcul. Arquitectura interna es refereix a cost, rendiment, escalabilitat i altres qüestions operatives. El conceptual és un nivell de direccionament indirecte entre l'intern i extern. Proporciona una visió comuna de la base de dades que és complicat pels detalls de com les dades són emmagatzemades o manejades, i que pot unificar els diversos punts de vista externs en un tot coherent.

Classificació de les bases de dades. Models d'implementació[modifica | modifica el codi]

Un model de dades és bàsicament una "descripció" d'alguna cosa coneguda com a contenidor de dades (alguna cosa on es guarda la informació), així com dels mètodes per guardar i recuperar informació d'aquests contenidors. Els models de dades no són coses físiques: són abstraccions que permeten la implementació d'un sistema eficient de base de dades; per norma general es refereixen a algoritmes i conceptes matemàtics.

Alguns models que s'utilitzen freqüentment en les bases de dades:

Aquestes són bases de dades que, com el seu nom indica, emmagatzemen la informació en una estructura jeràrquica. En aquest model, les dades s'organitzen en una forma semblant a un arbre (vist a l'inrevés), a on un node pare d'informació pot tenir diversos fills. El node que no té pares és anomenat arrel, I als nodes que no tenen fills se'ls coneix com fulles.

Les bases de dades jeràrquiques són especialment útils en el cas d'aplicacions que fan servir un gran volum d'informació i dades molt compartits permet crear estructures estables i de gran rendiment.

Una de les principals limitacions d'aquest model és la seva incapacitat de representar eficientment la redundància de dades

  • En xarxa

Aquest és un model lleugerament diferent del jeràrquic, la seva diferència fonamental és la modificació del concepte de node: Es permet que un mateix node tingui diversos pares (possibilitat no permesa en el model jeràrquic).

Va ser una gran millora pel que fa al model jeràrquic, ja que oferia una solució eficient al problema de redundància de dades, però, tot i així, la dificultat que vol dir administrar la informació en una base de dades de xarxa ha significat que sigui un model utilitzat en la seva majoria per programadors més que per usuaris finals.

  • Relacionals: Aquest és el model utilitzat en l'actualitat per a modelar problemes reals i administrar dades dinàmicament. Després que els seus fonaments fossin postulats el 1970 per Edgar F. Codd, dels laboratoris IBM a San José (Califòrnia), no va trigar a consolidar-se com un nou paradigma en els models de base de dades. La seva idea fonamental és la utilització de "relacions". Aquestes relacions podrien considerar-se en forma lògica com a conjunts de dades anomenats "tuples". Tot i que aquesta és la teoria de les bases de dades relacionals creades per Edgar F. Codd, la majoria de les vegades es conceptualitza d'una manera més senzilla i fàcil d'imaginar. Aquesta manera és considerant cada relació com si fos una taula que està composta per registres (les files d'una taula), que representarien les "tuples", i camps (les columnes d'una taula).

En aquest model, el lloc i la forma en què s'emmagatzemen les dades no tenen rellevància (a diferència d'altres models com el jeràrquic i el de xarxa). Aquest fet té l'avantatge que és més fàcil d'entendre i d'utilitzar per a un usuari esporàdic de la base de dades. La informació es pot recuperar o emmagatzemar mitjançant "consultes" que ofereixen una àmplia flexibilitat i poder per administrar la informació.

El llenguatge més habitual per construir les consultes a bases de dades relacionals és SQL, Structured Query Language o Llenguatge Estructurat de Consultes, un estàndard implementat pels principals motors o sistemes de gestió de bases de dades relacionals.

Durant el seu disseny, una base de dades relacional passa per un procés que és conegut com la normalització d'una base de dades.

Durant els anys '80 (1980-1989) l'aparició de 'dBASE' va produir una revolució en els llenguatges de programació i sistemes d'administració de dades. Encara que cal saber que el llenguatge dBase no utilitzava SQL com a llenguatge base per la seva gestió.

  • Transaccionals: La seva única funció és enviar i rebre dades a alta velocitat. Aquestes bases són molt poc comunes i estan adreçades generalment a l'entorn d'anàlisi de qualitat, dades de producció i àmbit industrial. És important entendre que la seva única finalitat és recollir i recuperar les dades a la velocitat més elevada possible, per tant la redundància i duplicació d'informació no és un problema com en altres bases de dades. Normalment, per poder aprofitar-les al màxim, permeten algun tipus de connectivitat a bases de dades relacionals.
  • Multidimencionals: Similars a les relacionals, però com el seu nom indica, pot treballar amb vàries dimensions de dades.

Són bases de dades ideades per a desenvolupar aplicacions molt concretes, com a creació de Cubells OLAP. Bàsicament no es diferencien gaire de les bases de dades relacionals (una taula en una base de dades relacional podria ser-ho també en una base de dades multidimensional), la diferència està més aviat a nivell conceptual, en les bases de dades multidimensionals dels camps o atributs d'una taula poden ser de dos tipus, o bé representen dimensions de la taula, o bé representen mètriques que es volen estudiar.

  • Orientades a objectes: Tracta d'emmagatzemar dades d'objectes complets.

Els seus conceptes principals són:

- Encapsulació.

- Herència.

- Poliformisme.

  • Documentals: Permeten la indexació a text complet, i en línies generals realitzar busques més potents.
  • Deductives: Permeten fer deduccions a través d'inferències. Es basa principalment en regles i fets que són emmagatzemats a la base de dades.

Segons la distribució de les dades:

  • Centralitzades: Totes les dades són en un mateix lloc.
  • Distribuïdes: Les dades es reparteixen a diferents llocs.

Tipus de bases de dades[modifica | modifica el codi]

Les bases de dades poden classificar-se de diverses maneres, d'acord al context que s'utilitzi, o la utilitat de la mateixa:

SEGONS LA VARIABILITAT DE LES DADES EMMAGATZEMADES

Bases de dades estàtiques

Aquestes són bases de dades de només lectura, utilitzades primordialment per a emmagatzemar dades històriques que posteriorment es poden utilitzar per a estudiar el comportament d'un conjunt de dades a través del temps, realitzar projeccions i prendre decisions.

Bases de dades dinàmiques

Aquestes són bases de dades on la informació emmagatzemada es modifica amb el temps, permetent operacions com actualització, esborrat i addició de dades, a més de les operacions fonamentals de consulta. Un exemple d'això pot ser la base de dades utilitzada en un sistema d'informació d'una botiga d'abarrotis, una farmàcia, un videoclub.

SEGONS EL CONTINGUT

Bases de dades bibliogràfiques

Solament contenen un surrogante (representant) de la font primària, que permet localitzar-la. Un registre típic d'una base de dades bibliogràfica conté informació sobre l'autor, data de publicació, editorial, títol, edició, d'una determinada publicació, etc. Pot contenir un resum o extracte de la publicació original, però mai el text complet, perquè si no estaríem en presència d'una base de dades a text complet (o de fonts primàries – veure més baix). Com el seu nom ho indica, el contingut són xifres o nombres. Per exemple, una col·lecció de resultats d'anàlisis de laboratori, entre unes altres.

Bases de dades de text complet

Emmagatzemen les fonts primàries, com per exemple, tot el contingut de totes les edicions d'una col·lecció de revistes científiques.

Directoris

Un exemple són les guies telefòniques en format electrònic.

Bases de dades o "biblioteques" d'informació química o biològica

Són bases de dades que emmagatzemen diferents tipus d'informació provinent de la química, les ciències de la vida o mèdiques. Es poden considerar en diversos subtipos:

  • Aquelles que emmagatzemen seqüències de nucleòtids o proteïnes.
  • Les bases de dades de rutes metabólicas
  • Bases de dades d'estructura, comprèn els registres de dades experimentals sobre estructures 3D de biomolècules
  • Bases de dades clíniques
  • Bases de dades bibliogràfiques (biològiques, químiques, mèdiques i d'altres camps): PubChem, Medline, EBSCOhost.

Bases de dades documentals

Permeten la indexació a text complet, i en línies generals realitzar cerques més potents. Tesaurus és un sistema d'índexs optimitzat per a aquest tipus de bases de dades.

Bases de dades deductives

Un sistema de base de dades deductiva, és un sistema de base de dades però amb la diferència que permet fer deduccions a través d'inferències. Es basa principalment en regles i fets que són emmagatzemats a la base de dades. Les bases de dades deductives són també anomenades bases de dades lògiques, arran del fet que es basa en lògica matemàtica.

Gestió de bases de dades distribuïda

la base de dades i el programari SGBD poden estar distribuïts en múltiples llocs connectats per una xarxa. N'hi ha de dos tipus:

1. Distribuïts homogenis: utilitzen el mateix SGBD en múltiples llocs.

2. Distribuïts heterogenis: Dóna lloc als SGBD federats o sistemes multibase de dades en què els SGBD participants tenen cert grau d'autonomia local i tenen accés a diverses bases de dades autònomes preexistents emmagatzemats en els SGBD, molts d'aquests empren una arquitectura client-servidor.

La base de dades està emmagatzemada en diverses computadores connectades en xarxa. Sorgeixen a causa de l'existència física d'organismes descentralitzats. Això els dóna la capacitat d'unir les bases de dades de cada localitat i accedir així a diferents universitats, sucursals de botigues, etcètera.

Bases de dades[modifica | modifica el codi]

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Base de dades Modifica l'enllaç a Wikidata

Nota[modifica | modifica el codi]

  1. Association for Computing Machinery. Association for Computing Machinery. Conference. Proceedings of the annual conference, 1977 [Consulta: 14 juliol 2011].