Taller de Base de Datos

Prácticas de laboratorio y tecnologías de Información

Convertir Diagrama E-R a Modelo Relacional.

Written By: chris - Sep• 25•11

Para convertir un diagrama Entidad-Relación a tablas se tienen que seguir las siguientes reglas:

  1. Cada conjunto de entidades fuerte se representa con una tabla, cuyas columnas corresponden a los atributos de las entidades.
  2. Cada conjunto de entidades débil se representa con una tabla, con una columna por cada atributo de las entidades más una columna por cada atributo de la llave primaria de la entidad fuerte de la cual el conjunto de entidades débil depende.
  3. Cuando existe una relación “uno a varios” se  va a generar una tabla que incluye los atributos de la entidad del extremo “varios”, es decir una columna por cada uno de los atributos de la entidad varios y una columna del atributo principal de la entidad del extremo “uno”. En otras palabras se toma el campo llave del extremo uno y se inserta en la tabla del extremo varios.
  4. Cuando existe una relación “varios a varios” (binaria) y toda relación donde el grado de participación sea de 2 o más de dos conjuntos de entidades (ternaria, cuaternaria) se representa con una tabla, la cual tiene una columna por cada atributo de las llaves primarias de los conjuntos de entidades a los que participan en la relación, más una o más columnas por cada atributo que fueron necesarios para describir la relación.
  5. Si existieran campos compuestos en cualquiera de las entidades, conviene evaluar si se necesitara en la base de datos hacer búsquedas por los elementos individuales o atributos que componen el atributo compuesto, si se requiere hacer dichas búsquedas, entonces cada atributo que compone el atributo compuesto deberá ser un campo de la tabla, en caso de que no, la tabla solo contendrá una campo con el nombre del atributo compuesto y el valor de cada registro de este campo estará formado por los valores de los atributos que lo componen. Esto debido a que para hacer búsquedas en un atributo compuesto, es más fácil si se tiene una columna por cada campo que compone el campo compuesto.
  6. Si existe un atributo multivalorado en una tabla, este se convierte en una tabla que va a estar compuesta por una columna para el campo llave de esta nueva tabla, otro campo que será el campo llave de la tabla de donde proviene el atributo multivalorado (llave foránea) y finalmente un campo que será el que representa al atributo multivalorado, en la tabla habrá un registro por cada valor del atributo multivalorado, con diferente campo llave, y donde se va a repetir la llave foránea para conocer que registros de esta nueva tabla corresponden a un registro de la tabla original.
  7. Los campos derivados se representan como una columna de la tabla.
  8. Si una relación contiene atributos, automáticamente se convierte en tabla, tomando los atributos de la relación como campos de la tabla y  los campos llaves de las tablas que participan en la relación como campos de esta nueva tabla.

Ejemplo:

 

Vamos a convertir el modelo E-R del ejercicio “Artículos y encargos”, el diagrama había quedado de la siguiente forma:

 

 

En el caso de este diagrama tenemos 4 entidades fuertes: Cliente, Fabrica, Articulo y Pedido.

Las entidades fuertes quedarían de la siguiente MAmanera:

Cliente

La tabla se forma por columnas cada una de estas son los atributos que describen a la entidad, la primera columna será el campo llave, que era el atributo principal de la entidad.

DireccionesCliente

En la tabla clientes había un campo multivalorado, por cada cliente era posible guardar más de una dirección, por lo que se genera una tabla para guardar las direcciones de los clientes. Esta tabla estará formada por un campo llave que iniciara el esquema de la tabla, una llave foránea que será el numero de cliente al cual pertenece cada registro de direcciones de cliente y finalmente  un campo para guardar cada dirección.

Fabrica

Esta es una entidad fuerte, no tiene atributos multivalorados, por lo cual se compone cada columna con los atributos que forman a la entidad. Iniciando con el campo llave que es el atributo principal de la entidad.

Articulo

Esta es una entidad fuerte, de igual forma que la anterior no contiene atributos multivalorados, por lo cual cada columna con los atributos que forman a la entidad. Iniciando con el campo llave que es el atributo principal de la entidad

Pedido

 

Esta es una entidad fuerte  aunque tiene un atributo de la entidad cliente que es  “Direccion”, que ya convertimos en una tabla Direcciones de cliente, no obstante tiene una identificación única propia, es decir un campo llave, que es el numero de pedido, por lo que no debemos de caer en la confusión de tomar a Pedido como una entidad débil.

Ahora veamos las relaciones:

Relación Hace. Entre Cliente y Pedido

Existe una relación entre la entidad cliente y la entidad pedido, que se llama “hace” la cardinalidad es de uno a muchos, un solo cliente hace muchos pedidos, por lo que siguiente la regla, vamos a tomar el campo llave del extremo “uno” (numero_cliente) e insertarlo en la tabla de extremo muchos (pedido), después de este paso la tabla quedaría así:

Pedido

Numero de cliente es el campo llave de otra tabla (la tabla cliente)en la tabla pedido se le considerará como llave foránea.

Relación incluye. Entre Pedido y Artículo

Salidas

 

Existe una relación entre la entidad pedido  y la entidad artículo, es de cardinalidad de uno a muchos, ya que por cada pedido se incluyen muchos artículos, pero esta relación tiene un atributo, que es cantidad, la cantidad de determinado artículo que se ha incluido en un pedido. Por lo cual a partir de esta relación SI se genera una tabla, que va a representar las salidad de productos en los pedidos. Los campos que se incluirán en la tabla serán el atributo de la relación “cantidad”, los campos llaves de las entidades involucradas en la relación (Numero_Peiddo y Numero_Articulo) y en este punto debemos de considerar si generar un campo llave para la nueva tabla o bien que el campo llave, sea una llave compuesta por el campo llave de pedido y el campo llave del artículo. En este caso vamos a generar un campo llave para la tabla que se llamara numero_salida, ya que al momento no sabemos si el manejador de base de datos en el que vamos a implementar tiene soporte para llaves compuestas.

Relación Es Producido. Entre Fábrica y Artículos.

Existe una relación entre la entidad fábrica y la entidad artículos, que es de cardinalidad uno a muchos, ya que una sola fabrica produce muchos artículos. Siguiendo la regla tomaremos el campo llave del extremo “uno” (Fabrica) y lo colocaremos en la tabla del extremo “muchos” (artículos), la tabla artículos quedaría de la siguiente forma:

Articulo

 

Clave_Fabrica es el campo llave de otra tabla (la tabla fabrica) en la tabla articulo se le considerará como llave foránea.

Y ese es todo el proceso, aplicando las reglas tenemos convertido el diagrama E-R a modelo relacional. Cualquier duda dejen comentario. Gracias. SaluLINUX

 

 

Powered By DT Author Box

Written by chris

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

Switch to our mobile site

%d bloggers like this: