Transformación ER Relacional para el diseño de bases de datos relacionales

Documentos relacionados
Modelo relacional. Modelo relacional

Carlos Castillo UPF 2008

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

El Modelo Relacional. Carlos A. Olarte BDI

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Modelos de Datos. Modelo Entidad-Relación

El modelo relacional

Modelo Entidad Relación.MER.

Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

Modelo relacional. El modelo relacional

Bases de Datos OTROS ASPECTOS MODELO E-R

Licenciatura en Documentación: Bases de datos documentais Curso El lenguaje SQL

- Bases de Datos (2012/2013) Tema 2: Diseño lógico. Modelo Relacional

Diseño de Base de Datos Relacionales

Sistemas de Información II Tema 5. El modelo relacional

entre menú y plato con cardinalidades (0,N) y (3,3), respectivamente. Esta solución garantiza que no se puede "repetir" un plato en el (1,1)

Modelo relacional Jos e Ram on Param a Gab ıa

EL MODELO RELACIONAL

Gestión base de datos : Modelo Relacional (II)

El Modelo Relacional. Carlos A. Olarte BDI

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

ING. YIM ISAIAS APESTEGUI FLORENTINO

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

Formas Normales. Normalización. Introducción

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Estructura de Datos E/R. Recordando Introducción. Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico

Esquema Relacional Pasaje a Tablas. Sistemas de Bases de Datos I ITS EMT CETP

Ing. Yim Isaias Apestegui Florentino

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

Restricciones de Integridad

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

PASAJE DE MER A MODELO RELACIONAL

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Fundamentos del Modelo Relacional de Datos

Fundamentos de programación y Bases de Datos

Tipos de datos estructurados

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

PLAN DE ESTUDIOS 2008 LICENCIADO EN INFORMÁTICA

El modelo relacional. El modelo relacional

INSTITUTO POLITÉCNICO NACIONAL

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

Introducción a las Bases de Datos

Formato para prácticas de laboratorio

Slide 1. Slide 2. Slide 3

El Modelo E/R es un modelo conceptual (mayor nivel de abstracción)

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad Relación

1.Introducción al Modelo Relacional.

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

MODELO RELACIONAL BASE DE DATOS RELACIONALES

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

Formulación del problema de la ruta más corta en programación lineal

Bases de Datos y Sistemas de Información

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

Intervalos (Segunda Parte)

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Tema 7. Manejo de bases de datos.

Bases de datos. Diseño y gestión

4.2 ACTIVIDAD DE APRENDIZAJE 4.2: Diseñar el modelo relacional de la base de datos del sistema Descripción de la AA4.2:

Modelo Relacional. Modelo Relacional. Temas: Referencia:

Algunas licencias de código abierto

Twitter Qué es Twitter?

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Sistema de Gestión y almacenamiento de archivos en el Campus Virtual

Importación de Datos

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Sistemas de ecuaciones lineales dependientes de un parámetro

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

BASES DE DATOS DSIC. Curso

Grado en Ingeniero en Informática Ingeniero en Computadores Sistemas de Información

Capítulo III: Traducción ER-Relacional

VÍDEOS INTERACTIVOS CON DESCARTES

CC BASES DE DATOS PRIMAVERA Clase 4: Modelo Relacional (III) Aidan Hogan

Se abrirá un cuadro de diálogo para que escojas el tipo de gráfico que quieres mostrar. Selecciona uno y pulsa Aceptar.

Capítulo 6: Diseño de BD y el modelo ER

Bases de Datos: fundamentos del modelo relacional

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Dropbox. Fuente: (dropbox, 2011)

TEMARIO. - Programa de teoría

Sistemas de Bases de Datos I Grado en INGENIERÍA INFORMÁTICA 2º curso

Modelo Relacional: Conceptos

1 Representación por superficies de polígonos

Sistemas de Gestión de Bases de Datos

Ecuaciones de 2º grado

COMBINAR CORRESPONDENCIA

Manual Word Plantillas y Formularios

TEST DE RAZONAMIENTO NUMÉRICO. Consejos generales

DEMOSTRACION DE UNA APLICACIÓN N-CAPASCON JAVA- POSTGRESQL

Tema II: El modelo relacional de datos. (2.4)

Conocimiento de las Bases de Datos relacionales.

CURSO CERO DE MATEMATICAS. Apuntes elaborados por Domingo Pestana Galván. y José Manuel Rodríguez García

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Catedra de Base de Datos

{ } Listado de elementos del conjunto

- Bases de Datos - - Diseño Físico - Luis D. García

WINTASK REGISTRO DE FACTURAS

Transcripción:

