PASAJE DE MODELO ENTIDAD-RELACIÓN A MODELO RELACIONAL

Documentos relacionados
MODELO RELACIONAL Y PASAJE MER A RELACIONAL

Modelo Entidad Relación.MER.

Carlos Castillo UPF 2008

BASES DE DATOS, MODELOS DE DATOS Y DBMS

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

Fundamentos de programación y Bases de Datos

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

Modelos de Datos. Modelo Entidad-Relación

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

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

MER MR Bases de Datos

Formas Normales. Normalización. Introducción

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

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

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

Consideraciones acerca de la abstracción de agregación. Considerations about the aggregation abstraction in ERECASE tool

Prontuario. : : : (787) X 2230 (Metro),

BASES DE DATOS DSIC. Curso

A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación: Informática ASIGNATURA SISTEMAS DE BASES DE DATOS II

Bases de datos 1. Teórico: Modelo Relacional

Capítulo III: Traducción ER-Relacional

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas

TEMARIO. - Programa de teoría

PROGRAMA ANALÍTICO. Pág. 1 de 9

A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación INFORMÁTICA ASIGNATURA SISTEMAS DE BASES DE DATOS I

EXAMEN EXTRAORDINARIO Informática y Computación IV

Diagramas de secuencia

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

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

BASES DE DATOS. Ingeniería Informática 4º Curso Asignatura obligatoria.

Fundamentos de Programación y Bases de Datos

Catedra de Base de Datos

Modelo Relacional. Modelo Relacional. Temas: Referencia:

Modelo relacional. Modelo relacional

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

520142: ALGEBRA y ALGEBRA LINEAL

Teórico 9 Del MER al MR

Semestre de cursado: primero Cantidad de horas semanales: 8. Hoja 1 de 10 Profesor Asociado: María Eugenia Stefanoni. J:T:P: Higinio Facchini

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

Pontificia Universidad Católica del Ecuador

INSTITUTO POLITÉCNICO NACIONAL

Plan 95 Adecuado. Visión:

Diseño de Base de Datos Relacionales

El modelo relacional

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

2. Proceso de creación de bases de datos

UtivemkkukVaciona Id& Yalta/ FACULTAD DE CIENCIAS EXACTAS Av. Bolivia Salta Tel. (0387) Fax (0387) Republica Argentina

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

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

Elementos Diagramas de Clases Clase:

INSTITUTO POLITECNICO NACIONAL

Análisis y Diseño de Sistemas

BASES DE DATOS. DSIC. Curso Bases de Datos. Título de Ingeniero Técnico en Informática. Programación. Bases de Datos TR 3 3

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN

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

Tema: Herramientas UML, Análisis y diseño UML

Base de Datos PLANIFICACIONES Actualización: 1ºC/2013. Planificaciones Base de Datos. Docente responsable: ALE JUAN MARIA.

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

1.Introducción al Modelo Relacional.

Formato para prácticas de laboratorio

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

1 FUNDAMENTACION DE LA MATERIA

UNIVERSIDAD DE GUADALAJARA

Ing. Yim Isaias Apestegui Florentino

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Se utiliza para representar los tipos de objetos dentro del sistema (proceso) y las diversas relaciones estáticas que existen entre ellos

Diagramas De Casos De Uso

John Venn Matemático y filósofo británico creador de los diagramas de Venn

Transformación del Modelo ERE al Modelo Relacional. Universidad de los Andes Demián Gutierrez Enero

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto

Álgebra Booleana y Simplificación Lógica

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

EL MODELO RELACIONAL

BASES DE DATOS DSIC. Curso

IES - Introducción a la Ingeniería del Software

Relaciones entre entidades de la realidad

Una relación esta en 4FN si esta en la BCFN y no contiene dependencias multivaluadas.

4. Algebra relacional

Bases de Datos I. Programa de la Asignatura:

[CASI v.0110] Pág. 1

Introducción a los sistemas de bases de datos

Adquisición y Procesamiento de la Información

ELEMENTOS DE BASES. DE DATOS Segundo Cuatrimestre Clase 4: Decisiones de diseño Pasaje a Tablas: modelo relacional

ASIGNATURA: BASE DE DATOS I FUNDAMENTOS:

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

UNIVERSIDAD SIMÓN BOLÍVAR INGENIERÍA DE LA COMPUTACIÓN

Unidad I: Organización del Computador. Ing. Marglorie Colina

rg.o cm a Diseñ e o o c o c n o ce c p e tual 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

BASES DE DATOS TEMA 2 MODELOS DE DATOS

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

ESCUELA: UNIVERSIDAD DEL ISTMO

Programación de Bases de Datos

Generaciones de Bases de Datos

Modelos y Bases de Datos

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,

12. Procesamiento y Optimización de Consultas

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Transcripción:

PASAJE DE MODELO ENTIDAD-RELACIÓN A MODELO RELACIONAL Bases de Datos y Sistemas de Información Maestría en Bioinformática Instituto de Computación, Facultad de Ingeniería, UdelaR 2017

