Está en la página 1de 15

CAPÍTULO III 22

Transformación de un D E-R a Tablas Relacionales

CAPÍTULO III

Transformación de un D E-R
a tablas Relacionales

El siguiente paso en el diseño de una BD es la transformación del modelo conceptual


a una nueva estructura de representación, a la que se le denomina el Modelo lógico de la BD.

Así como el modelo conceptual está orientado hacia el diseñador, puesto que
constituye la "idea" de cómo debe ser la BD; el modelo Lógico está orientado a los datos, pues
mediante éste, se representa la estructura de la información que se almacenará, es decir, se
describe la organización de los datos en la BD.

Como se vió en el anterior capítulo, un D E-R proporciona información acerca de


cuáles son las entidades, relaciones y atributos en un esquema de BD. Ahora bien, para cada
entidad existe al menos un atributo que la identifica de forma unívoca de entre las demás
entidades; tal atributo recibe el nombre de llave primaria de la entidad.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 23
Transformación de un D E-R a Tablas Relacionales

El diseño del Modelo Lógico consiste en la representación de los elementos del D E-


R a través de Tablas Relacionales (que fueron descritas brevemente en el primer capítulo), ésto
es, se hace uso del modelo relacional.

En el Modelo Relacional una entidad corresponde a una tabla, donde las columnas de
la misma representan sus atributos, de esa forma, las instancias de la entidad serán colocadas
en los diversos renglones de la tabla. Por su parte, las relaciones se modelan por medio de
columnas o de tablas especiales haciendo uso de los atributos llave, pero ésto se verá más a
detalle con el siguiente ejemplo.

Ejemplo 2:

"La invención de Cronos"

<< En la película "La invención de Cronos", un pequeño aparato es capaz de dar la


vida eterna a quien lo posea..., si un invento así existiese su inventor, una vez habiendo
obtenida la patente del mismo, bien podría conseguir una buena suma al venderla a algún
fabricante especializado. >>

Tomando en cuenta los inventos así como sus inventores, patentes y fabricantes, he
aquí una serie de enunciados semánticos que permitirán definir un esquema de BD en dónde
Cronos podría registrar su invención:

- Un individuo (inventor) puede crear uno o más inventos.


- Un invento tiene una única patente.
- Muchos fabricantes producen muchos inventos y viceversa.
- Cada patente pertenece a uno y sólo un invento.
- La idea de un invento pertenece a únicamente un inventor.

Aquí cada entidad tiene un único atributo: una clave de identificación alfanumérica.

El problema consiste en obtener los modelos conceptual y lógico de esta BD, se deja
aquí al lector la obtención del D E-R (modelo conceptual).

Representación de entidades y sus atributos

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 24
Transformación de un D E-R a Tablas Relacionales

En el ejemplo 2 aparecen las entidades INVENTO, INVENTOR, PATENTE y


FABRICANTE, cada una de las cuales poseen además un atributo, Clave_Inventor,
Clave_Patente y Clave_Fabricante respectivamente.

Por lo tanto se deberán crear cuatro tablas, cada una con una columna, para representar cada
entidad y alojar el atributo correspondiente. En la figura 17 se ilustra este proceso.

INVENTO
Clave_Invento
Clave_Invento

PK

INVENTO

(a) La entidad INVENTO y su tabla correspondiente

INVENTO INVENTOR PATENTE FABRICANTE


Clave_ Invento Clave_Inventor Clave_Patente Clave_Fabricante
PK PK PK PK
1- Alas 1- Pascal P - 01 F - 01
2- Foco 2- Cronos P - 02 F - 02
3- Invención 3- Edison P - 03
4- Sumadora 4- Dédalo P - 04
5- Fonógrafo P - 05

(b) Tablas que representan las entidades del Ejemplo 1.

Figura 17

Obsérvese que en la figura 17 se indica una etiqueta "PK" debajo de los atributos
clave, mediante la cual se señala a la llave primaria de cada entidad. Además, la figura 17 (b)
muestra instancias para cada entidad, que ocupan los renglones de cada tabla.

Representación de las relaciones

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 25
Transformación de un D E-R a Tablas Relacionales

Las relaciones que enlazan las entidades del ejemplo 2 son tres:
INVENTO/PATENTE (1:1), INVENTOR/INVENTO (1:M) e INVENTO/FABRICANTE
(M:M).

Para representar la relación INVENTO/PATENTE se agregará la columna


Clave_Invento a la tabla PATENTE, recuerde que Clave_Invento es la PK de la tabla
INVENTO, por lo que dentro de la tabla PATENTE aparece como llave foránea (que se
etiqueta como FK), y de esta forma se ligan ambas tablas representando la relación 1:1, véase
la fig. 18.

