Conversión de un Modelo Entidad Relación a Modelo Relacional.
En este tema vamos a tratar como se va a pasar del Modelo Conceptual al Modelo Lógico de un diagrama de bases de datos relacional. Para ello lo mejor es verlo con un ejemplo sencillo.
Una empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y dirección.
Lo primero que vamos a hacer es diseñar el Modelo Entidad Relación. Para ello hay que identificar las entidades que serán los sustantivos del enunciado susceptibles de almacenar información. Una vez identificados las entidades las relaciones se resolverán con los verbos que se establezcan entre los sustantivos anteriores. A continuación, se pondrán los atributos y se identificarán las claves principales partiendo de las claves candidatas. Posteriormente se añadirán la cardinalidad entre las relaciones de las entidades.
Modelo Entidad Relación (Modelo Conceptual)
Conversión del Modelo Entidad Relación al Relacional.
Los pasos a grosso modo serían los siguientes:
- Toda entidad se transforma en una tabla.
- Todo atributo se transforma en una columna dentro de la tabla a la que pertenece.
- El identificador de la entidad se convierte en la clave primaria de la tabla.
- Toda relación N:M se convierte en una tabla que tendrá como clave primaria las dos claves primarias de las entidades que se asocian.
- En las relaciones 1:N la clave primaria de la entidad con cardinalidad 1 pasa a la tabla de la entidad cuya cardinalidad es N.
- En las relaciones N:M existen tres posibilidades: Si la cardinalidad es (0,1 o N a M) en ambas entidades, se crea tabla. Mientras que si la cardinalidad de una es (0,1) y de la otra es (1,1) se suele pasar la clave primaria de (1,1) a la de (0,1). Si la cardinalidad de ambas es (1,1) se pasa la clave de cualquiera de ellas a la otra
Modelo Relacional (Modelo Lógico)
Con estas puntualizaciones se puede pasar un Modelo Conceptual a un Modelo lógico para que luego se pueda implementar correctamente en el Modelo Físico, específico del Sistema Gestor de Base de Datos.