Les bases de dades relacionals

Una base de dades relacional és una base de dades que segueix el model relacional proposat per E.F. Codd. Organitza les dades com un conjunt de taules (o relacions) de files i columnes, amb una clau única que identifica cada fila. Les files també s’anomenen registres o tuples. Les columnes també s’anomenen camps o atributs. Generalment, cada taula/relació representa un «tipus d’entitat» (com ara «estudiant», «curs» o «centre docent»). Els registres representen instàncies d’aquest tipus d’entitat (com ara «Puig Serra» o «Història contemporània») i les columnes representen valors d’atribuïts a aquesta instància (com ara «dni» o «adreça»).

_images/exemple_bbdd.svg

Exemple de base de dades organitzada com una sèrie d’entitats i relacions entre elles

Cada fila d’una taula té la seva pròpia clau única. Per exemple, la clau única d’un estudiant pot ser el DNI o la d’un centre docent el seu identificador (un enter).

Les files d’una taula es poden enllaçar amb files d’altres taules afegint una columna per a la clau única de la fila enllaçada. Aquestes columnes es coneixen com a claus foranes. Les relacions que es desen s’anomenen «relacions base». D’altres relacions no emmagatzemen dades, sinó que es calculen aplicant operacions (relacionals) sobre relacions base. Són les anomenades «relacions derivades». En la implementació, se solen anomenar «vistes» o «consultes» (views, queries).

Principals tipus de relacions entre entitats:

  • Relació un a un (1:1). Per exemple, el director d’un departament

  • Relació un a molts (1:n). Per exemple, els professors d’un departament

  • Relació molts a molts (n:m). Per exemple, els cursos als que s’han matriculat els estudiants. S’implementen com una nova taula amb claus foranes.

_images/exemple_taules.svg

Taules i alguns registres de la base de dades de l’exemple anterior

Dominis i restriccions

El domini és el conjunt de possibles valors d’un camp. Normalment és d’un tipus conegut, com ara un string, un enter o una imatge.

Una restricció és una condició sobre els valors de les dades emmagatzemades. Habitualment s’expressen com un predicat, una condició booleana. Les dues restriccions principals de les bases de dades relacionals són la integritat de les entitats i la integritat de les referències.

La integritat de les entitats consisteix en assegurar que cada valor d’una clau primària és únic i no nul. Així, cada registre ha de representar una única instància del tipus d’entitat modelitzat per la taula/entitat.

La integritat de les referències consisteix en assegurar que els valors dels atributs que són claus foranes d’una entitat han de ser de claus primàries vàlides de l’entitat a la qual fan referència. De vegades també s’hi admeten valors nuls. En altres paraules, tot valor d’una clau forana ha de fer referència a una clau primària existent a la taula de referència.

A part d’aquestes dues, les bases de dades relacionals admeten altres restriccions, com ara els valors dels atributs. Per exemple, una restricció pot limitar els valors d’un atribut enter entre 1 i 10. D’altres restriccions poden referir-se a més d’un atribut, limitant-ne les combinacions possibles, o a tota una relació sencera.