Transformación ER Relacional para el diseño de bases de datos relacionales Como habíamos avanzado en su momento, un esquema conceptual basado en el modelo Entidad-Relación puede ser transformado, de acuerdo con unas sencillas reglas, en un esquema lógico, basado en el modelo relacional, y manipulable por un SGBD. En estas notas veremos cuáles son esas reglas, que complementaremos con un ejemplo de su uso. El ejemplo de partida será el mismo que habíamos utilizado al presentar los modelos ER y relacional: la BD de una empresa. NPila Ap1 Ap2 Direccion Nombre Sexo NSS Supervisor Empleado (0,N) (1,N) (0,1) NumDept NomDept FNac Loc TrabajaPara (1,1) (4,N) Departamento (0,1) Dirige (1,1) (0,N) Supervisado Supervision Familiar Sexo Nombre Parentesco Sexo FNacim Reglas de transformación TrabajaEn Horas FechaIniGerente Controla (1,1) (1,N) Proyecto Número Loc Nombre 1. Por cada tipo de entidad fuerte E del esquema ER se crea una relación R que contenga todos los atributos simples y no multivaluados de E. Además, dado que el modelo relacional no admite los valores no atómicos, R contendrá también sólo los atributos simples que formen parte de cada atributo compuesto (no multivaluado) de E. Como clave primaria de R se escogerá el atributo o atributos simples que formen parte de la clave primaria de E. Los atributos derivados se ignoran. En nuestro ejemplo, el tipo de entidad Empleado incluye un conjunto de atributos simples. Aplicando la regla que acabamos de ver, resulta la siguiente relación, a la que le damos el mismo nombre: Empleado (NSS, Sexo, Dirección, Fnacim) Empleado cuenta además con un atributo compuesto, Nombre. Según la regla, debemos incluir en la relación Empleado los atributos simples que lo componen: Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, FNac) Autor: Juan Ramón López Rodríguez 1

Finalmente, fijamos como clave primaria de la relación la misma que en caso del tipo de entidad: Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, FNac) En el caso del tipo de entidad Departamento, este cuenta con dos atributos simples (uno de ellos clave primaria del tipo de entidad), que incluimos en la relación a crear: Departamento (NumDept, NomDept) No podemos incluir, sin embargo, al atributo Loc en la relación: al ser multivaluado, sería un atributo que violaría la restricción de integridad de dominio del modelo relacional. Finalmente, el tipo de entidad Proyecto se transforma sin problemas en la siguiente relación: Proyecto (Numero, Nombre, Loc) 2. Por cada tipo de entidad débil E del esquema ER se crea una relación R que contenga todos los atributos simples y no multivaluados de E. Además, dado que el modelo relacional no admite los valores no atómicos, R contendrá también sólo los atributos simples que formen parte de cada atributo compuesto (no multivaluado) de E. Como clave primaria de R se escogerá el atributo o atributos simples que formen parte del discriminante de E, además de la clave primaria del tipo de entidad fuerte E del que dependa E. Los atributos derivados se ignoran. En nuestro ejemplo contamos con un tipo de entidad débil, Familiar, que depende de Empleado. Familiar cuenta con cuatro atributos simples: Nombre, Sexo, FNac y Parentesco, que deben aparecer en la relación resultante: Familiar (Nombre, Sexo, Fnacim, Parentesco) El discriminante, en Familiar, es el atributo Nombre. Añadimos al discriminante la clave primaria de Empleado (NSS) como clave foránea de la relación, y obtenemos así su clave primaria: Familiar (NSS, Nombre, Sexo, Fnacim, Parentesco) Autor: Juan Ramón López Rodríguez 2

3. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad 1:1, se identifican a las relaciones S y T del esquema relacional que representan a los tipos de entidad participantes. Se escoge una de las dos relaciones (por ejemplo S) y se incluye como clave foránea de S la clave primaria de T. Además, se incluyen en S todos los atributos (no multivaluados) del tipo de relación R, incluidos aquellos que conformen un atributo compuesto. Los atributos derivados se ignoran. Nota: para escoger la relación S en la que incluir los atributos, es mejor pensar en una que corresponda a un tipo de entidad con participación total en el tipo de relación a representar. En nuestro ejemplo hay un único tipo de relación con cardinalidad 1:1; se trata de Dirige, establecido entre Empleado y Departamento, y con un atributo propio: FechaIniGerente. Departamento presenta participación total, mientras que Empleado presenta participación parcial. Por lo tanto, escogemos a la relación Departamento para incluir en ella los atributos que permitan representar a la relación. Departamento (NumDept, NomDept, NSS, FechaIniGerente) Hemos incluido en la relación la clave primaria de Empleado (NSS) y el atributo FechaIniGerente. Eso nos permitirá incluir en cada tupla que represente a un departamento el número de seguridad social de su gerente y la fecha de su inicio en ese puesto; y a partir de ese valor de NSS, podremos recuperar los datos (como empleado de la empresa) de dicho gerente, extraídos desde la relación Empleado. Si hubiésemos escogido la relación Empleado para representar al tipo de relación Dirige, el resultado habría sido este otro: Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, Fnac, NSSGerente 1, FechaIniGerente) Es fácil ver que, de hacerlo de este modo, la relación Empleado podría fácilmente incluir tuplas con valores nulos para los atributos NSSGerente y FechaIniGerente. Siempre que sea posible, el uso de valores nulos debe ser evitado. Por eso elegimos la primera opción. 4. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad 1:N, se identifica a la relación S que representa al tipo de entidad participante del lado N, y a la relación T que representa al tipo de entidad participante del lado 1. Se incluye como clave foránea de S la clave primaria de T. Se incluyen también en S los atributos (no multivaluados) del tipo de relación, incluidos aquellos que conformen un atributo compuesto. Los atributos derivados se ignoran. 1 Nótese que para distinguir al atributo NSS, procedente de representar al tipo de entidad Empleado, del atributo NSS, proveniente de representar al tipo de relación Dirige, ha sido modificado el nombre de este último. Autor: Juan Ramón López Rodríguez 3

