5 Modelo Relacional¶
Introducción¶
Los SGBD se pueden clasificar de acuerdo con el modelo lógico que soportan, el número de usuarios, el número de puestos, el coste… La clasificación más importante de los SGBD se basa en el modelo lógico, siendo los principales modelos que se utilizan en el mercado los siguientes: Jerárquico, en Red, Relacional y Orientado a Objetos.
La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, en el que nos vamos a centrar, mientras que los sistemas más antiguos estaban basados en el modelo de red o el modelo jerárquico.
Los motivos del éxito del modelo relacional son fundamentalmente dos:
- Se basan en el álgebra relacional que es un modelo matemático con sólidos fundamentos. En esta sección se presenta el modelo relacional. Realizaremos la descripción de los principios básicos del modelo relacional: la estructura de datos relacional y las reglas de integridad. Ofrecen sistemas simples y eficaces para representar y manipular los datos.
- La estructura fundamental del modelo relacional es precisamente esa, la «relación», es decir una tabla bidimensional constituida por filas (registros o tuplas) y columnas (atributos o campos). Las relaciones o tablas representan las entidades del modelo E/R, mientras que los atributos de la relación representarán las propiedades o atributos de dichas entidades. Por ejemplo, si en la base de datos se tienen que representar la entidad PERSONA, está pasará a ser una relación o tabla llamada «PERSONAS», cuyos atributos describen las características de las personas (tabla siguiente). Cada tupla o registro de la relación «PERSONAS» representará una persona concreta.
Estructura de una base de datos relacional¶
DNI | Nombre | Apellido | Nacimiento | Sexo | Estado Civil |
---|---|---|---|---|---|
52768987 | Juan | Loza | 15/06/1976 | H | Soltero |
06876983 | Isabel | Gálvez | 23/12/1969 | M | Casada |
34678987 | Micaela | Ruiz | 02/10/1985 | M | Soltera |
En realidad, siendo rigurosos, una RELACIÓN del MODELO RELACIONAL es sólo la definición de la estructura de la tabla, es decir su nombre y la lista de los atributos que la componen. Una representación de la definición de esa relación podría ser la siguiente:
Para distinguir un registro de otro, se usa la clave primaria o clave principal.
En una relación puede haber más combinaciones de atributos que permitan identificar unívocamente una fila (estos se llamarán «llaves o claves candidatas»), pero entre éstas se elegirá una sola para utilizar como llave primaria. Los atributos de la llave primaria no pueden asumir el valor nulo.
Elementos y propiedades¶
- Tabla: Representan las entidades de las que se quiere almacenar información en la BD. Esta formada por:
- Filas (Registros o Tuplas): Corresponden a cada ocurrencia de la entidad.
- Columnas (Atributos o campos): Corresponden a las propiedades de la entidad. Siendo rigurosos una relación está constituida sólo por los atributos, sin las tuplas.
Las tablas tienen las siguientes propiedades:
- Cada tabla tiene un nombre y éste es distinto del nombre de todas las demás tablas de la misma BD.
- No hay dos atributos que se llamen igual en la misma tabla.
- El orden de los atributos no importa: los atributos no están ordenados.
- Cada tupla es distinta de las demás: no hay tuplas duplicadas. (Como mínimo se diferenciarán en la clave principal)
- El orden de las tuplas no importa: las tuplas no están ordenadas.
Los tipos de claves que podemos encontrar en una tabla son:
- Clave candidata: atributo que identifica unívocamente una tupla. Cualquiera de las claves candidatas se podría elegir como clave principal.
- Clave Principal: Clave candidata que elegimos como identificador de la tuplas.
- Clave Alternativa: Toda clave candidata que no es clave primaria (las que no hayamos elegido como clave principal)
Los atributos pueden tener estas características:
- Una clave principal no puede asumir el valor nulo (Integridad de la entidad).
- Dominio de un atributo: Conjunto de valores que pueden ser asumidos por dicho atributo.
- Clave Externa o foránea o ajena: el atributo o conjunto de atributos que forman la clave principal de otra tabla. Que un atributo sea clave ajena en una tabla significa que para introducir datos en ese atributo, previamente han debido introducirse en la tabla de origen. Es decir, los valores presentes en la clave externa tienen que corresponder a valores presentes en la clave principal correspondiente (Integridad Referencial).