Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: theluigy13etv en 19 Mayo 2015, 17:50



Título: Duda en la conversión de Modelo Entidad Relación a Modelo Relacional
Publicado por: theluigy13etv en 19 Mayo 2015, 17:50
Hola. Estoy practicando la conversión de modelos Entidad Relación al Modelo Relacional pero todavía tengo muchas dudas. El problema es el siguiente:

Tengo dos entidades: LIBRO y EDITORIAL. Sus atributos son:

Libro: isbn, título del libro
Editorial:  código de editorial, nombre de editorial

La llave primaria de la entidad Libro es isbn
La llave primaria de la entidad Editorial es código de editorial

La relación que pude encontrar es EDITA y la cardinalidad es de 1 a N (muchos). Un atributo de la relación es fecha de edición.

(1,1) : Cada libro es editado como mínimo por una editorial y como máximo por una editorial.
(1,N) : Cada editorial edita como mínimo un libro y como máximo muchos libros.

El modelo entidad relación sería el siguiente:

(http://oi57.tinypic.com/dy8y0o.jpg)

Ahora para pasarlo al Modelo Relacional la teoría dice que tengo dos opciones.

La primera opción es propagar la llave primaria de la entidad con cardinalidad 1 a la que tiene cardinalidad N formando parte de sus atributos no primos. También los atributos de la relación se propagan de esa forma. Con esta opción se desaparece la relación.

En mi caso la entidad con cardinalidad 1 es EDITORIAL así que tendría que propagar su llave primaria código de editorial a la entidad LIBRO que es la que tiene cardinalidad 1. También el atributo de la relación fecha de edición pasa a formar parte de los atributos no primos de la entidad LIBRO. El modelo quedaría entonces así:

(http://oi60.tinypic.com/w7otac.jpg)



La segunda opción es transformar la relación en una tabla cuya llave primaria sea solo la clave de la entidad con cardinalidad N. La llave primaria de la entidad con cardinalidad 1 forma parte de los atributos de primos de la nueva tabla.

En mi caso tendría que crear una nueva tabla a la que llamé EDITORIAL_LIBRO. Siguiendo lo que dice la teoría, la llave primaria de esta nueva tabla sería isbn que es en realidad llave de LIBRO. La llave código de editorial solo formaría parte de la tabla EDITORIAL_LIBRO como un atributo no primo.
Es en esta parte donde tengo dudas en cuanto a la representación de la cardinalidad. Estoy usando la representación conocida como patas de gallo y no sé cuál de estas tres formas sería la correcta:

(http://oi60.tinypic.com/33w427b.jpg)

Alguien que me pueda ayudar o que me recomiende algún libro o texto donde encuentre sobre esto? Muchas gracias


Título: Re: Duda en la conversión de Modelo Entidad Relación a Modelo Relacional
Publicado por: ZeroVzla en 22 Mayo 2015, 19:33
Buen día,

Tienes dónde expliquen ese modelo?, como lo veo pareciera ser la segunda opción porque al pasar el atributo fecha hacia una nueva tabla es como que estés creando una relación de muchos a muchos.

Una cosa, no si si el recuadro arriba de la tabla "editorial_libro" representa la clave primaria en tu modelo pero de ser así te falta colocar también el "codigo de editorial" como llave primaria ya que en una relación de muchos a muchos la tabla que se genera tiene como clave primaria una clave compuesta entre las claves primarias de cada tabla en cuestión.

Saludos.