Base de dades relacional
Una base de dades relacional és una base de dades que compleix amb el model relacional, el qual és el model més utilitzat en l'actualitat per a modelar problemes reals i administrar dades dinàmicament. Permeten establir interconnexions (relacions) entre les dades (que estan guardats en taules), i treballar amb ells conjuntament. Després de ser postulades les seues bases en 1970 per Edgar Frank Codd, dels laboratoris IBM a San José (Califòrnia), no va tardar a consolidar-se com un nou paradigma en els models de base de dades.[1]
Contingut
1 Característiques
2 Elements
2.1 Relacions base i derivades
2.2 Restriccions
2.3 Dominis
2.4 Clau única
2.5 Clau primària
2.6 Clau forana
3 Clau índex
3.1 Procediments emmagatzemats
4 Estructura
5 Manipulació de la informació
6 Manegadors de base de dades relacionals
7 Avantatges i desavantatges
8 Vegeu també
9 Referències
10 Enllaços externs
Característiques
- Una base de dades relacional es compon de diverses taules o relacions.
- No poden existir dues taules amb el mateix nom.
- Cada taula és al seu torn un conjunt de registres, files o tuples.
Elements
Relacions base i derivades
En una base de dades relacional, totes les dades s'emmagatzemen i s'accedeixen a ells per mitjà de relacions. Les relacions que emmagatzemen dades són dites "relacions base" i la seua implementació és cridada "taula". Altres relacions no emmagatzemen dades, però que són calculades a l'aplicar operacions relacionals. Aquestes relacions són cridades "relacions derivades" i la seua implementació és cridada "vista" o "consulta". Les relacions derivades són convenients, ja que expressen informació de diverses relacions actuant com si anara una sola.
Restriccions
Una restricció és una condició que obliga el compliment de certes condicions en la base de dades. Algunes no són determinades pels usuaris, sinó que són inherentment definides pel simple fet que la base de dades sigui relacional. Algunes altres restriccions les pot definir l'usuari, per exemple, usar un camp amb valors sencers entre 1 i 10.
Les restriccions proveeixen un mètode d'implementar regles en la base de dades. Les restriccions restringeixen les dades que poden ser emmagatzemats en les taules. Usualment es defineixen usant expressions que donen com a resultat un valor booleà, indicant si les dades satisfan la restricció o no.
Les restriccions no són part formal del model relacional, però són incloses perquè juguen el rol d'organitzar millor les dades. Les restriccions són molt discutides juntament amb els conceptes relacionals.
Dominis
Un domini descriu un conjunt de possibles valors per a cert atribut. Com un domini restringeix els valors de l'atribut, pot ser considerat com una restricció. Matemàticament, atribuir un domini a un atribut significa "tots els valors d'aquest atribut deuen ser elements del conjunt especificat".
Distints tipus de dominis són: enters, cadenes de text, data, etc.
Clau única
Cada taula pot tenir un o més camps els valors dels quals identifiquen de forma única cada registre d'aquesta taula, és a dir, no poden existir dues o més registres diferents els valors dels quals en aquests camps siguen idèntics. Aquest conjunt de camps es diu clau única.
Poden existir diverses claus úniques en una determinada taula, i a cadascuna d'aquestes sol cridar-se-li candidata a clau primària.
Clau primària
Una clau primària és una clau única triada entre totes les candidates que defineix unívocament a tots els restants atributs de la taula, per a especificar les dades que seran relacionats amb les altres taules. La forma de fer això és per mitjà de claus foranes.
Només pot existir una clau primària per taula i cap camp d'aquesta clau pot contenir valors NULL.
Clau forana
Una clau forana és una referència a una clau en altra taula. Les claus foranes no necessiten ser claus úniques en la taula on estan i si on estan referenciades.
Per exemple, el codi de departament pot ser una clau forana en la taula d'empleats. Òbviament es permet que hi hagi diversos treballadors en un mateix departament, però existirà només un departament amb aquest codi.
Clau índex
Les claus índex sorgeixen amb la necessitat de tenir un accés més ràpid a les dades. Els índexs poden ser creats amb qualsevol combinació de camps d'una taula. Les consultes que filtren registres per mitjà d'aquests camps, poden trobar els registres de forma no seqüencial usant la clau índex.
Les bases de dades relacionals inclouen múltiples tècniques d'ordenament, cadascuna d'elles és òptima per a certa distribució de dades i grandària de la relació.
Els índexs generalment no es consideren part de la base de dades, perquè són un detall agregat. No obstant això, les claus índexs són desenvolupades pel mateix grup de programadors que les altres parts de la base de dades.
Procediments emmagatzemats
Un procediment emmagatzemat és codi executable que s'associa i s'emmagatzema amb la base de dades. Els procediments emmagatzemats usualment arrepleguen i personalitzen operacions comunes, com inserir un registre dins d'una taula, recopilar informació estadística, o encapsular càlculs complexos. Són freqüentment usats per un API per seguretat o simplicitat.
Els procediments emmagatzemats no són part del model relacional, però totes les implementacions comercials els inclouen...
Estructura
La base de dades s'organitza en dues marcades seccions; l'esquema i les dades (o instància).
L'esquema és la definició de l'estructura de la base de dades i principalment emmagatzema les següents dades:
- El nom de cada taula
- El nom de cada camp
- El tipus de dada de cada camp
- La taula a la qual pertany cada camp
Les bases de dades relacionals passen per un procés que es coneix com a normalització, el resultat d'aquest procés és un esquema que permet que la base de dades siga usada de manera òptima.
Les dades o instància és el contingut de la base de dades en un moment donat. És en si, el contingut de tots els registres.
Manipulació de la informació
Per a manipular la informació utilitzem un llenguatge relacional, actualment es compta amb dos llenguatges formals l'àlgebra relacional i el càlcul relacional. L'àlgebra relacional permet descriure la forma de realitzar una consulta, en canvi, el càlcul relacional només indica el que es desitja retornar.
El llenguatge més comú per a construir les consultes a bases de dades relacionals és SQL (Structured Query Language), un estàndard implementat pels principals motors o sistemes de gestió de bases de dades relacionals.
En el model relacional els atributs han d'estar explícitament relacionats a un nom en totes les operacions, en canvi, l'estàndard SQL permet usar columnes sense nom en conjunts de resultats, com l'asterisc taquigràfic (*
) com anotació de consultes.
AL contrari del model relacional, l'estàndard SQL requereix que les columnes tinguen un ordre definit, la qual cosa és fàcil d'implementar en una computadora, ja que la memòria és lineal.
És de notar, no obstant això, que en SQL l'ordre de les columnes i els registres retornats en cert conjunt de resultat mai està garantit, llevat que explícitament siga especificat per l'usuari.
Manegadors de base de dades relacionals
Existeix programari exclusivament dedicat a tractar amb bases de dades relacionals. Aquest programari es coneix com SGBD (Sistema de gestió de base de dades relacional) o RDBMS (de l'anglès Relational database management system).
Entre els gestors o manegadors més actuals i populars trobem: MySQL, PostgreSQL, Oracle, DB2 i Microsoft SQL Server.
Avantatges i desavantatges
Avantatges
- Proveeix eines que garanteixen evitar la duplicitat de registres.
- Garanteix la integritat referencial, així, a l'eliminar un registre elimina tots els registres relacionats dependents.
- Afavoreix la normalització per ser més comprensible i aplicable.
Desavantatges
- Presenten deficiències amb dades gràfiques, multimèdia, CAD i sistemes d'informació geogràfica.
- No es manipulen de forma manejable els blocs de text com tipus de dada.
Les bases de dades orientades a objectes (BDOO) es van proposar amb l'objectiu de satisfer les necessitats de les aplicacions anteriors i així, complementar però no substituir a les bases de dades relacionals.
Vegeu també
- Base de dades
- Model relacional
- Model entitat-relació
- Base de dades orientada a objectes
Referències
↑ Communications of the ACM, volume=13, issue=6, pages=377-387 (anglès)
Enllaços externs
Article sobre Base de dades relacional (castellà)
Blog sobre base de dades Oracle i alta disponibilitat (castellà)