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 a modelo relacional un tercer diagrama del ejercicio “La Bilioteca” el diagrama E-R a convertir es el siguiente:

 

 

Primeramente vamos a identificar las entidades fuertes que hay en el diagrama y podemos apreciar que hay 5: Libro, Autor, Estanteria, Usuario y Editorial. Siguiendo la regla uno que dice “Cada conjunto de entidades fuerte se representa con una tabla, cuyas columnas corresponden a los atributos de las entidades” Vamos a convertir cada una de estas entidades fuertes en tablas.

 

Después de haber convertido todas las entidades a tablas, vamos a analizar las relaciones existentes en el diagrama.

Hay cuatro relaciones, “Escrito por”, “Editado por”,  “Solicita” y “Situado en”.

La relación “Escrito por” es de tipo binaria, porque participan dos entidades, “Autor” y “Libro”, es de cardinalidad “uno” a “varios”, ya que un autor escribe varios libros y varios libros son escritor por un único autor.  Siguiendo la regla 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” Tomamos el campo llave de la tabla Autor y la insertamos como llave foránea en la libro.

De esta manera por cada registro de la tabla libro, podremos conocer que autor ha escrito el libro.

La siguiente relación es “Editado por”, esta relación es de tipo binaria porque intervienen únicamente dos entidades, la entidad Editorial y la entidad libro, es de cardinalidad “uno” a “varios”, (al igual que la anterior relación), ya que “una” editorial edita “varios” libros, y “Varios” libros son editados por una única editorial. Siguiendo la misma regla 3, que en el caso anterior, vamos a tomar el campo llave del extremo “uno” de la relación e insertarlo en la tabla del extremo “muchos”.

Tomamos el campo llave de la tabla editorial “Clave_Editorial” y lo insertamos en la tabla libro:

De tal forma por cada registro de la tabla libro, podremos conocer la editorial que edita cada libro.

La siguiente relación se llama “Situado en” es de tipo binaria, al igual que las dos anteriores, porque participan únicamente dos entidades “Estanteria” y “Libro” y también es de cardinalidad “uno” a “varios” porque “varios” libros están situados en “una” estantería, y en “una” sola estantería se sitúan “varios” libros, siguiendo la misma regla 3, tomamos el campo llave de la tabla del extremo “uno” y lo insertamos en la tabla del extremo de la relación “varios”. Así que tomamos el campo llave de la tabla estantería que es “Numero_Estanteria” y lo colocamos en la tabla libro.

De esta forma por cada registro de la tabla libro vamos a conocer la estantería en donde esta situado cada libro.

Finalmente la ultima relación es “Solicita”, es de tipo binaria, porque participan en ella únicamente dos entidades “usuario” y “libro”, es de cardinalidad “uno” a “uno” porque en cada momento “un” usuario solo puede tener prestado “un” libro y viceversa, al haber solo una copia de cada libro en la biblioteca, “un” libro solo puede estar prestado por “un” solo usuario.

De esta relación  vamos a crear una tabla con los campos llaves de las entidades participantes que serían llaves foráneas y es conveniente crear un campo llave para dicha tabla. Podríamos hacer una llave compuesta con las dos llaves foráneas, pero a este punto no sabemos si el manejador de base de datos que vamos a utilizar tiene soporte para llaves compuestas, por lo que mejor colocaremos una llave primaria para esta tabla.

Y así queda la tabla, “Clave_Solicitud” que es el campo llave para cada registro, ISBN que es la clave del libro que se esta prestando y “Carnet” que es la clave del usuario que se lleva el libro.

 

Las tablas completas nos quedarían de la siguiente forma:

 

Cualquier duda, error en la redacción o procedimiento, favor de dejar un comentario en el libro de visitas, estamos para servirles. SaluLINUX

 

Powered By DT Author Box

Written by chris

Convertir diagrama E-R a tablas. Tercer Ejemplo. La Biblioteca.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: