Uno de los modelos matemáticos más importantes y actuales para la representación de las bases de datos, es el enfoque relacional. Se basa en la teoría matemática de las relaciones, suministrándose por ello una fundamentación teórica que permite aplicar todos los resultados de dicha teoría a problemas tales como el diseño de sublenguajes de datos y otros.
El término relación se puede definir matemáticamente como sigue:
Dados los conjuntos D1, D2,...., Dn (no necesariamente distintos), R es una relación sobre
esos n conjuntos si está constituida por un conjunto de n-tuplos ordenados d1, d2,...dn tales que d1?D1, d2?D2,..., dn?Dn.
Los conjuntos D1, D2,..., Dn se llaman dominios de R y n constituye el grado de la relación. La cantidad de tuplas constituye la cardinalidad. Es conveniente representar una relación como una tabla bidimensional donde cada fila representa un n-tuplo.
1FN
En el modelo relacional tanto los objetos o entidades, como las relaciones que se establecen entre ellos, se representan a través de “tablas”, que en la terminología relacional se denominan relaciones.
Cada relación está compuesta por filas (las ocurrencias de los objetos) y se les denomina, en la terminología relacional, como tuplos, tuplas o uplos, uplas (en realidad, n-tuplos, pero en muchos casos se suprime la n cuando no existe posibilidad de confusión). También la relación está compuesta por columnas (los atributos o campos que toman valores en sus respectivos dominios).
Es importante lo siguiente:
No hay dos filas (tuplas) iguales.
El orden de las filas no es significativo. (1 y 2 se deben a que la relación es un conjunto).
Siendo rigurosos, el orden de las columnas sí es significativo, pues representa el orden de
los dominios implicados, pero como siempre nos referimos a una columna por su nombre
y nunca por su posición relativa:
El orden de las columnas no es significativo.
Cada valor dentro de la relación (cada valor de un atributo) es un dato atómico (o elemental), es decir, no descomponible; por ejemplo: un número, una cadena de caracteres. En otras palabras, en cada posición fila, columna existe un solo valor, nunca un conjunto de valores.
Una relación que satisface este último punto se denomina “normalizada”, aunque veremos más adelante que, en realidad, lo que ocurre es que está en Primera Forma Normal. La teoría de la normalización se basa en la necesidad de encontrar una representación del conjunto de relaciones que en el proceso de actualización sea más adecuada. Llevar una relación no normalizada a normalizada es muy simple. Existen diferentes niveles de normalización que se llaman formas normales que se verán más adelante.
Ejemplo:
Veamos cómo nuestro ejemplo de suministrador y producto se puede representar fácil y claramente mediante el modelo relacional.
Los atributos de estas dos entidades son:
Suministrador: número, que lo identifica, nombre, tipo y municipio donde radica.
Producto: número, que lo identifica, nombre, precio unitario y peso.
Además, un suministrador puede suministrar muchos productos y un producto puede ser suministrado por varios suministradores. Se conoce la cantidad de un determinado producto que suministra un suministrador dado.
suministradorProducto
La representación en el modelo relacional es más simple que con el modelo jerárquico y el modelo reticular, ya que con tres tablas se tiene todo el modelo representado. En el modelo relacional el resultado de una demanda es también una relación y las demandas simétricas (en el sentido de ser una la inversa de la otra; por ejemplo, recuperar los números de los suministradores que suministran el producto “P4” y recuperar los números de los productos que suministra el suministrador “S2”) requieren operaciones simétricas.
Ventajas del modelo relacional:
Una de las principales ventajas es su simplicidad, pues el usuario formula sus demandas en términos del contenido informativo de la BD sin tener que atender a las complejidades de la realización del sistema, lo que implica gran independencia de los datos.
La información se maneja en forma de tablas, lo que constituye una manera familiar de representarla.
Al igual que en el modelo reticular, si se tienen relaciones normalizadas, no surgen dificultades grandes en la actualización.
Veamos en el modelo del SUMINISTRADOR-PRODUCTO presentado anteriormente, un ejemplo de cada tipo de operación de actualización:
Creación: añadir un producto P7. Se agrega la nueva ocurrencia en la tabla PRODUCTO. Es posible hacerlo aunque ningún suministrador lo suministre.
Supresión: se puede eliminar el suministrador S1 sin perder el producto P6, a pesar de que es el único suministrador que lo suministra.
Modificación: se puede cambiar el precio del producto P2 sin necesidad de búsquedas adicionales ni posibilidad de inconsistencias.
No obstante, veremos que el proceso de normalización no es suficiente hasta el punto aquí visto.