cc302modulo2

4,499 views
4,327 views

Published on

Descripción del Modelo Entidad Relación

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
4,499
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
410
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

cc302modulo2

  1. 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. 2. Modelos de datos <ul><li>Alto nivel o Conceptuales </li></ul><ul><li>De implementación o Lógicos </li></ul><ul><li>Bajo nivel o Físicos </li></ul>El Modelo Entidad-Relación o Entidad-Vínculo cae dentro de la clasificación de Modelos de Datos de Alto Nivel o Conceptuales.
  3. 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. 4. Conceptos del Modelo ER <ul><li>Entidad . Objeto del mundo real, distinguible de otros objetos. Algunos autores utilizan el nombre “Ejemplar de Entidad” </li></ul><ul><li>Tipos de entidades . Conjunto de entidades que comparten las mismas propiedades o atributos. También se les puede referir como “ Clases de Entidades” </li></ul><ul><li>Atributos . Propiedades específicas que describen a una entidad </li></ul><ul><li>Dominio . Conjunto de valores posibles para un atributo . Por ejemplo: el dominio para el atributo calificación son todos los enteros positivos de 0 a 100 </li></ul>
  5. 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. 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. 7. Atributos Simples y Compuestos <ul><li>Compuestos. Se pueden dividir en componentes más pequeños. </li></ul><ul><li>Simples o Atómicos. Son aquellos que no son divisibles. </li></ul>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.
  8. 8. Atributos Monovaluados y Multivaluados <ul><li>Monovaluados . Tienen un solo valor para una entidad en particular. </li></ul><ul><li>Multivaluados . Pueden tener más de un valor, incluso se pueden manejar límites inferior y superior. </li></ul>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.)
  9. 9. Atributos Almacenados y Derivados <ul><li>Almacenados . Aquellos que se guardan en la BD. </li></ul><ul><li>Derivados . Los que se pueden obtener a partir de los almacenados. </li></ul>EMPLEADO curp fechaN nombre salario nPila paterno materno telefono edad El atributo “edad” se puede calcular dinámicamente a partir del atributo “fechaN”
  10. 10. Atributos Clave <ul><li>Una restricción importante de las entidades de un tipo es la restricción de clave o restricción de unicidad . </li></ul><ul><li>Un atributo clave identifica de manera única a cada entidad individual. </li></ul>EMPLEADO curp fechaN nombre salario nPila paterno materno telefono edad Un atributo clave aparece subrayado
  11. 11. Tipos de Relaciones (o Vínculos) <ul><li>Un tipo de Relaciones (o tipo de vínculos ) es una asociación entre dos o más tipos de entidades. Se representa mediante un rombo que conecta a los tipos de entidades. </li></ul>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”
  12. 12. Nombres de Papeles <ul><li>Cada tipo de entidades que participa en un tipo de relaciones desempeña un papel (o rol) específico en la relación o vínculo. </li></ul>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 .
  13. 13. Relaciones Recursivas <ul><li>También llamadas unarias son aquellas en los que el mismo tipo de entidades participa más de una vez en un tipo de relaciones (o tipo de vínculos) con diferentes papeles (roles). </li></ul>La relación SUPERVISION asocia un empleado con un supervisor y pertenecen ambos al mismo tipo de entidades EMPLEADO supervisor supervisado EMPLEADO SUPERVISION
  14. 14. Grado de un tipo de relaciones <ul><li>Es el número de tipos de entidades que participan en un tipo de relaciones (o tipo de vínculos) </li></ul><ul><li>Los tipos de relaciones de grado uno se llaman unarias </li></ul><ul><li>Los tipos de relaciones de grado dos se llaman binarias </li></ul><ul><li>Los tipos de relaciones de grado tres se llaman ternarias </li></ul>EMPLEADO DEPARTAMENTO PERTENECE_A PROVEEDOR PROYECTO SUMINISTRA COMPONENTE Relación binaria Relación ternaria supervisor supervisado EMPLEADO SUPERVISION Relación unaria o recursiva
  15. 15. Restricciones estructurales <ul><li>1. Razón de Cardinalidad . Especifica el número de ejemplares de relaciones en los que puede participar una entidad </li></ul><ul><li>Las relaciones de cardinalidad más comunes son 1:1, 1:N, M:N (uno a uno, uno a muchos, muchos a muchos) </li></ul>EMPLEADO DEPARTAMENTO PERTENECE_A N 1 EMPLEADO DEPARTAMENTO DIRIGE 1 1 ALUMNO MATERIA CURSA M N
  16. 16. Restricciones estructurales <ul><li>2. Restricción de Participación . Especifica si la existencia de una entidad depende de que esté relacionada con otra entidad a través del tipo de relaciones </li></ul><ul><li>Hay dos tipos de restricciones de participación: parcial y total ( llamadas también: opcional y obligatoria) </li></ul>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
  17. 17. Restricciones estructurales <ul><li>Ejemplo de diagrama de relación 1:1 </li></ul>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
  18. 18. Restricciones estructurales <ul><li>Ejemplo de diagrama de relación N:1 </li></ul>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
  19. 19. Restricciones estructurales <ul><li>Ejemplo de diagrama de relación 1:N </li></ul>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
  20. 20. Restricciones estructurales <ul><li>Ejemplo de diagrama de relación M:N </li></ul>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
  21. 21. Atributos de los tipos de relaciones <ul><li>Los tipos de relaciones también pueden tener atributos </li></ul>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
  22. 22. Atributos de los tipos de relaciones <ul><li>Los atributos de los tipos de relaciones 1:1 se pueden trasladar a cualquiera de los tipos de entidades participantes. </li></ul>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
  23. 23. Tipos de entidades débiles <ul><li>No tienen atributos clave propios. Se identifican por su relación con otras entidades. A ese otro tipo de entidad se le conoce como propietario identificador </li></ul><ul><li>Al tipo de relaciones que asocia un tipo de entidades débiles se le conoce como relación identificadora (o vínculo identificador) </li></ul><ul><li>Los tipos de entidades débiles siempre tienen una restricción de participación total , aunque no toda existencia de dependencia resulta en un tipo de entidades débiles </li></ul>
  24. 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. 25. Tipos de Claves <ul><li>Superclave . Es un conjunto de uno o más atributos que tomados colectivamente, permiten identificar de manera única a una entidad. </li></ul><ul><li>Clave Candidata . Una superclave mínima, tal que no contenga otras superclaves. </li></ul><ul><li>Clave Primaria . Clave candidata que es elegida para identificar una entidad, buscando que los atributos que la conforman nunca cambien. </li></ul><ul><li>Clave Foránea . Se dice de la clave primaria de la cual dependen otras entidades (como las entidades débiles). </li></ul><ul><li>Clave Parcial . En el caso de una entidad débil, es un atributo que se utiliza como discriminador y que junto con la clave foránea forma la clave principal. </li></ul>
  26. 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. 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. 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. 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. 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. 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. 32. Manejo de Relaciones ternarias <ul><li>Ejemplo de diagrama de una </li></ul><ul><li>Relación Ternaria </li></ul>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
  33. 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. 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. 35. Base de datos COMPAÑÍA <ul><li>La compañía está organizada en departamentos . Cada departamento tiene un nombre único, un número único y un cierto empleado que lo dirige , y nos interesa la fecha en que dicho empleado comenzó a dirigir el departamento. Un departamento puede estar distribuido en varios lugares . </li></ul><ul><li>Cada departamento controla un cierto número de proyectos , cada uno de los cuales tiene un nombre y un número únicos, y se efectúa en un solo lugar . </li></ul><ul><li>Almacenaremos el nombre , número de seguro social, dirección , salario , sexo y fecha de nacimiento de cada empleado . Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarán controlados por el mismo departamento. Nos interesa el número de horas por semana que un empleado trabaja en cada proyecto, y también quién es el supervisor de cada empleado. </li></ul><ul><li>Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar los términos de sus seguros. Almacenaremos el nombre , sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado. </li></ul>Azul - Entidades Rojo - Relaciones Verde - Atributos Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE
  36. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 48. El minimundo BIBLIOTECA <ul><li>Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios. </li></ul><ul><li>Cada libro puede estar escrito por más de un autor. Cualquier autor puede haber escrito varios libros. </li></ul><ul><li>Si actualmente no hay en existencia ejemplares requeridos de un libro, un usuario puede hacer una reservación del título para cuando esté disponible. </li></ul><ul><li>Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario. </li></ul>
  49. 49. Desarrollando el Diagrama E-R <ul><li>Paso 1 Identificar Entidades </li></ul><ul><li>Paso 2 Resolver Relaciones (vínculos) </li></ul><ul><li>Paso 3 Determinar Cardinalidades </li></ul><ul><li>Paso 4 Identificar Participaciones </li></ul><ul><li>Paso 5 Identificar Entidades débiles </li></ul><ul><li>Paso 6 Identificar Atributos CLAVE </li></ul>
  50. 50. 1. Identificar identidades <ul><li>Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios . </li></ul><ul><li>Cada libro puede estar escrito por más de un autor . Cualquier autor puede haber escrito varios libros. </li></ul><ul><li>Si actualmente no hay en existencia ejemplares requeridos de un libro, un usuario puede hacer una reservación del título para cuando esté disponible. </li></ul><ul><li>Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario. </li></ul>
  51. 51. 1. Identificar identidades LIBRO EJEMPLAR AUTOR USUARIO MULTA
  52. 52. 2. Resolver relaciones (vínculos) <ul><li>Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios . </li></ul><ul><li>Cada libro puede estar escrito por más de un autor . Cualquier autor puede haber escrito varios libros. </li></ul><ul><li>Si actualmente no hay en existencia ejemplares requeridos de un libro, un usuario puede hacer una reservación del título para cuando esté disponible. </li></ul><ul><li>Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario. </li></ul>
  53. 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. 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. 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. 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. 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. 58. Notación alternativa <ul><li>Otra forma de representar las restricciones estructurales ( razón de cardinalidad y restricción de participación ) es mediante la notación ( min , max ). </li></ul><ul><li>Significa que cada ejemplar de entidad debe participar en por lo menos min ejemplares de relaciones y cuando más en max ejemplares de relaciones. </li></ul><ul><li>min = 0 implica participación parcial. </li></ul><ul><li>min >= 1 implica participación total. </li></ul>
  59. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 71. 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. <ul><ul><li>CURSO </li></ul></ul>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
  72. 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. 73. Reducción de un esquema ER a tablas <ul><li>Paso 12 (cont). En seguida se generan: </li></ul><ul><li>Una tabla por cada una de las entidades fuertes (o propietarias) con sus atributos simples </li></ul><ul><li>Una tabla por la entidad débil obtenida con sus atributos simples y los atributos clave de las entidades fuertes. </li></ul>SUMINISTRO num_prov num_comp num_proy cantidad PROVEEDOR PROYECTO VS num_prov num_proy COMPONENTE cantidad num_comp SUMINISTRO SC SCP
  74. 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. 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. 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. 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. 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. 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. 80. Dudas y Preguntas: Correo electrónico: [email_address]

×