Base de dades

Una base de dades o un banc de dades és un conjunt de dades segons una estructura coherent i accessibles des d'un 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 de gestió de bases de dades (en anglès, 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.

Un sistema de gestió de bases de dades (SGBD) és el programa que permet crear, mantenir i explotar la base de dades. Un SGBD permet 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 dins l'àmbit d'informàtica.

Les aplicacions més utilitzades són per a 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 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 
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 el 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 el 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 
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 han de 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 com són processades pel sistema de càlcul. L'arquitectura interna es refereix a cost, rendiment, escalabilitat i altres qüestions operatives. El conceptual és un nivell d'adreçament 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ó

Segons el model d'implementació 
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:

 Jeràrquiques: Consulteu l'article principal Bases de dades jeràrquiques.
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 a 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 Consulteu l'article principal Base de dades relacional.

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ó.
 No Relacionals: Les bases de dades no relacionals (també denominades NoSQL) són una àmplia classe de sistemes de gestió de bases de dades que difereixen del model clàssic de les bases de dades relacionals (RDBMS). Les bases de dades no relacionals solen ser ràpides, no requereixen taules fixes, eviten unir-se a les operacions mitjançant els emmagatzemament de dades no normalitzades. Estan dissenyades per escalar horitzontalment. Les NoSQL més populars són, MongoDB, Couchbase, Riak, Memcached, Redis, CouchDB, Hazelcast, Apache Cassandra i HBase, les quals són productes de codi obert.
 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.

 Multidimensionals: Similars a les relacionals, però com el seu nom indica, pot treballar amb diverses 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.

 Textual (Documentals): Permeten la indexació de grans volums de text complet, i en línies generals realitzar cerques més potents. Això és possible perquè la indexació de documents és avaluada i refinada per controls terminològics (llistat de descriptors, tesaurus, llista d'encapçalaments de matèries, llistes d'autoritats, diccionari de paraules buides, diccionari de sinònims). Les bases de dades basades en el model textual estan orientades a gestionar documents de tipus cognitiu. Documents de tipus tècnic, acadèmic i cultural. Per exemple: el catàleg d'una biblioteca universitària amb tesis doctorals, ponències, articles científics, llibres electrònics, etc. Google és una exemple de base de dades documental del sector privat.
 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. 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.

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.

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: Dona 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 dona la capacitat d'unir les bases de dades de cada localitat i accedir així a diferents universitats, sucursals de botigues, etcètera.

Segons la variabilitat de les dades 
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 o documentals 

Solament contenen una representació o referència de la font primària, que permet identificar-la o 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ó, etc. d'una determinada publicació. Pot contenir un resum de la publicació original, però mai el text complet, perquè sinó estaríem en presència d'una base de dades a text complet (o de fonts primàries – vegeu més avall).

Bases de dades quantitatives o factuals 
Com el seu nom indica, el seu contingut són xifres o nombres. Per exemple, una col·lecció de resultats d'anàlisis de laboratori, entre 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òliques
 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.

Exemples de bases de dades 
 Science citation index

Referències

Vegeu també 
 Base de dades paral·lela
 MongoDB
 Model de taula
 Microsoft SQL Server, bases de dades de l'empresa nord-americana Microsoft
 Diccionari de dades
 Intel·ligència empresarial

Enllaços externs 

 Utilitat d'una base de dades relacional  (BASAP)
 Què és i com és una base de dades relacional  (BASAP)