SlideShare una empresa de Scribd logo
1 de 80
cc302 – Módulo 2 Modelo Entidad-Relación Prof. J. Ignacio Vázquez Herrera Bibliografía: Sistemas de bases de datos Ramez Elmasri y Shamkant B. Navathe Fundamentos de  bases de datos Henry F.  y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel
Modelos de datos ,[object Object],[object Object],[object Object],El Modelo  Entidad-Relación  o  Entidad-Vínculo  cae dentro de la clasificación de Modelos de Datos de Alto Nivel o Conceptuales.
Proceso del diseño de Bases de Datos Minimundo Recolección de análisis de requerimientos Diseño Conceptual Diseño Lógico Diseño Físico Modelo Entidad-Relación Modelo Relacional Independiente Del SGBD Específico para Cada SGBD
Conceptos del Modelo ER ,[object Object],[object Object],[object Object],[object Object]
Conceptos del Modelo ER EMPLEADO curp fechaN nombre salario Tipo de entidades Tipo de atributos Representación de los Tipos de Entidades y Tipos de Atributos
Tipos y Ejemplares de Entidades EMPLEADO curp fechaN nombre salario vigilante goma-800510 10/5/1980 Adrían Gómez 10,000 Tipo de Entidades  o  Clase de Entidades : Se refiere a un  concepto  o prototipo Ejemplar de Entidad: Se refiere a un  objeto real  (instancia) Los términos:  Tipos de Entidades ,  tipos de atributos  y  tipos de relaciones  son útiles para fines del modelado Un error común es confundir ambos términos
Atributos Simples y Compuestos ,[object Object],[object Object],EMPLEADO curp fechaN nombre salario nPila paterno materno Técnicamente  pudiera objetarse que “paterno” sea un atributo atómico, por dividirse a su vez en caracteres. Conceptualmente , sin embargo, el apellido paterno de una persona ya no puede dividirse en componentes más pequeños.
Atributos Monovaluados y Multivaluados ,[object Object],[object Object],EMPLEADO curp fechaN nombre salario nPila paterno materno telefono En ciertas circunstancias pudiera ser importante almacenar más de un número telefónico (casa, oficina, etc.)
Atributos Almacenados y Derivados ,[object Object],[object Object],EMPLEADO curp fechaN nombre salario nPila paterno materno telefono edad El atributo “edad” se puede calcular dinámicamente a partir del atributo “fechaN”
Atributos Clave ,[object Object],[object Object],EMPLEADO curp fechaN nombre salario nPila paterno materno telefono edad Un atributo clave aparece subrayado
Tipos de Relaciones (o Vínculos) ,[object Object],EMPLEADO DEPARTAMENTO PERTENECE_A Se dice que los tipos de entidades EMPLEADO y DEPARTAMENTO  participan  en el tipo de relaciones (o vínculos) “PERTENECE_A”
Nombres de Papeles ,[object Object],EMPLEADO DEPARTAMENTO PERTENECE_A En la relación “PERTENECE_A” el tipo de entidades “EMPLEADO” desempeña el papel de empleado o trabajador. Con excepción de las  relaciones recursivas , normalmente no es necesario indicar los nombres de los papeles, ya que  el nombre del tipo de entidades se utiliza generalmente como el nombre del papel .
Relaciones Recursivas ,[object Object],La relación SUPERVISION asocia un empleado con un supervisor y pertenecen ambos al mismo tipo de entidades EMPLEADO  supervisor supervisado EMPLEADO SUPERVISION
Grado de un tipo de relaciones ,[object Object],[object Object],[object Object],[object Object],EMPLEADO DEPARTAMENTO PERTENECE_A PROVEEDOR PROYECTO SUMINISTRA COMPONENTE Relación binaria Relación ternaria supervisor supervisado EMPLEADO SUPERVISION Relación unaria o recursiva
Restricciones estructurales ,[object Object],[object Object],EMPLEADO DEPARTAMENTO PERTENECE_A N 1 EMPLEADO DEPARTAMENTO DIRIGE 1 1 ALUMNO MATERIA CURSA M N
Restricciones estructurales ,[object Object],[object Object],La participación total  recibe a veces el nombre de  dependencia de existencia . Se indica con una línea doble que conecta el tipo de entidades con la relación o vínculo EMPLEADO DEPARTAMENTO DIRIGE 1 1
Restricciones estructurales ,[object Object],e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d 1 d 2 d 3 EMPLEADO DIRIGE DEPARTAMENTO Nótese como no cualquier empleado dirige a un departamento.  La participación de EMPLEADO en la relación es por lo tanto parcial . En cambio todo departamento es dirigido por un empleado.  La participación de DEPARTAMENTO en la relación es total
Restricciones estructurales ,[object Object],Nótese como cada empleado pertenece a un solo departamento y que a un departamento permanecen N empleados.  En ambos casos la participación de las entidades es total e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d 1 d 2 d 3 EMPLEADO PERTENECE DEPARTAMENTO
Restricciones estructurales ,[object Object],Nótese como un proyecto es controlado por un departamento y un departamento puede controlar más de un proyecto. Sin embargo no todos los departamentos controlan proyectos.  La participación de DEPARTAMENTO en la relación es parcial. d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 p 1 p 2 p 3 DEPARTAMENTO CONTROLA PROYECTO p 4 p 5 p 6 p 7 p 8
Restricciones estructurales ,[object Object],Nótese como todos los alumnos toman al menos una materia y una materia es cursada al menos por un alumno.  La participación de ambas entidades en la relación es total a 1 a 2 a 3 a 4 m 1 m 2 m 3 m 4 m 5 ALUMNO TOMA MATERIA Estos diagramas nos pueden auxiliar a determinar las restricciones estructurales de un tipo de relaciones
Atributos de los tipos de relaciones ,[object Object],EMPLEADO DEPARTAMENTO DIRIGE 1 1 Por ejemplo: se puede incluir el atributo “FechaIni” en el tipo de relaciones DIRIGE, para indicar la fecha en que un gerente comenzó a dirigir un departamento FechaIni
Atributos de los tipos de relaciones ,[object Object],EMPLEADO DEPARTAMENTO DIRIGE 1 1 FechaIni En el caso de los tipos de relaciones 1:N un atributo solo se puede trasladar al tipo de entidades que está del lado N de la relación. EMPLEADO DEPARTAMENTO PERTENECE_A N 1 FechaIni FechaIni FechaIni En una relación N:M los atributos de la relación no se pueden trasladar
Tipos de entidades débiles ,[object Object],[object Object],[object Object]
Tipos de entidades débiles Tanto el tipo de  entidades débiles  como su  relación identificadora  se representan con  líneas dobles EMPLEADO DEPENDIENTE DEPENDIENTE_DE 1 N curp nombre salario nombre sexo Clave Parcial o atributo discriminador fechaN Las entidades débiles siempre tienen una restricción de  participación total   con la  relación identificadora Propietario identificador Relación identificadora
Tipos de Claves ,[object Object],[object Object],[object Object],[object Object],[object Object]
Superclaves VEHICULO matricula num_eco serie_motor marca modelo chofer Técnicamente, el conjunto de todos los atributos forman una superclave, porque le dan unicidad a la entidad Pero igual cumplen los siguientes subconjuntos: num_eco, matricula; maticula, serie_motor; serie_motor, marca; Etc,etc.
Claves Candidatas VEHICULO matricula num_eco serie_motor marca modelo chofer En la entidad VEHICULO se pueden encontrar dos superclaves mínimas (no se pueden dividir en otras superclaves): matricula  y  serie_motor Como ambas describen unívocamente a la entidad se les denomina  claves candidatas
Claves Primarias (o principales) De las claves candidatas: matricula  y  serie_motor Se elige a la que será la clave principal. Como es más probable que el atributo “matricula” cambie con el tiempo (como en un robo de placas), se elige el atributo  serie_motor como clave primaria  puesto que el número de serie del motor por lo general no cambia VEHICULO matricula num_eco serie_motor marca modelo chofer
Claves Foráneas VEHICULO matricula num_eco serie_motor marca modelo chofer El atributo “ chofer ” se puede considerar como  clave foránea , si en lugar de escribir nombres de personas como valores, se indican códigos que hacen referencia al nombre del chofer en otra entidad. De esta manera  se evita la redundancia , pues en vez de escribir el mismo nombre varias veces (en el hipotético caso de que tuviese resguardado más de un vehículo) solo se repetiría el código del mismo
Claves Parciales El atributo “ nombre ” de la entidad DEPENDIENTE no describe de manera unívoca a la entidad puesto que puede repetirse (puede haber 2 personas con el mismo nombre). En este caso  “nombre” hace el papel de clave parcial o atributo discriminador . La clave principal de DEPENDIENTE estará formada por su atributo “nombre” (clave parcial) y el atributo “nss” de su entidad propietaria (clave foránea). EMPLEADO nss DEPENDIENTE nombre sexo fechaN parentesco DEPENDIENTE_DE 1 N
Manejo de Relaciones ternarias Algunas herramientas que se emplean en el diseño de BD solo permiten Relaciones Binarias, por lo que es  difícil implementar algunas relaciones  ternarias  , como el siguiente ejemplo: PROVEEDOR PROYECTO SUMINISTRAR num_prov num_proy COMPONENTE cantidad num_comp
Manejo de Relaciones ternarias ,[object Object],[object Object],s 1 s 2 PROVEEDOR SUMINISTRAR c 1 c 2 c 3 COMPONENTE PROYECTO p 1 p 2 p 3 Nótese como por cada ejemplar de relación “SUMINISTRAR” existen 3 participaciones Ejemplo: El proveedor s1 suministra los componentes c1 y c2 al proyecto p1 y el componente c1 al proyecto p2
Manejo de Relaciones ternarias En estos casos  las Relaciones Ternarias se pueden representar como Tipos de Entidades Débiles , sin clave parcial y con 3 Relaciones Identificadoras. PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP
Un primer ejemplo Diagrama  ER  para la base de datos COMPAÑÍA Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N fechaIni horas
Base de datos COMPAÑÍA ,[object Object],[object Object],[object Object],[object Object],Azul   -  Entidades Rojo  - Relaciones Verde - Atributos Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE
Paso 1. Identificar Entidades EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco Se identifican cada una de las entidades participantes, así como sus respectivos atributos
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco SUPERVISIÓN es una relación recursiva, puesto que el tipo de entidades EMPLEADO participa con dos papeles (o roles)
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE Nótese como un tipo de entidades puede participar en más de una relación
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN
Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE
Paso 3. Determinar cardinalidades EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N
Paso 4. Identificar participaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N Una participación total indica que todo ejemplar de entidad participa al menos una vez en la relación
Paso 5. Identificar Entidades débiles EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N El tipo de entidades DEPENDIENTE no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades EMPLEADO
Paso 6. Identificar Atributos Clave EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N Un atributo clave identifica de manera unívoca a un tipo de entidades.   En DEPENDIENTE la clave es la combinación de su atributo nombre y el atributo Nss del tipo de entidades EMPLEADO
Paso 7. Identificar Atributos de Relaciones EMPLEADO nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N horas fechaIni Es necesario especificar la fecha en que un EMPLEADO comienza a dirigir un DEPARTAMENTO y las horas que un EMPLEADO trabaja en un PROYECTO
El minimundo BIBLIOTECA ,[object Object],[object Object],[object Object],[object Object]
Desarrollando el Diagrama E-R ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. Identificar identidades ,[object Object],[object Object],[object Object],[object Object]
1. Identificar identidades LIBRO EJEMPLAR AUTOR USUARIO MULTA
2. Resolver relaciones (vínculos) ,[object Object],[object Object],[object Object],[object Object]
2. Resolver relaciones (vínculos) LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A Hay que considerar que las relaciones RESERVA Y PRESTAMO son independientes, aún cuando el tipo de entidades USUARIO participa en ambas.
3. Determinar Cardinalidades LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M Posibles valores: 1:1  uno a uno 1:N  uno a muchos N:M  muchos a muchos
4. Identificar Participaciones LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M Una participación total indica que todo ejemplar de entidad participa al menos una vez en la relación
5. Identificar Entidades débiles LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M El tipo de entidades EJEMPLAR no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades libro Relación identificadora Entidad propietaria Entidad débil
6. Identificar Atributos Clave LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M id_autor isbn id_usuario num num_ejem El atributo clave de EJEMPLAR se compone de su atributo “num_ejem” y el atributo clave isbn de LIBRO
Notación alternativa ,[object Object],[object Object],[object Object],[object Object]
Notación alternativa LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA TIENE ( 1,  N) ( 1,  N) ( 1,  N) ( 1,  1) ( 0,  1) ( 0, N) min = 0  participación parcial. min >= 1  participación total. ( 0, N) ( 0, N) Con el ejemplo anterior: La razón de cardinalidad se determina tomando los máximos de forma invertida. ejem:  (1, N ),(1, 1 ) = 1:N
Reducción de un esquema ER a tablas Paso 1.  Por cada  tipo de entidades fuerte , crear una tabla con sus atributos simples. EMPLEADO nss nombre sexo direc sueldo fechaN Clave principal EMPLEADO nss nombre direc fechaN sexo sueldo
Reducción de un esquema ER a tablas Paso 2.  Para el caso de las  entidades débiles , se genera una tabla con sus atributos y se le añade una columna con la clave principal de la entidad fuerte. EMPLEADO nss Clave foránea DEPENDIENTE nombre sexo fechaN parentesco DEPENDIENTE_DE Clave parcial DEPENDIENTE La clave principal estará formada por la combinación de la clave foránea y la clave parcial (o discriminador) 1 N nss nombre sexo fechaN parentesco
Reducción de un esquema ER a tablas Paso 3.  Para una relación de tipo  1:1 con participación total en ambas entidades,  solo es necesario una tabla con los atributos de las entidades que participan en la relación. Nombre de la tabla Clave principal CHOFER Como clave principal  (o clave primaria) se puede elegir cualquiera  de las claves de las entidades. Igual aplica para el nombre de la tabla. nss nombre licencia num_econ modelo marca CHOFER nss nombre VEHICULO num_econ modelo TIENE_ASIGNADO 1 1 marca licencia
Paso 4.  Para una relación de tipo  1:1 con participación total en una sola entidad , son necesarias dos tablas con los atributos de las entidades que participan en la relación. En la tabla que corresponde a la entidad con participación total se le añade una columna con la clave principal de la otra entidad. Clave Foránea Clave principal EMPLEADO Cada entidad mantiene su clave principal. Además, la clave principal de la entidad con participación parcial será la clave foránea de la entidad con participación total DEPARTAMENTO Clave principal Reducción de un esquema ER a tablas nss nombre edad num_dep nombre nss EMPLEADO nss nombre DEPARTAMENTO num_dep nombre DIRIGE 1 1 edad
Reducción de un esquema ER a tablas Paso 5.  Si la relación es  1:1 y la participación es parcial en ambas entidades , se genera una tabla por cada entidad, luego se escoge una de las entidades y se le añade la clave principal de la otra entidad. PERSONA En el ejemplo se ha decidido elegir la entidad ANIMAL para que tenga como atributo adicional la clave principal de la otra entidad. ANIMAL nss nombre edad registro raza nss PERSONA nss nombre ANIMAL registro raza POSEE 1 1 edad
Reducción de un esquema ER a tablas Paso 6.  Para una relación  1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. Clave Foránea Clave principal EMPLEADO DEPARTAMENTO Clave principal nss nombre edad num_dep num_dep nombre EMPLEADO nss nombre DEPARTAMENTO num_dep nombre PERTENECE N 1 edad
Reducción de un esquema ER a tablas Paso 7.  Para una relación  1:N con participación parcial del lado de la entidad N , se necesitan tres tablas: una para representar cada entidad y otra para representar la relación. PERSONA PROYECTO PERSONA_PROYECTO En una relación N:1 los atributos de la relación (si los hubiera) se pueden trasladar a la entidad del lado N nss nombre edad horas nss numero numero lugar PERSONA nss nombre PROYECTO numero lugar TRABAJA_EN N 1 edad horas
Reducción de un esquema ER a tablas Paso 8.  Para una relación  N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. PERSONA PROYECTO PERSONA_PROYECTO En una relación N:M los atributos de la relación no se pueden trasladar a las entidades participantes nss nombre edad nss numero horas numero lugar PERSONA nss nombre PROYECTO numero lugar TRABAJA_EN N M edad horas
Reducción de un esquema ER a tablas Paso 9.  Para los  atributos multivaluados se generan tablas separadas , con la clave principal del tipo de entidades o relaciones al que pertenecen. EMPLEADO TELEFONO EMPLEADO nss nombre direccion telefono nss nombre direccion nss num_tel
Reducción de un esquema ER a tablas Paso 10.  Para los  atributos compuestos hay dos opciones : o se genera una tabla separada o bien el atributo compuesto se descompone en los atributos simples que lo componen. EMPLEADO NOMBRE EMPLEADO nss nombre nPila paterno materno sueldo direccion EMPLEADO EMPLEADO nss nombre nPila paterno materno sueldo direccion O bien: nss sueldo direccion nss nPila paterno materno nss nPila paterno materno sueldo direccion
Reducción de un esquema ER a tablas Paso 11.  Para las  relaciones recursivas  se define un atributo adicional del mismo tipo (dominio) que la clave principal. Si la relación es de 1:1 o 1:N se añade el atributo a la misma tabla. EMPLEADO EMPLEADO nss nombre SUPERVISA N 1 EMPLEADO nss nombre CASADO_CON 1 1 EMPLEADO Los dos atributos (con el mismo dominio) representan diferentes papeles o roles. nss nombre supervisor nss nombre conyuge
Reducción de un esquema ER a tablas Paso 11 (cont).  Si la relación es N:M se genera aparte otra tabla con dos atributos: la clave principal del tipo de entidades más el atributo antes definido. ,[object Object],PREREQUISITO CURSO clave nombre REQUIERE M N Los dos atributos (con el mismo dominio) representan diferentes papeles o roles. c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 CURSO REQUIERE Se muestran 5 ejemplares de relaciones: c1 requiere de c4, c2 requiere de c7, c3 requiere también de c7, c4 requiere de c6 y de c8. c5 no tiene prerequisitos, ni es prerequisito de ningún curso. c7 y c8 no tienen prerequisitos, aunque son prerequisitos de otros cursos clave pre_req clave nombre
Reducción de un esquema ER a tablas Paso 12.  Las  Relaciones Ternarias  se deben representar primero como  Tipos de Entidades Débiles , sin clave parcial y con 3 Relaciones Identificadoras PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP PROVEEDOR PROYECTO SUMINISTRAR num_prov num_proy COMPONENTE cantidad num_comp
Reducción de un esquema ER a tablas ,[object Object],[object Object],[object Object],SUMINISTRO num_prov num_comp num_proy cantidad PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP
Reducción de un esquema ER a tablas Ejemplo.  Diagrama ER de una base de datos BANCO. BANCO codigo nombre direccion PRESTAMO CUENTA SUCURSAL CLIENTE CONTROLA OTORGA TIENE RECIBE TIENE nss nombre direccion num_cuenta saldo tipo importe num_prest tipo num_suc direccion 1 1 N N M N M N 1 N Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE
Reducción de un esquema ER a tablas BANCO cod_banco nombre direccion Según paso 1.  Por cada  tipo de entidades fuerte , crear una tabla con sus atributos simples. BANCO Según paso 2.  Para el caso de las  entidades débiles , se genera una tabla con sus atributos y se le añade una columna con la clave principal de la entidad fuerte. SUCURSAL BANCO cod_banco nombre direccion SUCURSAL TIENE num_suc direccion 1 N cod_banco nombre direccion cod_banco num_suc direccion
Reducción de un esquema ER a tablas Según paso 6.  Para una relación  1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. SUCURSAL PRESTAMO SUCURSAL OTORGA importe num_prest tipo num_suc direccion 1 N PRESTAMO Que ya se había obtenido en la lámina anterior cod_banco num_suc direccion num_suc num_prest tipo importe
Reducción de un esquema ER a tablas Según paso 6.  Para una relación  1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. SUCURSAL CUENTA Que ya se había obtenido anteriormente CUENTA SUCURSAL CONTROLA num_cuenta saldo tipo num_suc direccion 1 N cod_banco num_suc direccion num_suc num_cuenta tipo saldo
Reducción de un esquema ER a tablas Según paso 8.  Para una relación  N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. CLIENTE CLIENTE-PRESTAMO PRESTAMO CLIENTE RECIBE nss nombre direccion importe num_prest tipo M N La tabla PRESTAMO se obtuvo anteriormente nss nombre direccion nss num_prest
Reducción de un esquema ER a tablas Según paso 8.  Para una relación  N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. CUENTA-CLIENTE Las tablas CLIENTE y CUENTA se obtuvieron anteriormente CUENTA CLIENTE TIENE nss nombre direccion num_cuenta saldo tipo M N nss num_cuenta
Dudas y Preguntas: Correo electrónico: [email_address]

