Modelo Entidad Relación Extendido.

35,838 views
35,244 views

Published on

Explicación de la Técnica MER para la construcción de Bases de Datos.

Published in: Education
6 Comments
47 Likes
Statistics
Notes
No Downloads
Views
Total views
35,838
On SlideShare
0
From Embeds
0
Number of Embeds
348
Actions
Shares
0
Downloads
0
Comments
6
Likes
47
Embeds 0
No embeds

No notes for slide
  • Otro ejemplo sería el de un ARTÍCULO que pudiera publicarse en un PERIÓDICO o en una REVISTA, pero nunca en ambos. Un ejemplo más sería el de los domicilios de los estudiantes universitarios durante el curso académico. Un ESTUDIANTE se puede alojar en un DOMICILIO_FAMILIAR, una RESIDENCIA_ESTUDIANTES o en un PISO_COMPARTIDO. Las tres relaciones que unen a ESTUDIANTE con las tres entidades serían exclusivas entre sí.
  • Modelo Entidad Relación Extendido.

    1. 1. Modelo Entidad/Relación Extendido (Técnica de Desarrollo)
    2. 2. Modelo Entidad/Relación Extendido (Técnica de Desarrollo)El Modelo Entidad-Relación Extendido incluye todos los conceptos delEntidad-Relación eincorpora los conceptos de Subclase y superclase con los conceptosasociados de Especializacióny Generalización. Otro nuevo concepto incluido por el ERE es el deCategoría. Asociado a estosconceptos está el importante mecanismo de Herencia de atributos. Habráque tener en cuenta queno existe una terminología estandarizada para estos conceptos, por lo queusaremos la masdifundida.
    3. 3. Modelo Entidad/Relación Extendido (Técnica de Desarrollo)Incorpora nuevos conceptos •Subclase •Superclase •Herencia •Especialización •Generalización •Categoría
    4. 4. Ejemplo de Subclase y Superclase • Secretaria • Ingeniero • Jefe Subclases • Técnico de Empleado Empleado • Asalariado • Subcontratado • ….Superclase • …..
    5. 5. Ejemplo de Subclase y Superclase • Camión • Turismo • Autobús Subclases de • Motocicleta Vehículo Vehículo • Bicicleta • …. • …..Superclase
    6. 6. Subclases, Superclases y Especialización.En el modelo Entidad-Relación, una entidad agrupa un conjunto de ocurrencias de entidad delmismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otrossubconjuntos que tienen un significado propio para los propósitos de la Base de Datos y, portanto, deberían representarse de forma explícita.Supertipo/Subtipo Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamente debido a su importancia para el diseño o aplicación  Subtipos del tipo de entidad VEHÍCULO:  CAMIÓN  TURISMO  AUTOBÚS  CICLOMOTOR  Subtipos del tipo de entidad EMPLEADO:  SECRETARIO  GERENTE  COMERCIAL El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )
    7. 7. La relación que se establece entre una Superclase y una Subclase, lallamaremos Relación clase/subclase. Empleado / Secretaria Empleado / Ingeniero Vehículo / Camión Vehículo / Motocicleta
    8. 8. Subclase y Superclase – Notación en el Diagrama Empleado Secretaria Ingeniero Técnico
    9. 9. Relación Supertipo/Subtipo O Subclases, Superclases Es la relación que se establece entre un supertipo y cada uno de sus subtipos (noción [EN2002] es_un o es_un_tipo_de) Notación: EMPLEADO EMPLEADO SECRETARIO GERENTE COMERCIAL SECRETARIO GERENTE COMERCIAL EMPLEADO [SKS1998] [MPM1999] ES SECRETARIO GERENTE COMERCIAL
    10. 10. Relación Supertipo/Subtipo O Subclases, Superclases La extensión de un subtipo es un subconjunto de la extensión del supertipo  Una instancia de subtipo también es instancia del supertipo y es la misma instancia, pero con un papel específico distinto  Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipo  Una instancia del supertipo puede no ser miembro de ningún subtipo VEHÍCULO EMPLEADO_HOSPITAL CAMIÓN TURISMO CICLOMOTOR MÉDICO CELADOR ENFERMERO LIMPIADOR
    11. 11. Relación Supertipo/Subtipo O Subclases, Superclases
    12. 12. Herencia Supertipo/Subtipo O Subclases, Superclases• Un subtipo puede tener atributos propios (específicos) y participar en relaciones por separado• Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el supertipo – Un subtipo, con sus atributos y relaciones específicos, más los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio nummatricula VEHÍCULO FABRICA FABRICANTE precio (1,n) (1,1) N:1[MPM1999] (1,1) ID (0,1) CAMIÓN TURISMO MOTOCICLETA SIDECAR LLEVA numEjes numPlazas tonelaje numPuer cilindrada 1:1
    13. 13. Ejemplo de Subclase y Superclase
    14. 14. Supertipo/Subtipo O Subclases, Superclases
    15. 15. Supertipo/Subtipo O Subclases, SuperclasesLas Subclases están unidas mediantelíneas a un circulo, que conecta con lasuperclase. El símbolo de pertenenciaen las líneas entre las subclases y elcirculo representan la dirección de larelación clase/subclase.
    16. 16. Subclase y Superclase – Otra Notación Empleado Hospital ∈ ∈ ∈Médico Enfermera Auxiliar
    17. 17. ¿Cuándo utilizar Subclases?1. Cuando hay atributos que sólo tienen sentido para algunas instancias de un tipo y no para todas.2. Cuando hay tipos de relación en los que sólo participan algunas entidades de un tipo y no todas.
    18. 18. Relaciones entre entidades.Una relación uno a varios.La relación uno a varios es el tipo de relación más común. En este tipo de relación,un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B,pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A.
    19. 19. Relaciones entre entidades.Una relación varios a varios.En una relación varios a varios, un registro de la Tabla A puede tener muchos registroscoincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define unatercera tabla (denominada tabla de unión) cuya clave principal (clave principal: uno o más campos(columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una claveprincipal no puede permitir valores Nulo y debe tener siempre un índice exclusivo.
    20. 20. Relaciones Exclusivas Dos (o más) tipos de relación son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad sólo puede participar en uno de los tipos de relación VEHÍCULO “Una relación recursiva se da cuando el mismo tipo de entidades participa más de una vez con CONSUME GASTA diferentes papeles. “ GASOLINA GASOLINA  CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO
    21. 21. Relaciones Exclusivas Otro ejemplo sería el de un ARTÍCULO que pudiera publicarse en un PERIÓDICO o en una REVISTA, pero nunca en ambos.
    22. 22. Herencia de atributos en la relación Clase/subclase.Debido a que una subclase es a su vez parte se una superclase, la subclase tendrásus atributos específicos así como los atributos correspondientes a la superclase ala que pertenece. Esto quiere decir que la ocurrencia de entidad de una subclasehereda los atributos correspondientes a la superclase a la que pertenece. De lamisma manera hereda las relaciones en las que su correspondiente superclaseparticipa.• Una Subclase puede tener atributos propios y participar en relaciones por separado.• Los atributos aplicables solamente a cada una de las Subclases, se denominan atributos específicos de la subclase.
    23. 23. Herencia nummotor precio N:1 Vehículo Fabrica Fabricante numejes cilindrajetonelaje Camión Auto Motocicleta numpuertas 1:1 Lleva numpuestos Remolque
    24. 24. EspecializaciónEs el proceso según el cual se crean varios tipos de entidades a partir deuno. Cada una de los conjuntos de entidades resultantes contendrá sóloalgunos de los atributos del conjunto original. Un ejemplo es el caso del tipoempleado, del que se pueden obtener los subtipos secretaria, técnico eingeniero. Descomponemos una entidad en varias más especializadas.
    25. 25. Ejemplo de Especialización SuperclaseDiscriminante o criterio Empleado Subclases actividad Secretaria Ingeniero Técnico
    26. 26. Ejemplo de Especialización Empleado actividad contratoSecretaria Ingeniero Técnico Temporal Permanente
    27. 27. Ejemplo de Especialización Vehículotipo Motor s/nCamión Auto Motocicleta Con motor Sin motor
    28. 28. Especialización
    29. 29. Especialización
    30. 30. Especialización EMPLEADO PELÍCULA género coloractividad DRAMA TERROR COMEDIA BLANCO_Y_NEGRO COLOR SECRETARIO GERENTE COMERCIAL VEHÍCULO motorS/N tipo VEHÍCULO_A_MOTOR VEHÍCULO_SIN_MOTOR CAMIÓN TURISMO MOTOCICLETA
    31. 31. La generalizaciónPermite abstraer un tipo de entidad de nivel superior (supertipo) a partirde varios tipos de entidad (subtipos); en estos casos los atributoscomunes y relaciones de los subtipos se asignan al supertipo. Se puedengeneralizar por ejemplo los tipos profesor y estudiante obteniendo elsupertipo persona.
    32. 32. La generalización
    33. 33. La agregaciónConsiste en construir un nuevo tipo de entidad como composición de otros y sutipo de relación y así poder manejarlo en un nivel de abstracción mayor Laagregación ayuda a construir entidades de niveles superiores. La agregación surge de la limitación que existe en el modelado de E-R, al nopermitir expresar las relaciones entre relaciones de un modelo E-R en el caso deque una relación X se quiera unir con una entidad cualquiera para formar otrarelación.Para ejemplificar lo anterior consideremos el ejemplo En donde el problemaconsiste en que existen trabajando muchos empleados que trabajan en diferentesproyectos, pero dependiendo del trabajo que realiza pueden llegar a utilizar unequipo o maquinaria; en este problema intervienen 3 entidades: Empleado,Proyecto y Maquinaria, el diagrama E-R correspondiente es:
    34. 34. La agregación Como el modelo E-R no permite la unión entre dos o más relaciones, la relación trabajo es englobada como si fuera una entidad más de la relación usa, gráficamente queda como:
    35. 35. La agregación Ahora podemos decir que la entidad trabajo se relaciona con la entidad maquinaria a través de la relación usar. Para indicarnos que un trabajo usa un determinado equipo o maquinaria según el tipo de trabajo que se trate.
    36. 36. La agregación
    37. 37. La agregación
    38. 38. La agregación a Modelo Relacional
    39. 39. La agregación Esquema en el MERE que almacena información sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas nombre nif (1,n) (1,m) EMPRESA ENTREVISTA_A SOLICITANTE M N nombre dirección fecha telefContacto telef nomContacto Algunas entrevistas dan lugar a ofertas de empleos y otras no ¿cómo modelamos esto?
    40. 40. La agregación EMPRESA ENTREVISTA_A SOLICITANTE ENTREVISTA Entidad RESULTA_ENCOMPUESTA o AGREGADA OFERTA_EMPLEO
    41. 41. La agregación• Esquema en el MERE que almacena información acerca de profesores y las asignaturas que éstos imparten, así como los diversos medios que utilizan para impartir cada asignatura (pizarra, transparencias, etc.) M N PROFESOR EXPLICA ASIGNATURA EXPLICACIÓN M Entidad COMPUESTA o AGREGADA UTILIZA N MEDIO
    42. 42. La agregación
    43. 43. La agregación
    44. 44. CLAVES EXTERNASLas interrelaciones de uno a muchos se implementan mediante el uso de claves ajenas, tambiénllamadas externas o foráneas (foreign keys). Una clave ajena es un atributo de una relación R2,cuyos valores han de concordar con los de alguna clave primaria en otra relación R1. R2 CLAVE EXTERNA R1 CLAVE PRIMARIA
    45. 45. CLAVES EXTERNASEmpleado Empleado 1ID_Empleado ID_EmpleadoNombre NombrePuesto PuestoSueldo Sueldo MID_Jefe ID_Jefe Ejemplo 1
    46. 46. CLAVES EXTERNAS Alumno Alumno 1 NoExpedienteNoExpediente NombreNombre CarreraCarrera CuatrimestreCuatrimestre M NoExp_JefeGpoNoExp_JefeGpo Ejemplo 2
    47. 47. Pasara de Modelo Entidad Relación a Modelo RelacionalPara transformar un modelo entidad-relación a modelo relacional seguiremos las siguientes reglas: 1. Toda entidad del modelo entidad-relación se transforma en una tabla. 2. Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias. 3. Las relaciones N:M se transforman en una nueva tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que relaciona. 4. En las relaciones 1:N se pueden tener dos casos:  Si la entidad que participa con cardinalidad máxima uno lo hace también con cardinalidad mínima uno, entonces se propaga el atributo de la entidad que tiene cardinalidad máxima 1 a la que tiene cardinalidad máxima N, desapareciendo el nombre de la relación. Si existen atributos en la relación éstos también se propagarán.  Si la entidad que participa con cardinalidad máxima uno lo hace también cardinalidad mínima cero, entonces se crea una nueva tabla formada por las claves de cada entidad y los atributos de la relación. La clave primaria de la nueva tabla será el identificador de la entidad que participa con cardinalidad máxima N.
    48. 48. Pasara de Modelo Entidad Relación a Modelo Relacional5. En el caso de las relaciones 1:1 también pueden darse dos casos:  Si las entidades poseen cardinalidades (0,1), la relación se convierte en una tabla.  Si una de las entidades posee cardinalidad (0,1) y la otra (1,1), conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad con cardinalidad (0,1). Si ambas entidades poseen cardinalidades (1,1) se puede propagar la clave de cualquiera de ellas a la tabla resultante de la otra.5. En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M.6. En el caso de las relaciones reflexivas supondremos que se trata de una relación binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores.
    49. 49. Pasara de Modelo Entidad Relación a Modelo Relacional EJEMPLO REGLA 3: Las relaciones N:M se transforman en una nueva tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que relaciona.En este caso la relación “compra” se transforma en una nueva tabla cuya clave primaria estaráformada por los atributos dni, que es la clave primaria de cliente, y código, que es la claveprimaria de producto. Además tendrá como campo fecha compra, ya que este atributo forma partede la relación.
    50. 50. Pasara de Modelo Entidad Relación a Modelo RelacionalEl modelo relacional quedaría de la siguiente forma:CLIENTE(dni,nombre,apellidos)PRODUCTO(código,descripción)COMPRA(dni_cliente,código_producto,fecha_compra)
    51. 51. Pasara de Modelo Entidad Relación a Modelo RelacionalEJEMPLO REGLA 4: En las relaciones 1:N se pueden tener dos casos: Veamos ahora el caso de una relación 1:N. En el siguiente modelo entidad-relación un empleado pertenece a un único departamento (debe pertenecer a uno obligatoriamente), y un departamento tiene 1 o más empleados.
    52. 52. Pasara de Modelo Entidad Relación a Modelo RelacionalEn este caso se propaga el atributo código de departamento a la tabla EMPLEADO.El modelo relacional quedaría de la siguiente manera: EMPLEADO(rfc, nombre, salario, código_departamento) DEPARTAMENTO(código, nombre, ubicacion)
    53. 53. Pasara de Modelo EntidadRelación a Modelo Relacional
    54. 54. Pasara de Modelo EntidadRelación a Modelo Relacional
    55. 55. Pasara de Modelo Entidad Relación a Modelo RelacionalRelaciones reflexivas
    56. 56. Pasara de Modelo Entidad Relación a Modelo RelacionalEjemplo de los Profesores y los centros especializados en públicos yprivados:• Hay profesores que imparten clases en 2 tipos de centros educativos:públicos y privados.• Un profesor puede impartir clase en varios centros, ya sean públicos oprivados.• La asignatura será un atributo de la relación entre el profesor y elcentro donde imparte.• Los centros educativos sólo pueden ser públicos o privados.• Un centro público no puede ser privado a la vez, ni a la inversa.• Los atributos específicos para los centros públicos son: el presupuestoy los servicios; y para los privados son:la organización y la cuota.
    57. 57. Pasara de Modelo Entidad Relación a Modelo RelacionalPROFESORES(IdProfesor,Nombre,Dirección,Teléfono,Especialidad).CENTROS(IdCentro,Nombre,Dirección,NúmeroAlumnos,TipoCentro).PÚBLICOS(IdCentro,Servicios,Presupuesto).PRIVADOS(IdCentro,Organización,Cuota).IMPARTICIONES(CodImparticiones,IdProfesor,IdCentro,Asignatura).
    58. 58. Pasara de Modelo Entidad Relación a Modelo RelacionalRelaciones N-arias (ternarias, cuaternarias,etc.)Vendedores de coches (empleados, clientes y coches):• En una tienda de coches, un empleado vende coches a sus clientes.• En cada venta, un único empleado puede vender varios coches a varios clientes.• En una operación de venta hay que tener en cuenta la forma de pago y la fecha de venta.
    59. 59. Pasara de Modelo Entidad Relación a Modelo RelacionalEl resultado en el modelo relacional (siendo una relación ternaria del tipo 1:N:N) es:EMPLEADOS(CódEmpleado,Nombre,Puesto,Teléfono).COCHES(CódCoche,Descripción,Marca,Modelo,Matrícula).CLIENTES(CódCliente,Nombre,Teléfono).VENTAS(CódCoche,CódCliente,CódEmpleado,FormaPago,FechaVenta).

    ×