El
modelo relacional se basa en el concepto matemático de relación, que
gráficamente se representa mediante una tabla. Codd, que era un experto
matemático, utilizó una terminología perteneciente a las matemáticas, en
concreto de la teoría de conjuntos y de la lógica de predicados.
Una relación es una tabla con columnas y filas. Un SGBD sólo
necesita que el usuario pueda percibir la base de datos como un conjunto de
tablas. Esta percepción sólo se aplica a la estructura lógica de la base de
datos (en el nivel externo y conceptual de la arquitectura de tres niveles
ANSI-SPARC). No se aplica a la estructura física de la base de datos, que se
puede implementar con distintas estructuras de almacenamiento.
Un atributo es el nombre de una columna de una relación. En el modelo
relacional, las relaciones se utilizan para almacenar información sobre los
objetos que se representan en la base de datos. Una relación se representa
gráficamente como una tabla bidimensional en la que las filas corresponden a
registros individuales y las columnas corresponden a los campos o atributos de
esos registros. Los atributos pueden aparecer en la relación en cualquier orden.
Un dominio es el conjunto de valores legales de uno o varios
atributos.
Los dominios
constituyen una poderosa característica del modelo relacional. Cada atributo de
una base de datos relacional se define sobre un dominio, pudiendo haber varios
atributos definidos sobre el mismo dominio.
El
concepto de dominio es importante porque permite que el usuario defina, en un
lugar común, el significado y la fuente de los valores que los atributos pueden
tomar. Esto hace que haya más información disponible para el sistema cuando éste
va a ejecutar una operación relacional, de modo que las operaciones que son
semánticamente incorrectas, se pueden evitar. Por ejemplo, no tiene sentido
comparar el nombre de una calle con un número de teléfono, aunque los dos
atributos sean cadenas de caracteres. Sin embargo, el importe mensual del
alquiler de un inmueble no estará definido sobre el mismo dominio que el número
de meses que dura el alquiler, pero sí tiene sentido multiplicar los valores de
ambos dominios para averiguar el importe total al que asciende el alquiler. Los SGBD relacionales no ofrecen un soporte completo de los dominios ya que su
implementación es extremadamente compleja.
Una tupla es una fila de una relación.
Los elementos de una relación son las tuplas o filas de la tabla. En la relación
OFICINA,
cada tupla tiene seis valores, uno para cada atributo. Las tuplas de una
relación no siguen ningún orden.
El grado de una relación es el número de atributos que contiene.
La relación
OFICINA es de grado seis porque tiene
seis atributos. Esto quiere decir que cada fila de la tabla es una tupla con
seis valores. El grado de una relación no cambia con frecuencia.
La cardinalidad de una relación es el número de tuplas que contiene.
Ya que en las relaciones se van insertando y borrando tuplas a menudo, la
cardinalidad de las mismas varía constantemente.
Una base de datos relacional es un conjunto de relaciones normalizadas.
Gráficamente se suelen representar las relaciones mediante tablas. Los nombres
de las columnas corresponden a los nombres de los atributos y las filas son cada
una de las tuplas de la relación. Los valores que aparecen en cada una de las
columnas pertenecen al conjunto de valores del dominio sobre el que está
definido el atributo correspondiente.
El modelo Entidad-Relación
El modelo
entidad-relación es el modelo conceptual más utilizado para el diseño conceptual
de bases de datos. Fue introducido por Peter Chen en 1976.
El modelo
entidad-relación está formado por un conjunto de conceptos que permiten
describir la realidad mediante un conjunto de representaciones gráficas y
lingüísticas.
Originalmente, el
modelo entidad-relación sólo incluía los conceptos de entidad, relación y
atributo. Más tarde, se añadieron otros conceptos, como los atributos compuestos
y las jerarquías de generalización, en lo que se ha denominado modelo
entidad-relación extendido. Ver Video Explicativo