Más contenido relacionado

La actualidad más candente

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
Irving Che
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
Huascar Génere
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relacion
drakul09
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
Fco Javier Rodriguez
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 

La actualidad más candente (20)

3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Bases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ERBases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ER
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Listas
ListasListas
Listas
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de codd
 
03 Modelo Relacional
03 Modelo Relacional03 Modelo Relacional
03 Modelo Relacional
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relacion
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Modelo objeto semántico
Modelo objeto semánticoModelo objeto semántico
Modelo objeto semántico
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 

Destacado (8)

11practicafinal
11practicafinal11practicafinal
11practicafinal
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 
Base de datos banco
Base de datos bancoBase de datos banco
Base de datos banco
 
Representación grafica m er
Representación grafica m erRepresentación grafica m er
Representación grafica m er
 
Analisis multivariado
Analisis multivariadoAnalisis multivariado
Analisis multivariado
 
Diagrama de Flujo Deposito Bancario en Efectivo
Diagrama de Flujo Deposito Bancario en EfectivoDiagrama de Flujo Deposito Bancario en Efectivo
Diagrama de Flujo Deposito Bancario en Efectivo
 
Atributos
AtributosAtributos
Atributos
 
Ejemplos base de datos
Ejemplos base de datosEjemplos base de datos
Ejemplos base de datos
 

