Modelo Entidad Relacion

15,202 views
14,658 views

Published on

Published in: Education

Modelo Entidad Relacion

  1. 1. Diagrama Entidad-Relación<br />Marco Antonio González Malaver<br />
  2. 2. Introducción al proceso de diseño<br />Diseño del esquema de la base de datos<br />Diseño de los programas de acceso y actualización de datos<br />Diseño del esquema de seguridad y de control de acceso a los datos<br />
  3. 3. Fases del diseño<br />Identificar las necesidades de datos de los usuarios de la base. Se obtiene la especificación de los requerimientos del usuario.<br />Seleccionar un modelo de datos y traducir estos requerimientos en un esquema conceptual de la base de datos. Se usa el diagrama entidad-relación para representarlo gráficamente. <br />
  4. 4. Evitar en el diseño…<br />Redundancia: Un mal diseño puede repetir información.<br />Falta de información <br />
  5. 5. Ejercicio<br />Se requiere tener la información sobre los análisis de laboratorio que se llevan a cabo a los pacientes que están internados en un hospital. De cada paciente se requieren sus datos personales, los análisis que se le han practicado, el nombre del médico que solicitó los exámenes y el resultado de cada una de ellas. De cada prueba de laboratorio se necesita saber el nombre de la prueba, lo que mide la prueba (suponer que cada análisis de laboratorio mide una sola cosa), descripción de su aplicación y su costo.<br />¿Cómo podrías guardar esta información y en cualquier momento poderla recuperar?<br />
  6. 6. Modelo E-R: Entidades<br />Una entidad es una cosa o un objeto del mundo real que es distinguible de otros objetos. Por ejemplo, una paciente en un hospital. Una entidad tiene un juego de propiedades y los valores de estas propiedades identifican en forma única una entidad. Por ejemplo el número que se le asigna al paciente al ingresar al hospital.<br />
  7. 7. Modelo E-R: Atributos<br />Una entidad es representada por un juego de atributos. Los atributos son propiedades descriptivas de las entidades. Cada entidad tiene su propio valor para cada atributo. Ejemplo número de paciente, nombre, dirección, etc.<br />Un juego de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos. El juego de todos los pacientes de un hospital.<br />
  8. 8. Modelo E-R: Relaciones<br />Una relación es una asociación entre entidades. Por ejemplo un x paciente tiene tal padecimiento.<br />PACIENTE<br />PADECIMENTO<br />Juan López<br />Hepatitis<br />
  9. 9. Dominios<br />Para cada atributo, existe un juego de valores permitidos llamado el dominio o juego de valores. Por ejemplo para el atributo nombre del paciente el dominio será el juego de todos las cadenas de texto de una cierta longitud.<br />
  10. 10. Tipos de Atributos<br />Simples: son aquellos que no se han dividido en subpartes.<br />Compuestos: son los que pueden dividirse en otros atributos, por ejemplo el atributo nombre, puede dividirse en nombre, apellido materno y apellido paterno.<br />De un solo valor: Por ejemplo la edad del paciente es única.<br />Multivalor: Por ejemplo un paciente puede tener cero o más números telefónicos.<br />Derivado: el valor de este tipo de atributo es obtenido a partir de los valores de otro <br />
  11. 11. Cardinalidad<br />Es el número de entidades con la cual otra entidad puede asociar mediante una relación<br />Considerando una relación binaria entre el juego de entidades A y el B, la cardinalidad puede ser:<br />Uno a uno<br />Uno a muchos ó muchos a uno<br />Muchos a muchos<br />
  12. 12. Uno a uno<br />Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa<br />A1<br />A2<br />A3<br />A4<br />B1<br />B2<br />B3<br />B4<br />B5<br />EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece<br />a un solo paciente (hospital privado)<br />
  13. 13. Uno a muchos<br />Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B, puede estar asociada a lo mucho con una entidad en A<br />A1<br />A2<br />A3<br />B1<br />B2<br />B3<br />B4<br />B5<br />EJEMPLO: El titular de una cuenta de cheques puede tener cualquier número de <br />tarjetas, pero cada tarjeta pertenece a una sola persona <br />
  14. 14. Muchos a muchos<br />Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa<br />A1<br />A2<br />A3<br />A4<br />B1<br />B2<br />B3<br />B4<br />B5<br />EJEMPLO: En un proyecto de investigación puede haber cualquier número<br />de médicos, un médico puede participar en cero o varios proyectos<br />
  15. 15. Llave Primaria<br />Son atributos que se usan para diferenciar una entidad de otra, por ejemplo un medicamento de otro, o un paciente de otro. Puede haber varias llave candidato. <br />La llave primaria debe ser única y de preferencia no cambie con el tiempo. <br />Cada juego de entidades (tabla) debe tener una llave primaria.<br />
  16. 16. Cardinalidad: obligatoria y opcional<br />Uno a uno obligatorio: un empleado en<br />Una empresa tiene uno y solo un puesto, un<br />Puesto pertenece a un solo empleado<br />Uno a muchos opcional: un profesor en la<br />Fac. de Ingeniería puede dar 0 o varias clases y una clase está dada por uno y solo un profesor<br />Muchos a muchos obligatorio: una materia puede pertenecer a una o varias carreras, una carrera está formada por varias materias.<br />Uno a uno opcional: Un paciente puede estar asignado a un cuarto o a ninguno. En un cuarto puede haber cero o un paciente<br />
  17. 17. Diagramas Entidad-Relación (E-R)<br />Un diagrama E-R consiste de:<br /><ul><li>Rectángulos: representan juegos de entidades
  18. 18. Elipses: representan atributos
  19. 19. Diamantes: representan juegos de relaciones
  20. 20. Líneas: son ligas entre atributos y entidades y entre juegos de entidades y de relaciones
  21. 21. Elipses dobles: son atributos multivalor
  22. 22. Elipses punteadas: son atributos derivados
  23. 23. Rectángulos dobles: representan juegos de entidades débiles.</li></li></ul><li>Metodología<br />Identificar entidades : Definir objetos como personas, lugares o conceptos sobre los que se quiere tener información.<br />Identificar atributos: Definir las “propiedades” de cada entidad<br />Determinar llave primaria de cada entidad<br />Identificar relaciones entre las entidades<br />Señalar cardinalidad entre las entidades<br />
  24. 24. Ejemplo: uno a uno<br />Cuando se decide ingresar a un paciente a un hospital se le asigna un cuarto y en un cuarto puede estar un paciente o ninguno (suponiendo un hospital privado).<br />i_paciente#<br />i_cuarto#<br />n_paciente<br />i_piso<br />a_paciente<br />cuarto<br />paciente<br />d_ingreso<br />i_cuarto#<br />q_costo<br />
  25. 25. Ejemplo: uno a muchos<br />El titular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona, las entidades son cliente y tarjeta<br />i_cliente#<br />i_tarjeta#<br />n_cliente<br />i_password<br />a_cliente<br />tarjeta<br />cliente<br />i_cliente#<br />q_limite<br />d_apertura<br />
  26. 26. Ejemplo: muchos a muchos<br />En un proyecto de investigación puede haber cualquier número de médicos, un médico puede participar en cero o varios proyectos<br />i_medico#<br />i_proyecto#<br />n_medico<br />n_proyecto<br />a_medico<br />proyecto<br />medico<br />a_telefono<br />i_especial<br />t_resumen<br />
  27. 27. Rompiendo el muchos a muchos<br />En el diseño de una base de datos no se permiten relaciones “muchos a muchos”, cuando se tiene esto se crea una “relación” entre ambas cuya llave primaria será una llave compuesta por las llaves primarias de las entidades que está uniendo<br />n_medico<br />i_medico#<br />i_proyecto#<br />n_proyecto<br />a_medico<br />proyecto<br />medico<br />medico-<br />proyecto<br />i_especial<br />i_medico# i_proyecto#<br />t_resumen<br />a_telefono<br />
  28. 28. Relaciones y llaves primarias vs cardinalidad<br />
  29. 29. Solución ejercicio<br />Analizando el ejercicio del laboratorio, las siguientes entidades: <br />Paciente y Análisis<br />Paciente y Médico<br />
  30. 30. Diagrama E-R<br />Se tienen dos juegos de entidades: paciente y análisis de laboratorio.<br />analisis<br />paciente<br />A un paciente hospitalizado se le pueden practicar cero o varios análisis y<br />un análisis puede practicársele a ninguno o a muchos pacientes.<br />Esto implica que tenemos una relación muchos a muchos optativa en<br />ambos lados.<br />
  31. 31. Rompiendo el muchos a muchos<br />Debemos crear una relación entre ambas<br />paciente<br />analisis<br />paciente-<br />analisis<br />
  32. 32. Diagrama E-R<br />Los juegos de entidades: paciente-análisis y médico.<br />medico<br />paciente-<br />analisis<br />A un paciente hospitalizado se le pueden practicar cero o varios análisis y <br />cada análisis se lo manda un doctor. A su vez un doctor puede mandar<br />uno o varios análisis a los distintos pacientes.<br />Esto implica que tenemos una relación uno a muchos obligatoria.<br />
  33. 33. Rompiendo el muchos a muchos<br />Debemos crear una relación entre ambas<br />paciente-<br />analisis<br />medico<br />
  34. 34. Ejercicio en clase<br />Determinar cuales serán los atributos de las entidades del diagrama anterior.<br />¿Falta una entidad?, ¿Dónde quedaría en el diagrama, con qué entidad se liga, cuáles serían sus atributos?<br />¿Las entidades paciente y médico están relacionadas?<br />
  35. 35. Tarea<br />Construir un diagrama E-R para una compañía aseguradora que vende seguros de gastos médicos mayores. Los clientes pueden tener más de una persona asegurada. También se requiere llevar el registro de las veces que ha utilizado el seguro cada uno de los asegurados como por ejemplo fecha, descripción de la enfermedad y/o accidente, procedimiento hospitalización, intervenciones, médico tratante, etc.<br />

×