Clave_Invento Clave_patente

INVENTO
INVENTO PATENTE PATENTE

INVENTO PATENTE

Clave_Invento Clave_Patente Clave_ Invento


PK PK FK
1- Alas P - 01 2- Foco
2- Foco P - 02 5- Fonógrafo
3- Invención P - 03 4- Sumadora
4- Sumadora P - 04 1- Alas
5- Fonografo P - 05 2- Invención

Figura 18. Una forma de representar la


relación INVENTO/PATENTE (1:1)

En la figura 18 se puede ver claramente cómo el uso combinado de columnas PK y


FK permiten establecer la relación que existe entre ambas entidades, así cada invento cuenta
con una única patente y viceversa.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 26
Transformación de un D E-R a Tablas Relacionales

Como ya se había mencionado anteriormente, las relaciones 1:1 son simétricas, esta
cualidad permite una segunda forma de representación: llevar la PK de PATENTE como una
FK dentro de INVENTO, de esa forma la relación se conserva, y la información en ambos
casos es la misma, compruébese esto en la figura 19.

INVENTO PATENTE
Clave_ Invento Clave_Patente Clave_Patente
PK FK PK
1- Alas P - 04 p - 01
2- Foco P - 01 p - 02
3- Invención P - 05 p - 03
4- Sumadora P - 03 p - 04
5- Fonógrafo P - 02 p - 05

Figura 19. La segunda forma de representar


INVENTO/PATENTE (1:1)

La siguiente relación, INVENTOR/INVENTO, de la forma 1:M se traduce al modelo


relacional agregando la columna Clave_Inventor (PK de la tabla INVENTOR) a la tabla
INVENTOS en forma de FK, tal y como se ilustra en la figura 20:

INVENTOR INVENTO

Clave_Inventor Clave_Invento Clave_Inventor Clave_invento Clave_Inventor


PK PK FK
1- Pascal 1- Alas 4- Dédalo
2- Cronos 2- Foco 3- Edison
INVENTOR INVENT OR INVENTO 3- Edison 3- Invención 2- Cronos
INVENT O
4- Dédalo 4- Sumadora 1- Pascal
5- Fonógrafo 3- Edison

Figura 20. La relación INVENTOR/INVENTO (1:M)

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 27
Transformación de un D E-R a Tablas Relacionales

Mediante las dos tablas se puede saber cual es el inventor único de cada invento e
igualmente, los inventos que corresponden a cada inventor (por ejemplo, a Edison
corresponden dos inventos, pero cada invento tiene un sólo inventor).

Como INVENTOR/INVENTO es una relación asimétrica no es posible realizar el


proceso anterior inversamente (esto es, llevar la PK de INVENTO como FK a INVENTOR),
puesto que la estructura generada no es admisible en el modelo relacional. Véase la figura 21.
INVENTO INVENTOR
Clave_Invento Clave_inventor Clave_Invento
PK PK FK
1-Alas
1- Pascal 4- Sumadora
2- Foco
2- Cronos 3- Invención
3- Invención
3- Edison 2- Foco 5- Fonógrafo
4- Sumadora
4- Dédalo 1- Alas
5- Fonógrafo

Figura 21. Error en la representación


de INVENTOR/INVENTO (1:M)

La última relación del Ejemplo 2 es INVENTO/FABRICANTE, cuyo tipo es M:M,


las cuales se representan en el modelo relacional por medio de una tabla que contiene las PK
de INVENTO e INVENTOR como FK, a fin de representar adecuadamente dicha relación.
Este proceso se ilustra en la figura 22.
INVENTO FABRICANTE
Clave_Invento Clave_Fabricante
Clave_Invento Clave_Fabricante
PK PK
1- Alas F - 01
INVENT O
INVENTO FABRICANT E FABRICANTE 2- Foco
F - 02
3- Invención
4- Sumadora
5- Fonógrafo

INVENTO/FABRICANTE
Clave_invento Clave_Fabricante
FK FK
PK
Figura 22. Una forma de representar
INVENTO/FABRICANTE (M:M) 1- Alas F - 01
2- Foco F - 01
2- Foco F - 02
3- Invención F - 02
4- Sumadora F - 01
4- Sumadora F - 02
5- Fonógrafo F - 01

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 28
Transformación de un D E-R a Tablas Relacionales

La tabla INVENTO/FABRICANTE recibe el nombre de tabla Asociativa, en ella se


puede ver que, por ejemplo, el fabricante F - 01 produce cuatro de los cinco inventos de la BD
y que entre otros, el foco es fabricado por F - 01 y F - 02; de esta forma las tablas asociativas,
cumplen con el modelado adecuado de una relación M:M.

Nótese cómo dada la estructura de la tabla INVENTO/FABRICANTE, la PK de la