Similar a cc302modulo2

Universidad catolica santiago de guayaquil
Universidad catolica santiago de guayaquilUniversidad catolica santiago de guayaquil
Universidad catolica santiago de guayaquil
luigi87238
 
Entidad relacion
Entidad relacionEntidad relacion
Entidad relacion
adfc8
 
Modelo de entidad de relación
Modelo de entidad de relaciónModelo de entidad de relación
Modelo de entidad de relación
tatytaloor
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
leandrex125
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
leandrex125
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
TiFoN87
 
Entidad - relacion
Entidad - relacion Entidad - relacion
Entidad - relacion
juanan10
 
Entidad relacion
Entidad  relacion Entidad  relacion
Entidad relacion
Rafa
 
Modelo entidad de relación mendoza
Modelo entidad de relación mendozaModelo entidad de relación mendoza
Modelo entidad de relación mendoza
Rosii Pezo
 
Modelo entidad de relación mendoza
Modelo entidad de relación mendozaModelo entidad de relación mendoza
Modelo entidad de relación mendoza
Rosii Pezo
 
Modelo de datos semantico
Modelo de datos semanticoModelo de datos semantico
Modelo de datos semantico
clasetic2011
 

Similar a cc302modulo2 (20)

Universidad catolica santiago de guayaquil
Universidad catolica santiago de guayaquilUniversidad catolica santiago de guayaquil
Universidad catolica santiago de guayaquil
 