En nuestro ejemplo tenemos tres tipos de relación con cardinalidad 1:N TrabajaPara, entre Empleado y Departamento Supervisión, entre Empleado y Empleado Controla, entre Proyecto y Departamento En el tipo de relación TrabajaPara, es Empleado el tipo de entidad que está del lado N: un departamento puede albergar a varios empleados, mientras que un empleado trabaja para un único departamento. Por lo tanto, debemos utilizar la relación Empleado para representar a TrabajaPara. Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, Fnac, NumDept) Incluimos en Empleado la clave primaria de Departamento, NumDept. Permitimos así que las tuplas de la relación que representen a empleados de la empresa incluyan entre sus atributos el identificador del departamento al que pertenezcan. De haber escogido la relación Departamento para representar a TrabajaPara, el resultado habría sido este: Departamento (NumDept, NomDept, NSS, FechaIniGerente, NSSEmpleado) La única manera de representar, con esta relación, el conjunto de empleados de un departamento, sería convirtiendo el atributo NSSEmpleado en multivaluado, algo que violaría la restricción de dominio del modelo relacional. De ahí que se escoja siempre la relación correspondiente al participante del lado N para representar a tipos de relación con cardinalidad 1:N. El segundo tipo de relación, Supervisión, involucra como participante al tipo Empleado en dos papeles diferentes, Supervisor y Supervisado, siendo el papel de Supervisado el que participa en el lado N. Será la relación Empleado la que se utilice para representar a Supervisión en el esquema relacional. Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, Fnac, NumDept, NSSSupervisor 2 ) Como se puede apreciar, ahora cada tupla correspondiente a un empleado incluirá el NSS de su supervisor. Finalmente, el tipo de relación Controla se establece entre Departamento y Proyecto, siendo este último tipo de entidad el participante del lado N. Por lo tanto, utilizamos la relación asociada, Proyecto, de modo que a partir de ahora, cada tupla que represente a un proyecto incluirá el número del departamento que lo controla. Proyecto (Numero, Nombre, Loc, NumDept) 2 De nuevo es necesario modificar el nombre del atributo que sirve para representar al tipo de relación para evitar confusiones. Autor: Juan Ramón López Rodríguez 4

5. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad M:N, se crea una nueva relación S que tendrá como atributos de clave foránea los atributos que formen la clave primaria de los dos tipos de entidad participantes en R. Además, S incluirá los atributos simples (no multivaluados) del tipo de relación, incluidos aquellos que conformen un atributo compuesto. La clave primaria de S estará formado por los atributos de clave primaria de los tipos de entidad participantes en el tipo de relación. Los atributos derivados se ignoran. En el ejemplo podemos encontrar un único tipo de relación de cardinalidad M:N, TrabajaEn, con un único atributo, Horas. Obedeciendo la regla, creamos una nueva relación con el mismo nombre: TrabajaEn (NSS, Numero, Horas) En esta relación, las tuplas permitirán vincular a cada empleado con cada proyecto en el que participe (y viceversa), usando los identificadores de ambos. Además, se podrá representar el número de horas que el empleado dedica al proyecto. Si hubiésemos tratado de utilizar alguna de las relaciones ya existentes para representar al tipo de relación, el resultado habría sido alguno de estos dos: Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, Fnac, NumDept, NSSSupervisor, Numero, Horas) Proyecto (Numero, Nombre, Loc, NumDept, NSSEmpleado, Horas) En el primer caso, los atributos Numero y Horas habrían de ser multivaluados, para poder representar a todos los proyectos en los que trabaje un determinado empleado. En el segundo, serían NSSEmpleado y Horas los que habrían de ser multivaluados, para poder representar a todos los empleados que trabajen en un determinado proyecto. En ambos casos, las relaciones violarían la restricción de dominio, por lo que no constituyen soluciones válidas. 6. Por cada atributo multivaluado correspondiente a un tipo de entidad o tipo de relación R del esquema ER, se crea una nueva relación S que tendrá como atributos de clave foránea los atributos de clave primaria de R. Además, S incluirá el atributo multivaluado; si el atributo es compuesto, se incluirán los atributos simples que lo integren. La clave primaria de S será la misma que la de R, unida al atributo multivaluado. En nuestro esquema contábamos con un atributo multivaluado, Loc, perteneciente al tipo de entidad Departamento. Según la regla que acabamos de ver, debemos crear una nueva relación como esta para representarlo: LocalidadDpt (NumDept, Loc) Esta relación permite ya representar todas las localidades asociadas a un departamento: incluirá una tupla por cada una de ellas. Autor: Juan Ramón López Rodríguez 5