misma está integrada por ambas Clave_Invento y Clave_Fabricante. A este tipo de PK se les
denomina llaves primarias compuestas y son representativas de la tablas asociativas.

Además la propiedad de simetría de las relaciones M:M hace que el orden de las FK
en la tabla asociativa pueda invertirse (de hecho, el orden de los atributos dentro de una tabla
puede ser arbitraria).

Reglas Generales para Modelar Tablas.

Entidades y sus atributos: Una entidad se representa mediante una tabla cuyas columnas
corresponden a los atributos de la entidad.

Relación 1:1: La PK de una de las dos entidades de la relación se agrega como


FK en la otra entidad.

Relación 1:M (o M:1): Se agrega una FK en la entidad correspondiente al "lado-muchos"


de la relación, dicha FK es la PK de la entidad correspondiente al
"lado-uno" de la relación.

Relación M:M : Se crea una tabla asociativa donde las PK de las entidades en
relación aparecen como FK, la tabla asociativa tiene una PK
compuesta por ambas FK.

En la figura 23 aparecen las tablas correspondientes al D E-R del Ejemplo 1 del


capítulo anterior (Figura 14a). El lector podría verificar mediante las reglas anteriores el paso
del D E-R contra el conjunto de tablas resultante. En dicha figura aparecen columnas
etiquetadas con "NN" (-Not Null-), que indica que tal columna no admite valores vacíos
(nulos). Existen otras etiquetas de columna tales como "ND" (-No Duplicate-), que indica que
los valores en una columna no pueden repetirse, SA (-System Asign-) valores asignados por el
sistema automáticamente, US (-User Asign-) valor asignado por el usuario. Una columna
puede tener varias etiquetas; por su parte las columnas PK y CK incluyen por definición las
propiedades NN y ND.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


CAPÍTULO III 29
Transformación de un D E-R a Tablas Relacionales

PERSONA
Número_Persona Nombre_Persona Edad Sexo Número_Estado
P K NN NN NN FK
M :1

PERSONA/ESTADO

ROL PERSONA/ROL
Número_Rol Descripción_Rol Número_Persona Número_Rol
P K NN FK FK
P K M :M

PERSONA/ROL

ACTA
Número_Acta Número_LIbro Número_Folio Número_Persona
P K NN NN FK
1.1

PERSONA/ACTA

ESTADO
Número_Estado Nombre_Estado
P K NN

Figura 23. Tablas correspondientes al


D E-R del Ej emplo 1.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 30

CAPÍTULO IV

Múltiples Relaciones entre un


mismo par de Entidades

En los pasados capítulos, quedó establecido que una Relación es una abstracción de
alguna situación particular entre objetos, ya fuesen éstos reales o imaginarios.

En los casos anteriores, dado un par de entidades, fué definida cuando más, una
relación entre ellas (del tipo 1:1, 1:M o M:M). Sin embargo en el mundo real los mismos
objetos se pueden relacionar de más de una forma. Igualmente una misma relación puede
asociar a más de dos objetos, suele haber también objetos que , bajo condiciones especiales,
presenten relaciones consigo mismas; y muchas de estas situaciones deben ser plasmadas
como modelos de BD.

El modelo Entidad-Relación es capaz de modelar adecuadamente estas situaciones a


través de su simbología. En este capítulo y el siguiente se discutirán estas capacidades y su
forma de traducción a tablas relacionales.

Ejemplo 3:

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 31

"Geografía y Lenguaje"

Sea el siguiente D E-R utilizado en una cierta BD:

SE
PAIS IDIOMA
HABLA

Número_País Nombre_País Número_Idioma Nombre_Idioma

La relación SE_HABLA surgió del enunciado:

I. En muchos países se hablan muchos idiomas y viceversa.

Supóngase que se agrega un nuevo enunciado como nueva regla de diseño:

II. Un idioma se originó en un país y cada país da origen a un sólo idioma.

El problema consiste en determinar si el D E-R original es suficiente para representar


la nueva situación y si no, encontrar la forma de modelar ambos enunciados I y II de manera
adecuada

Relaciones con atributos propios

Un muy breve análisis del D E-R presentado en el problema 3 basta para saber que no
representa, tal como está, el enunciado II (véanse las tablas de la figura 24, las que resultan
insuficientes para determinar el país de origen del idioma español al asociarse por medio de
sus claves).

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 32

PAIS IDIOMA

Clave_País Nombre_País Clave_Idioma Nombre_IDioma


P K P K
1 México 1 Inglés
2 España 2 Español

SE_HABLA

Clave_Idioma Clave_País
FK FK
P K
2 1
2 2

Figura 24. Tablas del D E-R para el problema 3