Deber 1
Deber 1 Deber 1
Deber 1
 
Modelamiento de-entidad relacion
Modelamiento de-entidad relacionModelamiento de-entidad relacion
Modelamiento de-entidad relacion
 
Modelo entidad relacion ok
Modelo entidad relacion okModelo entidad relacion ok
Modelo entidad relacion ok
 
3a5 victor uquillas-tarea 1
3a5 victor uquillas-tarea 13a5 victor uquillas-tarea 1
3a5 victor uquillas-tarea 1
 
Entidad relacion
Entidad relacionEntidad relacion
Entidad relacion
 
Clases entidad-relacion
Clases entidad-relacionClases entidad-relacion
Clases entidad-relacion
 
Modelo de entidad de relación
Modelo de entidad de relaciónModelo de entidad de relación
Modelo de entidad de relación
 
Análisis de sistemas clase 3
Análisis de sistemas   clase 3Análisis de sistemas   clase 3
Análisis de sistemas clase 3
 
entidad relacion
entidad relacionentidad relacion
entidad relacion
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
 
Entidad de relacion
Entidad de relacionEntidad de relacion
Entidad de relacion
 
MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)MODELAMIENTO ENTIDAD-RELACION (ER)
MODELAMIENTO ENTIDAD-RELACION (ER)
 
