Capítulo III: Traducción ER-Relacional Marco Teórico En este capítulo se presentan ejercicios de traducción de diagramas ER al modelo relacional. A continuación se presenta un resumen de los pasos del algoritmo de traducción. Para obtener información más detallada, refiérase al libro de Elmasri y Navathe [2]. Paso 1: Entidades regulares Paso 2: entidades débiles Para cada entidad regular E, en el modelo ER, crear una relación R que incluya todos los atributos simples de E. Si E tiene atributos compuestos, deben aplanarse. Seleccionar un atributo clave de E como clave primaria de R. Si el atributo clave seleccionado es un atributo compuesto, la clave primaria de R será el conjunto de atributos resultantes de su aplanamiento. Para cada entidad débil D, con entidad identificante E, crear una relación R, que incluya todos los atributos simples (y los atributos compuestos aplanados ) de D. Adicionalmente, agregar como clave foránea de R los atributos claves de la relación que representa a E. La clave primaria de R será la combinación de la clave primaria de E con la clave parcial de D. Paso 3: Relaciones 1:1 Paso 4: Relaciones 1:N Para cada interrelación binaria R donde las entidades interrelacionadas (S y T), posean cardinalidad máxima para ambas de 1, escoger la entidad con participación total, es decir, la entidad con cardinalidad mínima mayor que 0 (digamos S). Agregar en la traducción de S la clave primaria de de la traducción de T como clave foránea. Si existen atributos de la interrelación, agregarlos en la traducción de la entidad S, siguiendo el proceso de traducción de atributos. Para cada interrelación binaria R donde alguna de las entidades interrelacionadas (S y T) posea cardinalidad máxima mayor que 1 (digamos S), y T posea cardinalidad máxima igual que 1. Incluir la clave primaria de la traducción de la entidad S como clave foránea en la traducción de la entidad T. Si existen atributos de la interrelación, agregarlos en la traducción de la entidad T, siguiendo el proceso de traducción de atributos. 3-1
Paso 5: Relaciones M:N OBS: Paso 6: Para cada interrelación binaria R donde ambas entidades interrelacionadas (S y T) posean cardinalidad máxima superior a 1, crear una nueva relación Z. Incluir como claves foráneas en Z las claves primarias de las relaciones que representan las entidades participantes. La unión de estas claves formará la clave primaria de Z. Si existen atributos en la interrelación, agregarlos en Z siguiendo el proceso de traducción de atributos. Cuando existen interrelaciones 1:1 ó 1:N que NO SON TOTALES, se pueden traducir de manera similar a las M:N. Para cada atributo multivaluado A, crear una relación R que incluya un atributo que represente a cada una de las ocurrencias que puedan existir dentro de A, mas la clave primaria K (como foránea) de la relación que representa la interrelación o entidad que tiene a A como atributo. La clave primaria de R será la combinación de A y K. Si el atributo multivaluado es además compuesto, debe aplanarse. Paso 7: Para cada interrelación n-aria R, con n > 2, crear una nueva relación S. Incluir como claves foráneas en S las claves primarias de las relaciones que representan a las entidades participantes en R. Incluir además los atributos de R. Normalmente la clave primaria de S será la combinación de todas las claves foráneas. Sin embargo, si una entidad E participa en R con cardinalidad máxima y mímina igual a 1, puede usarse como clave primaria la clave foránea que referencia la relación resultante de la traducción de E. Ejercicios 3.1. Basándose en la respuesta del ejercicio 1.2, traducir el modelo conceptual representado por el diagrama ER al modelo relacional. Solución Propuesta Paso 1: Traducción de entidades regulares Sala(nombre,area,encargado,ubicacion) 3-2
Artista(nombre,cv) Comprador(nombre,direccion) Paso 2: Traducción de entidades débiles Obra(autor,nombre,descrip,genero,movim,tenden,fecha) Paso 3: Traducción de relaciones 1:1 Paso 4: Traducción de relaciones 1:N Obra(autor,nombre,descrip,genero,movim,tenden,fecha,compr,fcompr) Paso 5: Traducción de relaciones 1:N Expone_en(artista,sala) Es_expuesta_en(artista,obra,sala) Paso 6: Traducción de los atributos multivaluados telef_comprador(comprador,telefono) exposicion_artista(artista,sala,nombreexp,fecha,costo,asistentes) exposicion_obra(artista,obra,sala,fecha) Paso 7: Traducción de relaciones n-arias, n>2 Se mantienen las restricciones explícitas del modelo ER. Encontrará a continuación una serie de diagramas Entidad-Interrelación, diccionarios de datos. Para cada una de estas representaciones, proponga un esquema relacional y restricciones de 3-3
integridad que expresen la misma semántica. Trate en lo posible de preservar economía conceptual en la representación. Recuerde indicar en cada relación la clave primaria, claves alternas y claves foráneas con las relaciones a las que se referencia. 3.2. La siguiente es una porción de la Base de Datos de la compañía textilera LA TELA C.A. Diccionario de Datos Entidad Atribs Semántica Atrib. Dominio código Id de la tela Entero TELA descrip Descripción Char [30] rollos Cantidad en existencia Entero código Id de la fibra Entero FIBRA descrip Descripción Char[30] ovillos Cantidad en existencia Entero código Id de la prenda Entero PRENDA descrip Descripción Char[30] cantidad Unidades en existencia Entero Interrelación Semántica Atribs Semántica Atrib. Dominio Se_obtiene (F1,F2) F1 se obtiene a partir porc Porción del Real positivo 3-4
componente para de F2 obtener la fibra Se_fabrica (T,F) La tela T se fabrica usando la fibra F cant derivada Número de ovillos requeridos para obtener un rollo de la Natural Se_ Confecciona (P,T) La prenda P se confecciona usando la tela T cant tela Cm2 de la tela requeridos para fabricar la prenda Real positivo 3.3. A continuación se presenta un esquema ERE que modela la Base de Datos para almacenar la información sobre reservaciones de hoteles y venta de boletos en la Agencia de Viajes Las Vacaciones S.R.L. Diccionario de Datos Entidad Atribs Semántica Atrib. Dominio CLIENTE ci Cédula del cliente Char[10] nombre Nombre y apellidos del Char[60] 3-5
HOTEL AEROLINEA BOLETO cliente telf Teléfonos del cliente (999)99999 Nombre del nombre establecimiento Char[40] dir Dirección Char[80] código Identificador Char[2] desc Nombre Char[80] código Identificador Char[20] pasaj Nombre del Pasajero Char[60] loc Identificador de reserva Char[9] recor Información de recorrido Nombre de la ciudad de ori origen Char[3] Nombre de la ciudad dest destino Char[3] vuelo Datos vuelo aerol Identificador aerolínea Char[2] num Número del vuelo Num[4] fecha Fecha del vuelo dia Dia del vuelo 1-31 mes Mes del vuelo 1-12 salida Hora de salida hora Hora de salida 0-23 min Minutos 0-59 Interrelación Semántica Atribs Semántica Atrib. Dominio Fecha de ingreso al in hotel dia Día de Ingreso 1-31 mes Mes de Ingreso 1-12 año Año de Ingreso Num[4] Reserva (C,H) Un cliente C reserva Fecha de Salida del out en el hotel H. Hotel dia Día de Salida 1-31 mes Mes de Salida 1-12 año Año de Salida Num[4] personas Número de personas Num[1] tipohab Tipo de Habitación S, D, T, C Tarifa (A,B) Una aerolínea A oferta un boleto B Adquiere (C,B) Un cliente C adquiere el boleto B 3.4. El siguiente es un modelo del Repositorio del diagramador ER de una herramienta CASE. 3-6
Diccionario de Datos Entidad Atribs Semántica Atrib. Dominio ESQUEMA_ER proy Identificador del proyecto Char[30] autor Autor del Esuqema Char[60] ENTIDAD nombre Identificador Char[10] descp Semántica de la Entidad Char[300] nombre Identificador Char[10] INTERREL Semántica de la descp Interrelación Char[300] nombre Identificador Char[30] descp Semántica del atributo Char[300] tipov Número de Valores Mo,Mu ATRIBUTO tipoe Tipo de Estructura Si,Co tipon Tipo de Nulidad Si,No tipoa Tipo Almacenamiento De,Al clave Es atributo clave Si, No tipo Tipo del atributo N,C,T,L,F Interrelación Semántica Atribs Semántica Atrib. Dominio La entidad E Restricción de card 1, M, N Participa (E,I) participa en la Cardinalidad interrelación I part Tipo de Participación. T, P 3-7
Interrelación Semántica Atribs Semántica Atrib. Dominio El esquema Es Inc_Ent (Es,En) incluye a la entidad En Inc_Int (Es,In) El esquema Es incluye a la interrelación In Posee_I (I,A) La interrelación I posee el atributo A Posee_E (E,A) La entidad E posee el atributo A Identifica (E,E1) La entidad E1 es identificada a través de E Se_Comp (A,A1) El atributo A está compuesto por el atributo A1 3.5. Traduzca sus respuestas a los ejercicios del Capítulo I. 3-8