Realidad Problema Análisis y Diseño Construcción de un Sist. de Info. y MR Información Diseño Lógico Describe la BD Representando la realidad Esquema Conceptual Esquema Lógico Implem. Datos Representa la realidad del problema Sistema de Información Procesos

Introducción Hay reglas para cada estructura del MER: Entidades Fuertes y Atributos Entidades Débiles Relaciones Agregaciones Categorizaciones Trabajaremos sobre el ejemplo de los hospitales visto en el teórico de Modelo Entidad Relación. 3

Modelo Relacional y Dependencias de Inclusión Es otra restricción sobre el Modelo Relacional. Expresa que una proyección de ciertos atributos de una tabla debe estar incluída en la proyección de otros atributos de otra (o la misma) tabla. Notación: Π a1,a2 an (A) Π b1,b2 bn (B) Observar que las claves foráneas son un caso particular de dependencia de inclusión (pero no al revés).

Entidades Por cada entidad se crea una tabla. Por cada atributo simple se crea un atributo en la tabla Para cada atributo estructurado se crean tantos atributos como hojas tenga la estructura. Si tiene atributos multivaluados los procesamos más adelante. Cual es la clave primaria? Se selecciona uno de los atributos determinantes de la entidad como clave primaria de la tabla. Los restantes atributos determinantes (si los hubiere) deben ser marcados como claves alternativas. 5

Entidades - Ejemplo MER Personal cédula edad ciudad dirección calle número RELACIONAL PERSONAL(cedula,, edad, ciudad, calle, numero)

Atributos Multivaluados Por cada atributo multivaluado o multivalorado (ya sea de entidad o de relación) se crea una tabla. Se crea un atributo para el multivaluado. Se agregan atributos que representan la clave primaria de la tabla que modela la entidad o relación a la cual pertenece el multivaluado Cómo se determina la clave primaria? La clave está formada por todos sus atributos. 7

Atributos Multivaluados - Ejemplo cédula MER Personal edad dirección teléfono* ciudad calle número RELACIONAL PERSONAL(cedula,, edad, ciudad, calle, numero) TELEFONOS(cedula, telefono)

Dependencias de Inclusión en Atributos Multivaluados Dado que se usan al menos dos tablas para la representación relacional, se deben restringir las relaciones entre esas tablas. Se agregan las claves foráneas que correspondan: Π cedula (TELEFONOS) Π cedula (PERSONAL).

Relaciones Binarias N:N Para cada relación binaria con cardinalidad N:N se crea una tabla donde: Se colocan las claves primarias de las tablas que representan a cada una de las entidades participantes. Si existen atributos en la relación se tratan como si fueran los de una entidad. Cómo se determina la clave primaria? Está formada por los atributos correspondientes a las claves primarias de las tablas que representan a las entidades participantes 10

Relaciones Binarias N:N - Ejemplo MER cant_camas Salas N horario trabajan entrada salida N Personal cedula dirección ciudad calle número RELACIONAL SALAS (, cant_camas) PERSONAL (cedula,, ciudad, calle, numero) TRABAJAN (nomsala, cedpersona, entrada, salida)

Dependencias de Inclusión en Relaciones Por cada entidad participante en una relación se agrega una dependencia de inclusión. Sea R la tabla de la relación y Q la tabla de un participante: Π q_pk (R) Π q_pk (Q), donde q_pk es la clave primaria de Q en R y en Q. Si la relación R es total sobre Q, entonces se agrega también la inclusión al revés: Π q_pk (Q) Π q_pk (R). EN EL EJEMPLO Π Sala (TRABAJAN) Π (SALAS) Π cedula (TRABAJAN) Π cedula (PERSONAL) Π cedula (PERSONAL) Π cedula (TRABAJAN) 12

Relaciones Binarias 1:N Hay que dividir dos casos que se tratan en forma diferente: 1:N Sin totalidad del lado N 1:N Con totalidad del lado N Si es sin totalidad del lado N Se trata como una N:N excepto por la clave primaria de la tabla de la relación, que es la clave del lado N Si es con totalidad del lado N No se crea tabla para la relación y se agrega la clave de la tabla de la entidad del lado 1 en la tabla de la entidad del lado N No hay cambios en la clave primaria

Relaciones Binarias 1:N Ejemplo (sin totalidad del lado N) RELACIONAL MER REAL cant_camas entrada horario salida 1 N Salas trabajan Los funcionarios pueden trabajar o no en salas. Si trabajan en salas, lo hacen sólo en una. Personal SALAS (, cant_camas) PERSONAL (cedula,, ciudad, calle, numero) TRABAJAN (Sala, cedula, entrada, salida) Π Sala (TRABAJAN) Π (SALAS) Π cedula (TRABAJAN) Π cedula (PERSONAL) Π cedula (PERSONAL) Π cedula (TRABAJAN) cedula dirección ciudad calle número