Entidad - relacion
Entidad - relacion Entidad - relacion
Entidad - relacion
 
Entidad relacion
Entidad  relacion Entidad  relacion
Entidad relacion
 
Modelo entidad de relación mendoza
Modelo entidad de relación mendozaModelo entidad de relación mendoza
Modelo entidad de relación mendoza
 
Modelo entidad de relación mendoza
Modelo entidad de relación mendozaModelo entidad de relación mendoza
Modelo entidad de relación mendoza
 
Modelo de datos semantico
Modelo de datos semanticoModelo de datos semantico
Modelo de datos semantico
 
bd relacionales
bd relacionalesbd relacionales
bd relacionales
 

cc302modulo2

  • 1. cc302 – Módulo 2 Modelo Entidad-Relación Prof. J. Ignacio Vázquez Herrera Bibliografía: Sistemas de bases de datos Ramez Elmasri y Shamkant B. Navathe Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel
  • 2.
  • 3. Proceso del diseño de Bases de Datos Minimundo Recolección de análisis de requerimientos Diseño Conceptual Diseño Lógico Diseño Físico Modelo Entidad-Relación Modelo Relacional Independiente Del SGBD Específico para Cada SGBD
  • 4.
  • 5. Conceptos del Modelo ER EMPLEADO curp fechaN nombre salario Tipo de entidades Tipo de atributos Representación de los Tipos de Entidades y Tipos de Atributos
  • 6. Tipos y Ejemplares de Entidades EMPLEADO curp fechaN nombre salario vigilante goma-800510 10/5/1980 Adrían Gómez 10,000 Tipo de Entidades o Clase de Entidades : Se refiere a un concepto o prototipo Ejemplar de Entidad: Se refiere a un objeto real (instancia) Los términos: Tipos de Entidades , tipos de atributos y tipos de relaciones son útiles para fines del modelado Un error común es confundir ambos términos
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Tipos de entidades débiles Tanto el tipo de entidades débiles como su relación identificadora se representan con líneas dobles EMPLEADO DEPENDIENTE DEPENDIENTE_DE 1 N curp nombre salario nombre sexo Clave Parcial o atributo discriminador fechaN Las entidades débiles siempre tienen una restricción de participación total con la relación identificadora Propietario identificador Relación identificadora
  • 25.
  • 26. Superclaves VEHICULO matricula num_eco serie_motor marca modelo chofer Técnicamente, el conjunto de todos los atributos forman una superclave, porque le dan unicidad a la entidad Pero igual cumplen los siguientes subconjuntos: num_eco, matricula; maticula, serie_motor; serie_motor, marca; Etc,etc.
  • 27. Claves Candidatas VEHICULO matricula num_eco serie_motor marca modelo chofer En la entidad VEHICULO se pueden encontrar dos superclaves mínimas (no se pueden dividir en otras superclaves): matricula y serie_motor Como ambas describen unívocamente a la entidad se les denomina claves candidatas
  • 28. Claves Primarias (o principales) De las claves candidatas: matricula y serie_motor Se elige a la que será la clave principal. Como es más probable que el atributo “matricula” cambie con el tiempo (como en un robo de placas), se elige el atributo serie_motor como clave primaria puesto que el número de serie del motor por lo general no cambia VEHICULO matricula num_eco serie_motor marca modelo chofer
  • 29. Claves Foráneas VEHICULO matricula num_eco serie_motor marca modelo chofer El atributo “ chofer ” se puede considerar como clave foránea , si en lugar de escribir nombres de personas como valores, se indican códigos que hacen referencia al nombre del chofer en otra entidad. De esta manera se evita la redundancia , pues en vez de escribir el mismo nombre varias veces (en el hipotético caso de que tuviese resguardado más de un vehículo) solo se repetiría el código del mismo
  • 30. Claves Parciales El atributo “ nombre ” de la entidad DEPENDIENTE no describe de manera unívoca a la entidad puesto que puede repetirse (puede haber 2 personas con el mismo nombre). En este caso “nombre” hace el papel de clave parcial o atributo discriminador . La clave principal de DEPENDIENTE estará formada por su atributo “nombre” (clave parcial) y el atributo “nss” de su entidad propietaria (clave foránea). EMPLEADO nss DEPENDIENTE nombre sexo fechaN parentesco DEPENDIENTE_DE 1 N
  • 31. Manejo de Relaciones ternarias Algunas herramientas que se emplean en el diseño de BD solo permiten Relaciones Binarias, por lo que es difícil implementar algunas relaciones ternarias , como el siguiente ejemplo: PROVEEDOR PROYECTO SUMINISTRAR num_prov num_proy COMPONENTE cantidad num_comp
  • 32.
  • 33. Manejo de Relaciones ternarias En estos casos las Relaciones Ternarias se pueden representar como Tipos de Entidades Débiles , sin clave parcial y con 3 Relaciones Identificadoras. PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP
  • 34. Un primer ejemplo Diagrama ER para la base de datos COMPAÑÍA Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N fechaIni horas
  • 35.
  • 36. Paso 1. Identificar Entidades EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco Se identifican cada una de las entidades participantes, así como sus respectivos atributos
  • 37. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco SUPERVISIÓN es una relación recursiva, puesto que el tipo de entidades EMPLEADO participa con dos papeles (o roles)
  • 38. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A
  • 39. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE Nótese como un tipo de entidades puede participar en más de una relación
  • 40. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA
  • 41. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN
  • 42. Paso 2. Resolver relaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE
  • 43. Paso 3. Determinar cardinalidades EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N
  • 44. Paso 4. Identificar participaciones EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N Una participación total indica que todo ejemplar de entidad participa al menos una vez en la relación
  • 45. Paso 5. Identificar Entidades débiles EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N El tipo de entidades DEPENDIENTE no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades EMPLEADO
  • 46. Paso 6. Identificar Atributos Clave EMPLEADO Nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N Un atributo clave identifica de manera unívoca a un tipo de entidades. En DEPENDIENTE la clave es la combinación de su atributo nombre y el atributo Nss del tipo de entidades EMPLEADO
  • 47. Paso 7. Identificar Atributos de Relaciones EMPLEADO nss nombre nPila paterno materno sexo direc sueldo fechaN SUPERVISIÓN supervisor supervisado DEPARTAMENTO número nombre lugares PROYECTO número nombre lugar num_empleados DEPENDIENTE nombre sexo fechaN parentesco PERTENECE_A DIRIGE CONTROLA TRABAJA_EN DEPENDIENTE_DE N M 1 N 1 1 1 N 1 N 1 N horas fechaIni Es necesario especificar la fecha en que un EMPLEADO comienza a dirigir un DEPARTAMENTO y las horas que un EMPLEADO trabaja en un PROYECTO
  • 48.
  • 49.
  • 50.
  • 51. 1. Identificar identidades LIBRO EJEMPLAR AUTOR USUARIO MULTA
  • 52.
  • 53. 2. Resolver relaciones (vínculos) LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A Hay que considerar que las relaciones RESERVA Y PRESTAMO son independientes, aún cuando el tipo de entidades USUARIO participa en ambas.
  • 54. 3. Determinar Cardinalidades LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M Posibles valores: 1:1 uno a uno 1:N uno a muchos N:M muchos a muchos
  • 55. 4. Identificar Participaciones LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M Una participación total indica que todo ejemplar de entidad participa al menos una vez en la relación
  • 56. 5. Identificar Entidades débiles LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M El tipo de entidades EJEMPLAR no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades libro Relación identificadora Entidad propietaria Entidad débil
  • 57. 6. Identificar Atributos Clave LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA MULTA TIENE SE_APLICA IMPUESTA_A N M N M M 1 N M 1 1 M M id_autor isbn id_usuario num num_ejem El atributo clave de EJEMPLAR se compone de su atributo “num_ejem” y el atributo clave isbn de LIBRO
  • 58.
  • 59. Notación alternativa LIBRO ESCRIBE EJEMPLAR AUTOR USUARIO PRESTAMO RESERVA TIENE ( 1, N) ( 1, N) ( 1, N) ( 1, 1) ( 0, 1) ( 0, N) min = 0 participación parcial. min >= 1 participación total. ( 0, N) ( 0, N) Con el ejemplo anterior: La razón de cardinalidad se determina tomando los máximos de forma invertida. ejem: (1, N ),(1, 1 ) = 1:N
  • 60. Reducción de un esquema ER a tablas Paso 1. Por cada tipo de entidades fuerte , crear una tabla con sus atributos simples. EMPLEADO nss nombre sexo direc sueldo fechaN Clave principal EMPLEADO nss nombre direc fechaN sexo sueldo
  • 61. Reducción de un esquema ER a tablas Paso 2. Para el caso de las entidades débiles , se genera una tabla con sus atributos y se le añade una columna con la clave principal de la entidad fuerte. EMPLEADO nss Clave foránea DEPENDIENTE nombre sexo fechaN parentesco DEPENDIENTE_DE Clave parcial DEPENDIENTE La clave principal estará formada por la combinación de la clave foránea y la clave parcial (o discriminador) 1 N nss nombre sexo fechaN parentesco
  • 62. Reducción de un esquema ER a tablas Paso 3. Para una relación de tipo 1:1 con participación total en ambas entidades, solo es necesario una tabla con los atributos de las entidades que participan en la relación. Nombre de la tabla Clave principal CHOFER Como clave principal (o clave primaria) se puede elegir cualquiera de las claves de las entidades. Igual aplica para el nombre de la tabla. nss nombre licencia num_econ modelo marca CHOFER nss nombre VEHICULO num_econ modelo TIENE_ASIGNADO 1 1 marca licencia
  • 63. Paso 4. Para una relación de tipo 1:1 con participación total en una sola entidad , son necesarias dos tablas con los atributos de las entidades que participan en la relación. En la tabla que corresponde a la entidad con participación total se le añade una columna con la clave principal de la otra entidad. Clave Foránea Clave principal EMPLEADO Cada entidad mantiene su clave principal. Además, la clave principal de la entidad con participación parcial será la clave foránea de la entidad con participación total DEPARTAMENTO Clave principal Reducción de un esquema ER a tablas nss nombre edad num_dep nombre nss EMPLEADO nss nombre DEPARTAMENTO num_dep nombre DIRIGE 1 1 edad
  • 64. Reducción de un esquema ER a tablas Paso 5. Si la relación es 1:1 y la participación es parcial en ambas entidades , se genera una tabla por cada entidad, luego se escoge una de las entidades y se le añade la clave principal de la otra entidad. PERSONA En el ejemplo se ha decidido elegir la entidad ANIMAL para que tenga como atributo adicional la clave principal de la otra entidad. ANIMAL nss nombre edad registro raza nss PERSONA nss nombre ANIMAL registro raza POSEE 1 1 edad
  • 65. Reducción de un esquema ER a tablas Paso 6. Para una relación 1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. Clave Foránea Clave principal EMPLEADO DEPARTAMENTO Clave principal nss nombre edad num_dep num_dep nombre EMPLEADO nss nombre DEPARTAMENTO num_dep nombre PERTENECE N 1 edad
  • 66. Reducción de un esquema ER a tablas Paso 7. Para una relación 1:N con participación parcial del lado de la entidad N , se necesitan tres tablas: una para representar cada entidad y otra para representar la relación. PERSONA PROYECTO PERSONA_PROYECTO En una relación N:1 los atributos de la relación (si los hubiera) se pueden trasladar a la entidad del lado N nss nombre edad horas nss numero numero lugar PERSONA nss nombre PROYECTO numero lugar TRABAJA_EN N 1 edad horas
  • 67. Reducción de un esquema ER a tablas Paso 8. Para una relación N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. PERSONA PROYECTO PERSONA_PROYECTO En una relación N:M los atributos de la relación no se pueden trasladar a las entidades participantes nss nombre edad nss numero horas numero lugar PERSONA nss nombre PROYECTO numero lugar TRABAJA_EN N M edad horas
  • 68. Reducción de un esquema ER a tablas Paso 9. Para los atributos multivaluados se generan tablas separadas , con la clave principal del tipo de entidades o relaciones al que pertenecen. EMPLEADO TELEFONO EMPLEADO nss nombre direccion telefono nss nombre direccion nss num_tel
  • 69. Reducción de un esquema ER a tablas Paso 10. Para los atributos compuestos hay dos opciones : o se genera una tabla separada o bien el atributo compuesto se descompone en los atributos simples que lo componen. EMPLEADO NOMBRE EMPLEADO nss nombre nPila paterno materno sueldo direccion EMPLEADO EMPLEADO nss nombre nPila paterno materno sueldo direccion O bien: nss sueldo direccion nss nPila paterno materno nss nPila paterno materno sueldo direccion
  • 70. Reducción de un esquema ER a tablas Paso 11. Para las relaciones recursivas se define un atributo adicional del mismo tipo (dominio) que la clave principal. Si la relación es de 1:1 o 1:N se añade el atributo a la misma tabla. EMPLEADO EMPLEADO nss nombre SUPERVISA N 1 EMPLEADO nss nombre CASADO_CON 1 1 EMPLEADO Los dos atributos (con el mismo dominio) representan diferentes papeles o roles. nss nombre supervisor nss nombre conyuge
  • 71.
  • 72. Reducción de un esquema ER a tablas Paso 12. Las Relaciones Ternarias se deben representar primero como Tipos de Entidades Débiles , sin clave parcial y con 3 Relaciones Identificadoras PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP PROVEEDOR PROYECTO SUMINISTRAR num_prov num_proy COMPONENTE cantidad num_comp
  • 73.
  • 74. Reducción de un esquema ER a tablas Ejemplo. Diagrama ER de una base de datos BANCO. BANCO codigo nombre direccion PRESTAMO CUENTA SUCURSAL CLIENTE CONTROLA OTORGA TIENE RECIBE TIENE nss nombre direccion num_cuenta saldo tipo importe num_prest tipo num_suc direccion 1 1 N N M N M N 1 N Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE
  • 75. Reducción de un esquema ER a tablas BANCO cod_banco nombre direccion Según paso 1. Por cada tipo de entidades fuerte , crear una tabla con sus atributos simples. BANCO Según paso 2. Para el caso de las entidades débiles , se genera una tabla con sus atributos y se le añade una columna con la clave principal de la entidad fuerte. SUCURSAL BANCO cod_banco nombre direccion SUCURSAL TIENE num_suc direccion 1 N cod_banco nombre direccion cod_banco num_suc direccion
  • 76. Reducción de un esquema ER a tablas Según paso 6. Para una relación 1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. SUCURSAL PRESTAMO SUCURSAL OTORGA importe num_prest tipo num_suc direccion 1 N PRESTAMO Que ya se había obtenido en la lámina anterior cod_banco num_suc direccion num_suc num_prest tipo importe
  • 77. Reducción de un esquema ER a tablas Según paso 6. Para una relación 1:N con participación total del lado de la entidad N , se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le añade una columna con la clave principal de la otra entidad. SUCURSAL CUENTA Que ya se había obtenido anteriormente CUENTA SUCURSAL CONTROLA num_cuenta saldo tipo num_suc direccion 1 N cod_banco num_suc direccion num_suc num_cuenta tipo saldo
  • 78. Reducción de un esquema ER a tablas Según paso 8. Para una relación N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. CLIENTE CLIENTE-PRESTAMO PRESTAMO CLIENTE RECIBE nss nombre direccion importe num_prest tipo M N La tabla PRESTAMO se obtuvo anteriormente nss nombre direccion nss num_prest
  • 79. Reducción de un esquema ER a tablas Según paso 8. Para una relación N:M se necesitan tres tablas : una para representar cada entidad y otra para representar la relación más los atributos propios de la misma. CUENTA-CLIENTE Las tablas CLIENTE y CUENTA se obtuvieron anteriormente CUENTA CLIENTE TIENE nss nombre direccion num_cuenta saldo tipo M N nss num_cuenta
  • 80. Dudas y Preguntas: Correo electrónico: [email_address]