Lo anterior resulta claro, dado que en el enunciado II se determina otra situación entre
PAÍS e IDIOMA, muy distinta a la relación definida en el enunciado I. Sin embargo, mediante
la utilización de un mecanismo (o más bien un "truco") es posible representar ambas
situaciones a través de la relación SE_HABLA únicamente.

Este mecanismo consiste en cambiar el enunciado II por otro que nos proporcione
resultados equivalentes:

III. Dados un País y un Idioma, se tiene un Indicador_Origen, en cuyo propósito es


señalar si dicho País es origen del idioma dado.

El nuevo enunciado semántico III define la existencia de un atributo indicador (figura


25(a), el cual para éste problema, trabajará como una "bandera" booleana. El uso de este
indicador se ilustra en la figura 25(b).

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 33

Indicador_Origen

SE
PAIS HABLA IDIOMA

Número_País Nombre_País Número_Idioma Nombre_Idioma

(a)

IDIOMA SE-HABLA
Número_Idioma Nombre_Idioma Número_País Número_Idioma Indicador_Origen
PK NN FK FK
PK NN
1 Ingles
2 Español 1 2 NO
3 Frances 2 2 SI
3 2 NO
4 2 NO
PAIS
5 2 NO
Número_País Nombre_País 6 1 NO
PK 7 1 SI
1 México 8 1 NO
2 España 8 3 NO
3 Argentina
4 Chile
5 Perú
6 Estados Unidos
7 Inglaterra
8 Canadá
(b)

Figura 25

Nótese cómo en la tabla SE_HABLA se señala con un "SI" en la columna


Indicador_Origen, si el país dió origen al idioma asociado a éste. El nuevo atributo
Indicador_Idioma aparece definido para la relación SE_HABLA (véase la figura 25(a) ), ésto
es un claro ejemplo de que los atributos no solamente califican y distinguen a una entidad, sino
que pueden corresponder también a las relaciones.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 34

La posibilidad de definir los atributos adecuados de las relaciones, permite modelar


un sin fin de situaciones de forma clara y precisa, posteriormente se tratarán otros ejemplos
con esta característica.

Sin embargo, el modelado del Ejemplo 3 resulta inoperante, pues para determinar el
origen de un idioma determinado, es necesario efectuar una búsqueda exhaustiva a través de la
tabla SE_HABLA, que en el peor de los casos implicará su consulta total.

Esto se debe a que el mecanismo implementado es una forma artificial de representar


la nueva situación, nótese además que el enunciado III no define una relación, sino que
determina la existencia de un atributo (Indicador_Origen) a partir de un Idioma y un País. Por
ello el modelo basado en los enunciados I y III será desechado.

Múltiples Situaciones

Como ya se indicó antes, el enunciado II define una situación adicional a SE_HABLA


entre las entidades País e Idioma, ésto es, otra relación. Esta nueva relación a la que se podría
asignar el descriptor ORIGEN, al ser agregado al D E-R original, refleja de manera "natural"
ambos enunciados semánticos I y II, véase la figura 26(a).

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 35

SE
HABLA
Número_País Número_Idioma

IDIOMA
PAIS
Nombre_Idioma
Nombre_País

ORIGEN

(a)

IDIOMA SE-HABLA
Número_Idioma Nombre_Idioma Número_País Número_País Número_Idioma
PK NN FK FK FK
1 Ingles 7 PK
2 Español 2 1 2
3 Frances 9 2 2
3 2
4 2
Columna que representa la 5 2
relación ORIGEN 6 1
PAIS 7 1
8 1
Número_País Nombre_País
8 3
PK NN
9 3
1 México
2 España
3 Argentina
4 Chile Ambas columnas representan
la relación SE-HABLA
5 Perú
6 Estados Unidos
7 Inglaterra
8 Canadá

9 Francia (b)

Figura 26. Un par de entidades con


múltiples relaciones

La figura 26(a) ejemplifica un D E-R con múltiples relaciones para un mismo par de
entidades. De esta forma, País e Idioma están enlazados por las relaciones SE_HABLA (1:M)
y por ORIGEN (1:1). En la Figura 26(b) se encuentran las tablas correspondientes al nuevo
D E-R.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS


REFERENCIAS BIBLIOGRAFICAS 36

Así , mediante el esquema propuesto en la figura 26 se elimina completamente el


problema de la búsqueda exhaustiva del esquema anterior, nótese cómo mediante ORIGEN el
acceso a la información deseada es prácticamente inmediato.

Ahora bien, puede ser una buena idea renombrar la columna Número_País que
aparece como FK en la tabla IDIOMA con Numero_País_Origen, a fin de dar mayor claridad
al modelo.

LUIS ERNESTO RUBIO T. MODELADO DE BASES DE DATOS

También podría gustarte