RELACIONAL MER REAL Relaciones Binarias 1:N Ejemplo (con totalidad del lado N) cant_camas Salas entrada salida horario 1 N trabajan SALAS (, cant_camas) PERSONAL (cedula,, ciudad, calle, numero, Sala, hentrada, hsalida) Hay que agregar las dependencias de inclusión: Π Sala (PERSONAL) Π (SALAS) Todos los funcionarios trabajan en salas. Cada funcionario trabaja en una sola sala. Personal cedula dirección teléfono* ciudad calle número 15

Entidades Débiles Por cada entidad débil se crea una tabla. Se procede con las relaciones 1:N y totales del lado N, no creando la tabla de la relación y agregando la clave primaria de la tabla de la entidad fuerte en la tabla de la entidad débil. Cuál es la clave primaria? Clave primaria de la tabla que representa a la entidad fuerte + atributo/s que representa al identificador parcial 16

Entidades Débiles - Ejemplo MER Hospitales direccion telefono 1 en N Salas Sala cantcamas RELACIONAL HOSPITALES(, direccion, telefono) SALAS(Hospital, Sala, cantcamas) Π Hospital (SALAS) Π (HOSPITALES) 17

Agregaciones cant_camas Salas N horario entrada salida trabajan N N realizan Tareas N descripción Personal cedula dirección teléfono* ciudad calle número Recordar: En MER el operador de agregación transforma a las relaciones en entidades. En este caso las parejas de la relación TRABAJAN se relacionan con TAREAS. Cómo se identifican las parejas de TRABAJAN?

Agregaciones - Ejemplo MER cant_camas Salas N horario trabajan realizan N Tareas N descripción entrada salida N Personal cedula dirección teléfono* ciudad calle número RELACIONAL TAREAS(Tarea, descripcion) TRABAJAN(Sala, cedula, hentrada, hsalida) REALIZAN(Sala, cedula, Tarea) Π Tarea (REALIZAN) Π (TAREAS) Π Sala,cedula (REALIZAN) Π Sala,cedula (TRABAJAN)

Categorizaciones Hay que revisar diferentes opciones de implementación: 1. Por Joins: se aplica en cualquier caso, pero puede tener menos performance que el caso 4. 2. Por vistas: si es total. 3. Con atributo de tipo: si es disjunta. 4. Con atributo booleanos: también se puede aplicar en cualquier caso, pero típicamente gasta más memoria que el caso 1.

MER Categorizaciones - Ejemplo Personal cedula dirección ciudad calle número Una tabla para la super-entidad Una tabla por cada sub-entidad con referencia a la super-entidad. Funciona siempre! Médicos Enfermeros Administrativos especialidad antigüedad RELACIONAL PERSONAL(cedula,, ciudad, calle, numero) MEDICOS(cedulaPersonal, especialidad) ENFERMEROS(cedulaPersonal) ADMINISTRATIVOS(cedulaPersonal, antiguedad) Faltan las deps. de inclusión

Categorizaciones - Ejemplo MER Personal cedula dirección ciudad calle número Médicos Enfermeros Administrativos Una tabla por cada subentidad + vista Sólo si la categorización es total especialidad antigüedad Personal = Médicos Enfermeros Administrativos RELACIONAL MEDICOS(cedula,, ciudad, calle, numero, especialidad) ENFERMEROS(cedula,, ciudad, calle, numero) ADMINISTRATIVOS(cedula,, ciudad, calle, numero antiguedad) PERSONAL {<t.cedula,t.,t.ciudad,t.calle,t.numero> / MEDICOS(t) ENFERMEROS(t) ADMINISTRATIVOS(T) } 22

RELACIONAL MER Categorizaciones - Ejemplo Personal dirección cedula ciudad calle número Médicos Enfermeros Administrativos especialidad antigüedad Una tabla con todos los atributos y un atributo de tipo. Sólo si la categorización es disjunta Medicos Enfermeros = Medicos Administrativos = Enfermeros Administrativos = PERSONAL(cedula,, ciudad, calle, numero, especialidad, antigüedad, tipo) Hay que mantener consistente el tipo con los valores de los otros atributos Puede generar valores nulos! 23

Categorizaciones - Ejemplo cedula RELACIONAL MER Personal dirección Una tabla con todos los atributos y un atributo booleano por cada subentidad. ciudad calle número Médicos Enfermeros Administrativos especialidad antigüedad Sólo si la categorización no es disjunta PERSONAL(cedula,, ciudad, calle, numero, especialidad, antigüedad, esmedico, esenfermero, esadministrativo) También puede generar valores nulos! 24

Referencias Fundamentals of Database Systems 3th Ed., Elmasri & Navathe, Addison Wesley, 2000. (cap. 9) Curso Fundamentos de Bases de Datos, INCO, http://www.fing.edu.uy/inco/cursos/bdatos/ Capítulo 12 de Conceptual Database Design. An Entity- Relationship Approach. Batini, Ceri, Navathe. Benjamin/Cummings, 1992. 25