Diseño de Base de Datos, parte II: Modelo Relacional

Por: Armando Cifuentes González

¿Qué es el Modelo Entidad-Relación?

Peter Chen en 1976 propuso este modelo. Los elementos básicos de éste son los siguientes:

Entidades. Se puede definir como cualquier objeto sobre el que se desea almacenar información en la base de datos. Por ejemplo, si se va a crear una base de datos para una biblioteca, podrían ser entidades los libros, los usuarios de la biblioteca, los autores de los libros, etcétera. Las entidades se representan por medio de rectángulos en cuyo interior se incluye el nombre de la entidad. Una concurrencia de una entidad es cada una de las realizaciones concretas de una entidad en el mundo real, o lo que es lo mismo, cada instancia de una entidad. Por ejemplo, una ocurrencia sería el libro llamado “Base de Datos relacionales y modelado de datos” de la editorial Paraninfo.

Relación. Es una asociación o correspondencia entre entidades. Así, por ejemplo, entre las entidades Libro y Autor se puede establecer una relación que refleje el hecho de que “un autor escribe uno o varios libros”. Las relaciones se representan por medio de un rombo en cuyo interior aparece el nombre de la relación.

Atributo. Es cada una de las características de una entidad o de una relación. Así, por ejemplo, la entidad Libro puede tener como atributos un código, el ISBN, el título, el número de páginas, etcétera. Los atributos se pueden representar de diferentes maneras; una de ellas consiste en dibujar un óvalo con el nombre del atributo en su interior y unido mediante una línea a la entidad o a la relación correspondiente.

Modelo ER de Biblioteca
Figura 1. Modelo E-R del sistema de biblioteca

¿Qué es el Modelo Relacional?

El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico matemático que, además de proporcionarnos los elementos básicos de modelado (las relaciones), incluye un conjunto de operadores (definidos en forma de un álgebra relacional) para su manipulación, sin ambigüedad posible.

El carácter formal del modelo relacional hace relativamente sencilla su representación y gestión por medio de herramientas informáticas. No es casual, pues, que haya sido elegido como referencia para la construcción de la gran mayoría de los DBMS comerciales disponibles en el mercado; ni tampoco que sea también habitualmente seleccionado como modelo de referencia para la elaboración del esquema lógico de una base de datos, como tercer paso de la habitual metodología de diseño de bases de datos (después del análisis de requerimientos y la elaboración del esquema conceptual).

En el modelo relacional se basa en el concepto matemático de relación. En este modelo, la información se representa en forma de tablas o relaciones, donde cada fila de la tabla se interpreta como una relación ordenada de valores (un conjunto de valores relacionados entre sí).

Modelo relacional de Biblioteca
Figura 2. Modelo relacional del sistema de biblioteca

Relaciones

Para que los datos de las tablas se puedan seleccionar, encontrar y procesar de forma rápida y eficaz, es necesario que las tablas no se encuentren aisladas unas de otras. Las tablas tienen que estar relacionadas con otras formando estructuras relacionales. La relación es una asociación establecida entre campos comunes (columnas) en dos tablas. Los campos que entran en relación pueden llamarse de distinta manera, pero tienen que ser del mismo tipo de datos.

Por ejemplo podemos encontrar el Nombre, Apellido (de la tabla Empleado_Personal), Salario, y Depart (de la tabla Empleado_Laboral) de uno o varios empleados.

Las relaciones pueden ser de tres tipos:

  • De 1 a 1
  • De 1 a N
  • De N a M

Antes de hablar de las relaciones hay que entender lo que son los campos clave o llave. Éstos son los que intervienen en una relación. Es clave principal un campo (o más de uno para claves de campo múltiple) cuyo valor o valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores nulos o repetidos. Por ejemplo, pueden ser clave principal campos como DNI en una tabla de Personas, o Codigo en una tabla de Productos. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas. Un campo Identity también puede funcionar como clave principal. La combinación de dos o más campos pueden dar una clave principal.

Relación 1 a 1

Por cada registro de la tabla principal (tabla que contiene la clave principal) puede existir un sólo registro en la tabla relacionada (tabla que contiene la clave externa). La tabla relacionada no puede contener un registro que no esté relacionado con uno de la tabla principal: no puede existir un registro con Fecha_Alta, Salario, etcétera, si no hay un Empleado con el que se relacione. Esta relación se utiliza para simplificar y organizar las tablas con muchos campos.

Relación 1 a N

Por cada registro de la tabla principal (tabla de la clave principal o lado uno de la relación) pueden existir muchos (infinitos) registros en la tabla relacionada (tabla de la clave externa o lado infinito de la relación). La tabla relacionada no puede contener un registro que no esté relacionado con uno de la tabla principal, pero pueden haber muchos registro que estén relacionados con el mismo registro de la tabla principal: varios (infinitos) Empleados de la tabla Empleado_Laboral, pueden estar en el mismo departamento de la tabla Departamento.

Relación N a N

Un registro de la tabla Num_Venta puede estar relacionado con varios registros de la tabla Productos y un registro de la tabla Productos puede estar relacionado con varios registros de la tabla Num_Venta. Explicación: cuando realizamos una venta le asignamos un número (N_Venta) y lo almacenamos en la tabla Num_Venta; esa venta puede estar formada por uno o varios productos identificados con un numero de producto (N_Producto) de la tabla Productos.

Pero, ¿cómo podemos relacionar varios registros de la tabla Num_Venta con varios de Productos, y viceversa?. En realidad esta relación está formada por dos relaciones de uno a muchos. Una tabla intermedia (tabla de unión Ventas) contiene la clave principal múltiple que se forma con la combinación de dos (o más) claves externas: N_Venta y N_Producto. La combinación de estos dos campos forma un campo que no se repite. Por ejemplo: la venta 200 (N_Venta vale 200) se realizó con los productos 12, 14 y 36 (N_Producto). Si formamos con N_Venta y N_Producto una clave principal obtenemos 20012, 20014 y 20036, valores no repetidos. Con otros valores de N_Venta se procedería igual.

Bibliografía

Libros.-

  • Piñeiro Gómez, José Manuel (2013). Bases de datos relacionales y modelado de datos. España: Paraninfo.

Web.-

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s