El documento presenta una introducción al modelo entidad-relación (MER) para el diseño conceptual de bases de datos. Explica que el MER permite representar los datos relevantes de un sistema de una manera independiente de la tecnología subyacente. Describe los elementos clave del MER, incluyendo entidades, atributos, relaciones, cardinalidades y tipos de relaciones. También menciona conceptos como dominios, diccionario de datos, subtipos y restricciones.
2. El Diseño El ser humano es eminentemente simbólico; desde que nace se expresa de diversas maneras Formas de expresión, diversos idiomas y ha inventado otras diversas maneras de expresarse: la música, la pintura, la escultura, en definitiva: lenguajes de símbolos. En su evolución ha llegado a crear la escritura, lenguajes matemáticos y lenguajes que permiten esquematizar. En diversos campos de la ingeniería se representan esquemas: planos (arquitectura), esquemas eléctricos (electricidad), esquemas de máquinas (ingeniería mecánica), entre otros. Un modelo/esquema1 puede definirse como “la abstracción mental de la realidad observada en la que se resaltan los aspectos que se pretenden transmitir”. Modeloentidadrelación JACM
3. Modelosy esquemas El ser humano crea modelos o simplificaciones de la realidad para poder comprenderla y expresarla. Los modelos implica tareas de simplificación o abstracción de la realidad, de modo que representamos sólo los aspectos que interesa resaltar de esa realidad que se pretende alcanzar. Modelos Conceptuales o semánticos: están enfocados a describir el mundo real con independenciadela tecnología. Ejemplos: Modelo Entidad/Relacion de Chen (ME/R), Orientados a Objetos (Diagramas de clases de UML). Modeloentidadrelación JACM
4. El Diseño de DB Recuerdendiseñares un negocioserio. Ellos(jefes, clientes) sabenquedesean un base de datos, pero no sabenquedesean en esta. Esbozar los elementos clave es una forma eficiente para el desarrollo de base de datos y de cualquiersistema en general. El modelo E/R permiteplantear un diseño conceptual de la base de datos. Puedeincluiralgunasrestricciones, pero no operaciones. El diseño son figurasllamadasdiagramasentidad-relacion. Despues: convertir el diseño E/R a un diseñologico. Modeloentidadrelación JACM
9. EL MODELO ER El diseño conceptual -modelo conceptual- modelo ER,paso previo antes de realizar un diseño de modelo lógico (relacional, jerárquico o de red). modelo conceptual de datos orientado a objetos (entidades). por Peter Chen en 1976 en un artículo "The Entity-Relationship Model: Toward a Unified View of Data".Página Web Oficial de Peter Chen (http://bit.csc.lsu.edu/~chen/chen.html) Modeloentidadrelación JACM
10. CARACTERISTICAS DEL MODELO ER Refleja tan solo la existencia de los datos, no lo que se hace con ellos. Se incluyen todos los datos relevantes del sistema en estudio. No está orientado a aplicaciones específicas Es independiente de los SGBD No tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución. Está abierto a la evolución del sistema. Es el modelo conceptual más utilizado Profesor ID Curso Nombre tutor Estudiante Estudios Modulo Modeloentidadrelación JACM
11. ELEMENTOS DEL MODELO ER ENTIDAD (entity) ATRIBUTO (attribute) DOMINIO (domain) RELACION (relationship) Interrelación, vínculo entre entidades Modeloentidadrelación JACM
12. ENTIDADES Cualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar información en la B.D. Las entidades se representan gráficamente mediante rectángulos con su nombre en el interior. Realmente, los rectángulos representan tipos de entidad, pero se ha querido evitar el término “tipo de entidad” .De tal forma que hablaremos siempre de entidades, en vez de “tipos de entidades”. Las entidades representarán conjuntos de instancias, ocurrencias, ejemplares de un determinado tipo de objeto del mundo real. ModeloentidadrelaciónJACM
13. ATRIBUTOS Atributo= cada una de las propiedades o características que tiene una entidad. Los atributos son valores simples, e.j. enteros o cadenas de caracteres, sin estructura, conjuntos, etc. Los atributos se representan mediante un óvalo con el nombre del atributo dentro. Modeloentidadrelación JACM
14. TIPOS DE ATRIBUTOS Identificadores: son atributos que identifican de manera unívoca cada ocurrencia de una entidad. Toda entidad debe tener al menos un atributo identificador. se representan subrayando el nombre del atributo: Una entidad puede tener más de 1 atributo identificador; en ese caso, elegimos un atributo como identificador primario (P), quedando el resto como identificadores alternativos (A). Identificadores simples y compuestos Modeloentidadrelación JACM
15. TIPOS DE ATRIBUTOS Simples: son atributos que no están formados por otros atributos. Compuestos: son atributos que están formados por otros atributos que a su vez pueden ser simples o compuestos. Monovaluados: son atributos que representan un valor para una determinada ocurrencia de una entidad en un momento determinado. Pueden ser simples o compuestos. Modeloentidadrelación JACM
16. TIPOS DE ATRIBUTOS Multivaluados: son atributos que pueden representar varios valores simultáneamente para una misma ocurrencia de una entidad. Se representan mediante un doble óvalo. Pueden ser simples o compuestos. Derivados (o calculados): son atributos cuyo valor se obtiene aplicando una fórmula , no se almacenarán en la base de datos. Su valor se obtendrá en el momento en que sea necesario aplicando la fórmula asociada a ellos. Modeloentidadrelación JACM
17. TIPOS DE ATRIBUTOS Propios: son los atributos de las relaciones. Se representan unidos al rombo de la relación. Modeloentidadrelación JACM
18. CARDINALIDAD DE ATRIBUTOS La cardinalidad de cuantos valores puede almacenar el atributo para una ocurrencia determinada de la entidad. Para cada atributo de una entidad se puede especificar una cardinalidad (min,max). Por defecto (si no ponemos nada), la cardinalidad de un atributo asociado a una entidad es (1,1); es decir, el atributo debe obligatoriamente tener un exactamente un valor para toda ocurrencia de la entidad. Para atributos multivaluados la cardinalidad por defecto es (1,n). Pondremos como cardinalidad de atributo (0,1) si queremos indicar que un atributo puede contener un valor nulo. Modeloentidadrelación JACM
20. DOMINIOS Cada atributo simple de una entidad está asociado a un dominio, el cual representa el conjunto de valores que puede tomar el atributo. Para cada ocurrencia de una entidad un atributo tendrá un valor dominio del atributo. Un dominio lleva siempre asociado un predicado que permite comprobar si un determinado valor pertenece al dominio. D = { vi | P(vi) } Ejemplo:IDPERSONAS = { vi | P(vi) } P(v)=v es un número de documento nacional de identidad de un ciudadano colombiano Un predicado es una expresión que sólo puede tomar dos valores: VERDADERO ó FALSO Modeloentidadrelación JACM
21. DICCIONARIO DE DATOS Un SGBD debe proporcionar un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (metadatos). Normalmente, un diccionario de datos almacena: Nombre, tipo y tamaño de los datos. Nombre de las relaciones entre los datos. Restricciones de integridad sobre los datos. Nombre de los usuarios autorizados a acceder a la base de datos. Esquemas externos, conceptual e interno, y correspondencia entre los esquemas. Modeloentidadrelación JACM
22. DICCIONARIO DE DATOS Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos. Algunos de los beneficios que reporta el diccionario de datos son los siguientes: La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son. El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos. La comunicación se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden. Modeloentidadrelación JACM
23. DICCIONARIO DE DATOS Las redundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados. Se puede tener un historial de los cambios realizados sobre la base de datos. El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios. Se puede hacer respetar la seguridad. Se puede garantizar la integridad. Se puede proporcionar información para auditorías. Modeloentidadrelación JACM
25. DICCIONARIO DE DATOS [1] La fórmula ó método para calcular el valor de la edad se definirá en la tabla de entidades en el diccionario de datos (no en esta tabla de dominios) Modeloentidadrelación JACM
26. RELACIONES es una asociación entre 2 o más entidades. se representan gráficamente mediante rombos y su nombre aparece en el interior. Normalmente son verbos o formas verbales. Modeloentidadrelación JACM
27. RELACIONES Matemáticamente {<e1, e2, …, en>} ei=ejemplares de la entidad ei n=grado de la relación la relación sería: Compra = {<c1, p1>,<c1, p2>,<c2, p3>,<c3, p3>,<c3, p4>,<c3, p5>} Modeloentidadrelación JACM
28. CARDINALIDAD DE LA RELACION la cardinalidad de una relación (binaria) es el número de ocurrencias de una entidad asociadas a una ocurrencia de la otra entidad. Modeloentidadrelación JACM
29. CARDINALIDAD DE LA RELACION UNO A UNO Uno a uno (1:1) A cada ocurrencia de la entidad A le corresponde una ocurrencia de la entidad B, y viceversa. Modeloentidadrelación JACM
30. CARDINALIDAD DE LA RELACION UNO A VARIOS Uno a varios(1:N) A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Pero a cada ocurrencia de la entidad B sólo le corresponde una ocurrencia de la entidad A. Modeloentidadrelación JACM
31. CARDINALIDAD DE LA RELACION UNO A VARIOS Muchos a muchos (N:N) A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Y a cada ocurrencia de la entidad B le pueden corresponder varias ocurrencias de la entidad A. Modeloentidadrelación JACM
32. PARTICIPACION DE LAS ENTIDADES EN LAS RELACIONES Ejemplo Un cliente puede comprar de 0 a n productos y un producto puede ser comprado por de 0 a n clientes. Participación mínima cero: significa que puede haber ocurrencias de una entidad que no estén asociadas a ninguna ocurrencia de la otra entidad. Participación mínima uno: significa que toda ocurrencia de una entidad debe estar asociada a una ocurrencia de la otra entidad. Modeloentidadrelación JACM
33. TIPOS DE RELACIONES REFLEXIVAS (GRADO 1) Son relaciones donde participa sólo 1 entidad. Se relacionan ocurrencias de la entidad con otras ocurrencias de la propia entidad. Modeloentidadrelación JACM
34. TIPOS DE RELACIONES BINARIAS (GRADO 2) Son relaciones donde participan 2 entidades. Modeloentidadrelación JACM
35. TIPOS DE RELACIONES TERNARIAS (GRADO 3) Son relaciones donde participan 3 entidades. (A,B) C ; (A,C) B ; (B,C) A Modeloentidadrelación JACM
36. FUERTE-DEBIL Cuando una entidad participa en una relación puede adquirir un papel fuerte o débil Una entidad débil queda definida siempre a través de una relación especial que representa la dependencia de esta entidad de otra de orden superior (que puede ser a su vez una entidad fuerte o débil). Toda entidad débil tiene una dependencia en existencia de la entidad de orden superior, definiéndose entre ellas una jerarquía de dos niveles. Las entidades débiles se representan mediante un doble rectángulo, es decir, un rectángulo con doble línea. Modeloentidadrelación JACM
37. FUERTE-DEBIL La DEPENDENCIA EN IDENTIFICACION se representa mediante una relación débil (rombo con línea doble) y una entidad débil (rectángulo con línea doble). La flecha hacia la entidad débil es opcional. El identificador (débil) de la entidad débil en la dependencia de identificación lo representamos mediante un óvalo con el nombre del atributo doblemente subrayado. El par de atributos <ISBN, NUMERO> sería capaz de identificar unívocamente todos los ejemplares de todos los libros. Tengamos en cuenta que muchos libros pueden tener el ejemplar número 1 (siendo ejemplares distintos de libros distintos). Modeloentidadrelación JACM
38. AGREGADOS En determinadas ocasiones necesitemos crear una entidad de un nivel de abstracción superior englobando varias entidades relacionadas Modeloentidadrelación JACM
39. MODELO ENTIDAD RELACION EXTENDIDO (ERE) SUBCLASES Y SUPERCLASES En el MODELO ENTIDAD RELACION, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la base de datos y, por tanto, deberían representarse de forma explícita. Por ejemplo, la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA, INGENIERO, JEFE, TECNICO, ASALARIADO, SUBCONTRATADO, etc. El conjunto de ocurrencias de entidad Modeloentidadrelación JACM
40. RESTRICCIONES El MODELO ENTIDAD RELACION EXTENDIDO permite describir una serie de restricciones del minimundo en cuestión, si bien existen otras restricciones que es imposible (en otros casos muy difícil) de representar mediante el modelo. Todas estas restricciones no representables mediante el modelo serán descritas en el DICCIONARIO DE DATOS, de acuerdo a los conceptos descritos en el documento “DICCIONARIO DE DATOS”: Restricciones de atributo Dominio: asignar un atributo a un dominio definido en el propio DICCIONARIO DE DATOS representa una restricción ya que describe el conjunto de valores que puede tomar una atributo. Restricciones de atributo adicionales: son restricciones que se “añaden” a la propia restricción de dominio, como por ejemplo: AUTOINCREMENTADO: indica que el valor que toma el atributo para una nueva ocurrencia es el siguiente al último valor asignado a ese mismo atributo para la última ocurrencia añadida a la entidad. Modeloentidadrelación JACM
41. RESTRICCIONES Restricciones a nivel de entidad Restricciones de ocurrencia: son restricciones que afectan a varios atributos de una misma ocurrencia de una entidad. Ejemplo: FINICIO<=FFIN Restricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma entidad. Por ejemplo: (Entidad EMPLEADO) No pueden existir más de 3 empleados con un sueldo superior a $8.000.000. Restricciones de relaciones Restricciones de ocurrencia: son restricciones que afectan a varios atributos propios de una misma ocurrencia de una relación. Ejemplo: FINICIO<=FFIN Restricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma relación. Por ejemplo: (Relación ASIGNADO) No pueden existir más de 10 empleados asignados al mismo departamento Modeloentidadrelación JACM
42. RESTRICCIONES Restricciones a nivel de la base de datos: son restricciones que afectan a varias entidades y/o varias relaciones. Ejemplo: si tenemos una entidad VIAJE (con una atributo que indica el máximo número de cupos para cada viaje) y otra VENTA (agregado de CLIENTE COMPRA VIAJE), la restricción sería “No es posible vender más viajes del máximo número de cupos por viaje”. Restricciones de usuario: son restricciones que especifican qué privilegios (consulta, inserción, modificación, eliminación) tienen los usuarios de la base de datos sobre los datos. Normalmente los usuarios se clasificaran en grupos especificándose los privilegios a nivel de grupos. Modeloentidadrelación JACM
43. Evitarredundancia Redundancia= decir la mismo de diferentesmaneras Se ocupamasespacio y se genera inconsistenciacuando no se tienecuidado en lasactualizaciones. Modeloentidadrelación JACM
44. Ejemplo: Malo nombre nombre addr Producida Cerveza Empresa Empresa Este diseño repite el estados del fabricante o empresa de la cerveza, dos veces:como un atributo y como una entidad relacionada. Modeloentidadrelación JACM
45. Ejemplo: Malo Empresa Empresa EmpresaDir Cerveza Este diseño repite la dirección del fabricante por cada cerveza y pierde la dirección del fabricante si la empresa temporalmente no esta produciendo cerveza. Modeloentidadrelación JACM
46. Ejemplo: Bueno Nombre nombre Dir Producida Cerveza Empresa Este diseñoproporciona la direccion del fabricante solo unavez Modeloentidadrelación JACM
47. Relacionesredundantes combinar las dos entidades que intervienen en una relación redundantes entre sí Se convierte en unanuevaentidad La nueva entidad tiene todos los atributos de la entidades anteriores x a AB y b z c a x A B y b c z Modeloentidadrelación JACM
48. Remover Relaciones M:M Las relacionesvarios a varios son muydificilesde representar Es mejordividirunarelaciónvarios a variosen dos relacionesuno a varios Estudiantes Estudiantes Tiene inscriciones Estudian Modulos En Modulos Modeloentidadrelación JACM
49. Como diseñarmodelosE/R De la descricion de requeriemintosidentifique Entidades Atributos Relaciones La cardinalidad de lasrelaciones Dibujar el diagrama E/R para: Realizar un busquedaminusiosaparaidentificarlasredundancias Buscarrelacionesvarios a varios , en muchoscasosesnesecariodividirlas en relacionesuno-a-varios Modeloentidadrelación JACM
50. Como diseñarmodelos E/R Para realizar un modeloE/R ustednesecitaidentificar Entidades Atributos Relaciones Cardinalidades De unadescripcion Guia general Las entidades son las cosas o los objetos son a menudo los sustantivos en la descripción Los atributos son los hechos o las propiedades, por lo que a menudo son también los sustantivos Verbos generalmente describen las relaciones entre las entidades Modeloentidadrelación JACM
51. Como diseñarmodelos E/REntidades y atributos A veces es difícil saber si algo es una entidad o un atributo Ambos pueden representan los objetos o los hechos sobre el mundo Ambos son representados por los nombres en las descripciones Guia general Las entidades pueden tener atributos, pero los atributos deben ser atómicos y simples Las entidades pueden tener relaciones entre ellas, pero un atributo solo pertenece a una entidad Modeloentidadrelación JACM
52. Como diseñarmodelos E/RDepuración de Diseños Con un poco de práctica los digramas E / R se pueden utilizar para planificar las consultas Con solo mirar el diagrama se puedeencontrarinformacion Si usted no puede encontrar la información que necesita, es posible que tenga que cambiar el diseño Estudiantes Tiene inscripciones En Modulos Se puedeencontrarunalista de los estudiantesinscritos ? Modeloentidadrelación JACM
53. Estudiantes tiene Inscripcion en Modulo Como diseñarmodelos E/RDepuración de Diseños ID (3) Para cada instancia de inscripción en elresultado de (2) se encontrar el estudiante correspondiente Name (2) Encontrar la instacia de los inscritos con el mismocodigo(1) ID Codigo (1) Encontrar la instancia de un modulo con titulo ‘Sistema de bases de datos’ Codigo Titulo Modeloentidadrelación JACM
54. Ejemplo Una universidad consiste de un numero de departamentos. Cada departamento ofrece varios cursos. Un numero de módulos conforman cada curso. Los estudiantes se matriculan en un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicado por un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantes Modeloentidadrelación JACM
55. Ejemplo - Relaciones Unauniversidadconsiste de un numero de departamentos.Cadadepartamentoofrecevarioscursos. Un numero de modulosconformancadacurso. Los estudiantesse matriculanen un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicadopor un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantes Modeloentidadrelación JACM
56. Ejemplo- E/R Diagrama Entidades: Departamento, Curso, Modulo, profesor, estudiantes Departamento Modulo Curso Profesor Estudiantes Modeloentidadrelación JACM
57. Ejemplo- E/R Diagrama Cadadepartamentoofrecevarioscursos Ofrece Departamento Modulo Cursos Profesor Estudiantes Modeloentidadrelación JACM
58. Ejemplo- E/R Diagrama Un numero de modulosconformancadacurso Ofrece Departamento incluye Modulo Cursos Profesor Estudiantes Modeloentidadrelación JACM
59. Ejemplo- E/R Diagrama Los estudiantesse matriculanen un curso en particular Ofrece Departamento incluye Modulos Cursos Profesor Matriculan Estudiantes Modeloentidadrelación JACM
60. Ejemplo- E/R Diagrama Los estudiantes… toman los módulos Ofrece Departamento incluye Modulos Cursos Profesor toman Matriculan Estudiantes Modeloentidadrelación JACM
61. Ejemplo- E/R Diagrama Cada módulo es explicadopor un profesor Ofrece Departamento incluye enseña Modulos Cursos Profesor toman Matriculan Estudiantes Modeloentidadrelación JACM
62. Ejemplo- E/R Diagrama un profesor del departamento correspondiente Ofrece Emplea Departamento incluye enseña Modulos Cursos Profesor toman matrículan Estudiantes Modeloentidadrelación JACM
63. Ejemplo- E/R Diagrama cada profesor es tutor de un grupo de estudiantes Ofrece Emplea Departamento incluye enseña Modulos Cursos Profesor toman Matrículan Tutor Estudiantes Modeloentidadrelación JACM
64. Ejemplo- E/R Diagrama Ofrece Emplea Departamento incluye enseña Modulos Cursos Profesor toman matrículan Tutor Estudiantes Modeloentidadrelación JACM
65. Ejemplo Se desearepresentarinformacionacerca de productos en la base de datos. Cadaproductotieneunadescripcion, un precioy un provedor. El provedortienedireccion,numero de telefono y nombres. Cadadireccion se componede unaubicaciónen nomeclatura un zona , un departamento o provincia o estado y un pais. Modeloentidadrelacion JACM
66. Ejemplo - Entidades/Atributos Entidades o atributos: producto descripcion precio provedor Dirección Telefono Nombre Ciudad departamento Productos, provedores, y direccion se componen de varioselemntos, por lo anterior, estosobjetosformaranlasentidades Los otrosson información indivisible porconsiguientepertenecen a unaentidad Modeloentidadrelación JACM
67. precio Producto descripcion Direccion provedor direccion ciudad nombre departamento Telefono Ejemplo – Diagrama E/R Modeloentidadrelación JACM
68. Ejemplo- Relaciones Cadaproductotiene un provedor Cadaproductotiene un solo provedorperoesto no impideque un provedorsuministrevariosproductos Unarelacionvarios a uno Cadaprovedortieneunadireccion Un provedortieneuna sola direccion No parece razonable que dos proveedores diferentes tengan la misma dirección Unarelacionuno a uno Modeloentidadrelación JACM
69. Ejemplo – Diagrama E/R Precio Producto Descripcion Tiene Direccion Tiene Provedor Direccion Ciudad Nombre departamento Telefono Modeloentidadrelación JACM