Modelo Entidad-Relación MER 1
Modelo Entidad-Relación Es un modelo conceptual y se utiliza para la definición de datos. Se basa en representar objetos (entidades) y relaciones entre esos objetos. Describe el esquema en términos de conjuntos de entidades y relaciones entre esos conjuntos. Permite declarar restricciones sobre las relaciones como sobre los conjuntos de entidades. Tiene un DDL gráfico. o tiene DML standard. 2
Entidades y Atributos Una ETIDAD es un objeto distinguible de la realidad en estudio. Las entidades se agrupan en conjuntos de entidades. Un ATRIBUTO es una función tal que dado un elemento de un determinado conjunto de entidades es capaz de devolver un valor de un determinado conjunto de valores, llamado dominio del atributo. 3
Diagrama de Entidad-Relación Los Conjuntos de Entidades se representan con un rectángulo con el nombre, del que cuelgan los atributos. Los Conjuntos de Relaciones se representan con un rombo con el nombre, conectado con los conjuntos de entidades que relaciona. Hay un conjunto de Restricciones que se pueden imponer sobre el diagrama con diferentes notaciones. 4
Entidades Esquema Instancia Cédula Dom. Cédula 1.999.756 1.987.645 Estudiantes Dirección Dom. Dirección Soriano 728 Mercedes 3456 Estudiantes 5
Tipos de Atributos Atributos Estructurados: Permiten representar atributos compuestos, que están formados por varias partes independientes. Atributos Multivalorados: Son funciones que devuelven un conjunto de valores pertenecientes a un dominio dado. Funcionario Direccion Ciudad Vivienda Calle úmero Funcionario 0 Teléfonos* 6
Relaciones Esquema Estudiantes Instancia Estudiantes Inscriptos I n s c ri Curso p t o s Cursos 7
Restricciones Restricciones sobre Conjuntos de Entidades : Se dice que un atributo es Determinante cuando no pueden existir en el conjunto de entidades, dos entidades que tengan el mismo valor para ese atributo. Funcionario rofuncionario 8
Restricciones (cont.) Restricciones sobre Relaciones Pueden ser sobre 1) la Cardinalidad, 2) la Totalidad, 3) Restricciones no estructurales. Estudiante 5 Inscripción Examen Curso ( x Estudiante)( y Curso), ((x,y) Examen (x,y) Inscripción) 9
Cardinalidad de las relaciones : Estudiantes :1 Inscriptos Cardinalidades Máximas Cursos Estudiantes Inscriptos Cursos 10
Atributos de relaciones Se tiene información acerca de materiales y proveedores indicando que material provee cada proveedor. Del material se conoce el código, el nombre y una descripción. Del proveedor se conoce su RUC, su nombre y su dirección. Cualquier material puede ser provisto por cualquier proveedor. Se sabe además que no hay dos materiales con el mismo código. Cómo se representa esta realidad? El precio al que cada proveedor vende cada producto, Es un atributo de proveedor? Es un atributo de materiales? 11
Atributos en relaciones Las relaciones pueden tener atributos. Se representan igual que los atributos de las entidades. Tienen el mismo significado: Funciones que van del conjunto de parejas de la relación en un dominio dado. o afecta el cálculo de Cardinalidad! ota Estudiantes Inscriptos Curso 12
Ejemplo Hay un conjunto de cines de los que se conoce el nombre y la ciudad y se asume que la pareja nombre-ciudad identifica al cine. Existe también un conjunto de películas que se exhiben en los cines y de las que se conoce un código que las identifica y un nombre. La exhibición de las películas en cada cine corresponde a una función correspondiente a cierta fecha y hora. Cómo se representa esta realidad? 13
Auto-relaciones En una empresa, existen funcionarios y se sabe que unos funcionarios son jefes de otros. Un jefe es jefe de varios funcionarios y un subordinado es controlado por un único jefe. Cómo se representa esta realidad? Se llama Papel o Rol al rótulo que identifica que función cumple una determinada entidad en una auto-relación. 14
Relaciones Múltiples Una empresa de construcción realiza a partir del diseño de sus proyectos documentos de requerimientos de materiales. Todo requerimiento da origen a uno o más pedidos de compras. Se desea modelar qué requerimientos originan qué pedidos de compras solicitando determinados materiales. Material Requerimiento M-R-P Pedido 15
Relaciones Múltiples (otro ejemplo) Un cliente puede tener varias cuentas, cada una situada en una única sucursal del banco, donde una cuenta puede pertenecer a varios clientes distintos. Cardinalidades: Considerar M-1 entidades como una sola y ver, Cod dado Ciudad uno de estos con cuantos de la otra se pueden relacionar? Cédula Dir Sucursal om 1 um Saldo Cliente Cta-Cli-Suc Cuenta 16
Relaciones Múltiples (otro ejemplo) Cuál es la diferencia con esta otra representación? Cod Ciudad Sucursal 1 Suc-Cta Cédula om Cliente Cta-Cli Cuenta Dir um Saldo 17
Categorizaciones Permite expresar que hay conjuntos de entidades que son subconjuntos de otros conjuntos de entidades. Podría tener más entidades que la unión de las categorías Funcionario umfunc Se asumen disjuntas. Adm. Técnico Chofer Idioma* Esp.* Libreta Cant-Acc 18
Categorizaciones (ejemplo) Una empresa está dividida en varios departamentos de los que se conoce un nombre que los identifica. De los funcionarios de esa empresa se conoce número de funcionario, nombre y dirección. Si el funcionario es un chofer se conoce el número de libreta y la cantidad de accidentes que tuvo. Si es administrativo se conoce los idiomas que habla. Si es técnico se conoce las especialidades en que puede trabajar. 19
Categorizaciones (ejemplo cont.) La empresa tiene un conjunto de coches de los que se conoce la matrícula y la marca. Estos coches son conducidos por los choferes y a cualquier chofer se le puede asignar cualquier coche. La empresa lleva adelante un conjunto de proyectos en los que trabajan los administrativos y que están controlados por departamentos. Estos proyectos están identificados por un número de proyecto. 20
Categorizaciones (ejemplo cont.) Solución 1: Departamento 1 Trabaja 1 1 Funcionario umfunc Proyecto Cant-Acc Idiomas Adm. umfunc umfunc Técnico Esp Chofer Conduce Libreta umfunc Matr. 1 Coche 21
Categorizaciones (ejemplo cont.) Solución 2: Funcionario umfunc Libreta Cant-Acc Departamento Trabaja Adm. Técnico Chofer Idioma* Esp.* Proyecto Conduce Matrícula. Coche 22
Entidades Débiles Permiten expresar la dependencia de un conjunto de entidades con respecto a otro. Por eso: ecesitan a la entidad fuerte para poder identificarse. o pueden existir en caso que no exista la correspondiente entidad fuerte. Siempre es :1 y total del lado débil Salas 1 Pertenece Hospital 23
Entidades Débiles (ejemplo) La entidad Dependiente, relacionada con Empleado, sirve para llevar el control de los dependientes de cada empleado a través de una relación 1:. Los atributos de Dependiente son: nombre, fechaac, sexo y parentesco. o puede existir un dependiente que no corresponda a algún empleado. Dos dependientes de empleados distintos pueden tener el mismo conjunto de valores de atributos pero seguirán siendo entidades distintas. Se podrán identificar como entidades distintas sólo después de determinar la entidad empleado con la cual están relacionadas. 24
Entidades Débiles (ejemplo cont.) Qué diferencias tiene esta otra representación? Empleado ro.emp ombre Dependientes* ombre Fechaac Sexo Parentesco Dependientes aquí no puede participar en ninguna otra relación que no sea la de dependencia con empleado. 25
Entidades Débiles (otro ejemplo) Para una cuenta determinada puede haber varios movimientos. Cada entidad transacción debe estar asociada con una cuenta. Cuenta 1 um Saldo Bitácora Transacción Código Fecha Cantidad Si se suprime una cuenta deben suprimirse también todas sus transacciones, pero las transacciones pueden suprimirse sin afectar a ninguna cuenta. Aunque cada entidad transacción es distinta, las transacciones en cuentas diferentes pueden compartir el mismo código de transacción. 26
Limitación del MER: Agregaciones o es posible expresar relaciones entre relaciones. Ejemplo: Empleados trabajan en un proyecto determinado y usan varias máquinas en su trabajo. Empleado Trabaja Proyecto um ombre Usa umero Maquinaria Cod 27
Agregación Abstracción que trata a las relaciones como una entidad. Trabajo Empleado Trabaja Proyecto um ombre umero Usa Maquinaria Cod 28
Agregaciones Operador de casting. Cambia el tipo a la relación para poder relacionar entidades con ella. Empleado Trabaja Proyecto um ombre umero Debe tener una única relación y las entidades que están en la relación. Usa Maquinaria Cod 29
Opciones de Diseño Entidades o relaciones? Relación ternaria o par de relaciones binarias? Uso de entidades fuertes o débiles? Usar generalización? Usar agregación? 30
Entidades o Relaciones? Opción 1: Sucursal Cuenta Cliente umero saldo umero Opción 2: Sucursal Cuenta saldo Cliente C-S-C 31