Resultado final Como resultado del proceso realizado, hemos conseguido traducir el esquema ER inicial en el siguiente esquema relacional: Familiar(NSS, Nombre, Sexo, FNacim, Parentesco) Empleado (NSS, NPila, Ap1, Ap2, Sexo, Dirección, FNac, NumDept, NSSSupervisor) Departamento (NumDept, NomDept, NSS, FechaIniGerente) TrabajaEn (NSS, Numero, Horas) LocalidadDpt (NumDept, Loc) Proyecto (Numero, Nombre, Loc, NumDept) Autor: Juan Ramón López Rodríguez 6

Resumen de las reglas Presentamos a continuación el enunciado de todas las reglas de traducción que han sido presentadas en este documento. 1. Por cada tipo de entidad fuerte E del esquema ER se crea una relación R que contenga todos los atributos simples y no multivaluados de E. Además, dado que el modelo relacional no admite los valores no atómicos, R contendrá también sólo los atributos simples que formen parte de cada atributo compuesto (no multivaluado) de E. Como clave primaria de R se escogerá el atributo o atributos simples que formen parte de la clave primaria de E. Los atributos derivados se ignoran. 2. Por cada tipo de entidad débil E del esquema ER se crea una relación R que contenga todos los atributos simples y no multivaluados de E. Además, dado que el modelo relacional no admite los valores no atómicos, R contendrá también sólo los atributos simples que formen parte de cada atributo compuesto (no multivaluado) de E. Como clave primaria de R se escogerá el atributo o atributos simples que formen parte del discriminante de E, además de la clave primaria del tipo de entidad fuerte E del que dependa E. Los atributos derivados se ignoran. 3. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad 1:1, se identifican a las relaciones S y T del esquema relacional que representan a los tipos de entidad participantes. Se escoge una de las dos relaciones (por ejemplo S) y se incluye como clave foránea de S la clave primaria de T. Además, se incluyen en S todos los atributos (no multivaluados) del tipo de relación R, incluidos aquellos que conformen un atributo compuesto. Los atributos derivados se ignoran. Nota: para escoger la relación S en la que incluir los atributos, es mejor pensar en una que corresponda a un tipo de entidad con participación total en el tipo de relación a representar. 4. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad 1:N, se identifica a la relación S que representa al tipo de entidad participante del lado N, y a la relación T que representa al tipo de entidad participante del lado 1. Se incluye como clave foránea de S la clave primaria de T. Se incluyen también en S los atributos (no multivaluados) del tipo de relación, incluidos aquellos que conformen un atributo compuesto. Los atributos derivados se ignoran. 5. Por cada tipo de relación (de grado 2) R del esquema ER, de cardinalidad M:N, se crea una nueva relación S que tendrá como atributos de clave foránea los atributos que formen la clave primaria de los dos tipos de entidad participantes en R. Además, S incluirá los atributos simples (no multivaluados) del tipo de relación, incluidos aquellos que conformen un atributo compuesto. La clave primaria de S estará formado por los atributos de clave primaria de los tipos de entidad participantes en el tipo de relación. Los atributos derivados se ignoran. 6. Por cada atributo multivaluado correspondiente a un tipo de entidad o tipo de relación R del esquema ER, se crea una nueva relación S que tendrá como atributos de clave foránea los atributos de clave primaria de R. Además, S incluirá el atributo multivaluado; si el atributo es compuesto, se incluirán los atributos simples que lo integren. La clave primaria de S será la misma que la de R, unida al atributo multivaluado. Autor: Juan Ramón López Rodríguez 7

Bibliografía - R. Elmasri y S. Navathe. Fundamentos de los Sistemas de Bases de Datos (3ª edición). Addison-Wesley, 2002. - A. Silberschatz, H. F. Korth y S. Sudarshan. Fundamentos de Bases de Datos (4ª edición). McGraw Hill, 2002 Autor: Juan Ramón López Rodríguez 8