En estricto rigor, lo que aquí corresponde es explicar en detalle todo lo concerniente al modelo relacional: cálculo relacional, álgebra relacional, etc. No se intenta explicar esta teoría aquí; más bien nos abocaremos directamente a la sencilla tarea de convertir un modelo E-R en un modelo de tablas que pueda ser implementado en un motor de bases de datos.
Para la conversión de un diagrama E-R en un modelo de tablas utilizamos las siguientes reglas:
Veamos unos pocos ejemplos. La primera regla es muy sencilla y se ilustra con una tabla autores que tendrá las columnas nombre, nacionalidad y fecha de nacimiento. La llave primaria de esta tabla será nuestro ID ficticio.
autor_id | nombre | nacionalidad | fecha de nacimiento |
---|---|---|---|
La segunda regla se ilustra con el conjunto experimentos. Recuérdese que este conjunto es débil, por lo que no tiene una identificación única propia: debe heredarla desde la relación fuerte de la que depende, artículos. A eso agrega su propio identificador.
articulo_id | codigo experimento | nombre | descripcion |
---|---|---|---|
Para ilustrar el caso
de las relaciones,
veamos cuatro ejemplos,
partiendo por el más sencillo:
la relación autor pertenece a institución.
Para esta relación
agregamos una columna institucion_id
a la tabla autores.
La relación
artículo es escrito por autor
se representa de la misma manera,
agregando un nuevo atributo
a la tabla articulos
.
Observe que no es necesario
hacerlo con la tabla
experimentos
.
Para el segundo ejemplo,
tomemos la relación
artículo cita a artículo.
Esto es lo mismo que lo anterior,
con la salvedad que ambas tablas
son la misma;
por lo tanto,
no podemos usar la manera sencilla.
Es obligatorio crear
una tabla adicional
para almacenar esta información.
Una de las columnas indicará el artículo que cita,
y la otra
será el artículo citado.
No se pueden tener
dos columnas del mismo nombre,
por lo que llamamos a la primera
articulo_id
,
y a la segunda,
ref_articulo_id
.
articulo_id | ref_articulo_id |
---|---|
El último ejemplo es el de la relación ternaria, en la cual una institución financia a un autor para que trabaje en un artículo. Esto se implementa creando una tabla que lleva las llaves primarias de las tres tablas, y una columna adicional para la fecha de recepción y el monto.
autor_id | articulo_id | institucion_id | monto | fecha de recepcion |
---|---|---|---|---|
Con esto queda completo el proceso de conversión, y se han ilustrado los principales ejemplos. A continuación se muestra cómo hacer todo esto en un gestor de bases de datos.