Mere

60
Modelo Entidad/Relación Extendido (Técnica de Desarrollo)

Transcript of Mere

  • Modelo Entidad/Relacin Extendido (Tcnica de Desarrollo)

  • El Modelo Entidad-Relacin Extendido incluye todos los conceptos del Entidad-Relacin eincorpora los conceptos de Subclase y superclase con los conceptos asociados de Especializaciny Generalizacin. Otro nuevo concepto incluido por el ERE es el de Categora. Asociado a estosconceptos est el importante mecanismo de Herencia de atributos. Habr que tener en cuenta queno existe una terminologa estandarizada para estos conceptos, por lo que usaremos la masdifundida.Modelo Entidad/Relacin Extendido (Tcnica de Desarrollo)

  • SubclaseSuperclaseHerenciaEspecializacinGeneralizacinCategoraIncorpora nuevos conceptosModelo Entidad/Relacin Extendido (Tcnica de Desarrollo)

  • Ejemplo de Subclase y SuperclaseEmpleado Secretaria Ingeniero Jefe Tcnico Asalariado Subcontratado . ..Subclases de EmpleadoSuperclase

  • Vehculo Camin Turismo Autobs Motocicleta Bicicleta . ..Subclases de VehculoSuperclaseEjemplo de Subclase y Superclase

  • Subclases, Superclases y Especializacin.En el modelo Entidad-Relacin, 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 propsitos de la Base de Datos y, por tanto, deberan representarse de forma explcita.Supertipo/SubtipoAgrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a su importancia para el diseo o aplicacinSubtipos del tipo de entidad VEHCULO:CAMINTURISMOAUTOBSCICLOMOTORSubtipos del tipo de entidad EMPLEADO:SECRETARIOGERENTECOMERCIAL

    El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )

  • La relacin que se establece entre una Superclase y una Subclase, la llamaremos Relacin clase/subclase.Empleado / SecretariaEmpleado / IngenieroVehculo / CaminVehculo / Motocicleta

  • Subclase y Superclase Notacin en el Diagrama

  • Es la relacin que se establece entre un supertipo y cada uno de sus subtipos (nocin es_un o es_un_tipo_de) Notacin:EMPLEADOEMPLEADO[EN2002][MPM1999]EMPLEADOES[SKS1998]Relacin Supertipo/Subtipo O Subclases, Superclases SECRETARIOGERENTECOMERCIALSECRETARIOCOMERCIALSECRETARIOGERENTECOMERCIALGERENTE

  • La extensin de un subtipo es un subconjunto de la extensin del supertipoUna instancia de subtipo tambin es instancia del supertipo y es la misma instancia, pero con un papel especfico distintoUna instancia no puede existir slo por ser miembro de un subtipo: tambin debe ser miembro del supertipoUna instancia del supertipo puede no ser miembro de ningn subtipoVEHCULOCICLOMOTORCAMINTURISMOEMPLEADO_HOSPITALENFERMEROMDICOCELADORLIMPIADORRelacin Supertipo/Subtipo O Subclases, Superclases

  • Relacin Supertipo/Subtipo O Subclases, Superclases

  • Herencia Supertipo/Subtipo O Subclases, Superclases Un subtipo puede tener atributos propios (especficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipoUn subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propioVEHCULOCAMINFABRICANTESIDECARFABRICA

    LLEVAnummatriculaprecionumEjestonelajenumPuernumPlazascilindradaID(1,1)(1,n)(1,1)(0,1)[MPM1999]TURISMON:11:1MOTOCICLETA

  • Ejemplo de Subclase y Superclase

  • Supertipo/Subtipo O Subclases, Superclases

  • Las Subclases estn unidas mediante lneas a un circulo, que conecta con la superclase. El smbolo de pertenencia en las lneas entre las subclases y el circulo representan la direccin de la relacin clase/subclase. Supertipo/Subtipo O Subclases, Superclases

  • Subclase y Superclase Otra Notacin

  • Cundo utilizar Subclases?Cuando hay atributos que slo tienen sentido para algunas instancias de un tipo y no para todas.

    Cuando hay tipos de relacin en los que slo participan algunas entidades de un tipo y no todas.

  • Una relacin uno a varios.La relacin uno a varios es el tipo de relacin ms comn. En este tipo de relacin, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B slo tiene un registro coincidente en la Tabla A.Relaciones entre entidades.

  • Una relacin varios a varios.En una relacin varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, y viceversa. Este tipo de relacin slo es posible si se define una tercera tabla (denominada tabla de unin) cuya clave principal(clave principal: uno o ms campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un ndice exclusivo.Relaciones entre entidades.

  • Dos (o ms) tipos de relacin son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad slo puede participar en uno de los tipos de relacinGASOLINAGASTACONSUMEGASOLINARelaciones ExclusivasCONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULOVEHCULOUna relacin recursiva se da cuando el mismo tipo de entidades participa ms de una vez con diferentes papeles.

  • Relaciones ExclusivasOtro ejemplo sera el de un ARTCULO que pudiera publicarse en un PERIDICO o en una REVISTA, pero nunca en ambos.

  • Debido a que una subclase es a su vez parte se una superclase, la subclase tendr sus atributos especficos as como los atributos correspondientes a la superclase a la que pertenece. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en las que su correspondiente superclase participa.Herencia de atributos en la relacin Clase/subclase.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 especficos de la subclase.

  • HerenciaN:11:1

  • EspecializacinEs el proceso segn el cual se crean varios tipos de entidades a partir de uno. Cada una de los conjuntos de entidades resultantes contendr slo algunos de los atributos del conjunto original. Un ejemplo es el caso del tipo empleado, del que se pueden obtener los subtipos secretaria, tcnico e ingeniero. Descomponemos una entidad en varias ms especializadas.

  • Ejemplo de Especializacin

  • Ejemplo de Especializacin

  • Ejemplo de Especializacin

  • Especializacin

  • Especializacin

  • EMPLEADOactividadSECRETARIOGERENTECOMERCIALVEHCULOtipomotorS/NVEHCULO_SIN_MOTORVEHCULO_A_MOTORMOTOCICLETACAMINTURISMOPELCULAcolorgneroCOLORBLANCO_Y_NEGROCOMEDIADRAMATERROREspecializacin

  • Permite abstraer un tipo de entidad de nivel superior (supertipo) a partir de varios tipos de entidad (subtipos); en estos casos los atributos comunes y relaciones de los subtipos se asignan al supertipo. Se pueden generalizar por ejemplo los tipos profesor y estudiante obteniendo el supertipo persona.

    La generalizacin

  • La generalizacin

  • Consiste en construir un nuevo tipo de entidad como composicin de otros y su tipo de relacin y as poder manejarlo en un nivel de abstraccin mayor La agregacin ayuda a construir entidades de niveles superiores.

    La agregacin surge de la limitacin que existe en el modelado de E-R, al no permitir expresar las relaciones entre relaciones de un modelo E-R en el caso de que una relacin X se quiera unir con una entidad cualquiera para formar otra relacin.

    Para ejemplificar lo anterior consideremos el ejemplo En donde el problema consiste en que existen trabajando muchos empleados que trabajan en diferentes proyectos, pero dependiendo del trabajo que realiza pueden llegar a utilizar un equipo o maquinaria; en este problema intervienen 3 entidades: Empleado, Proyecto y Maquinaria, el diagrama E-R correspondiente es:La agregacin

  • La agregacin Como el modelo E-R no permite la unin entre dos o ms relaciones, la relacin trabajo es englobada como si fuera una entidad ms de la relacin usa, grficamente queda como:

  • La agregacin Ahora podemos decir que la entidad trabajo se relaciona con la entidad maquinaria a travs de la relacin usar. Para indicarnos que un trabajo usa un determinado equipo o maquinaria segn el tipo de trabajo que se trate.

  • La agregacin

  • La agregacin

  • La agregacin a Modelo Relacional

  • Esquema en el MERE que almacena informacin sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresasnombreSOLICITANTEnomContactotelefContactofechanifnombreENTREVISTA_AEMPRESAdireccin(1,m)MN(1,n)telefAlgunas entrevistas dan lugar a ofertas de empleos y otras nocmo modelamos esto?La agregacin

  • EMPRESASOLICITANTEENTREVISTA_ALa agregacin

  • Esquema en el MERE que almacena informacin acerca de profesores y las asignaturas que stos imparten, as como los diversos medios que utilizan para impartir cada asignatura (pizarra, transparencias, etc.)NNMEXPLICACINMPROFESOREntidad COMPUESTA o AGREGADAEXPLICAMEDIOUTILIZAASIGNATURALa agregacin

  • La agregacin

  • La agregacin

  • CLAVES EXTERNASLas interrelaciones de uno a muchos se implementan mediante el uso de claves ajenas, tambin llamadas externas o forneas (foreign keys). Una clave ajena es un atributo de una relacin R2, cuyos valores han de concordar con los de alguna clave primaria en otra relacin R1. CLAVE PRIMARIACLAVE EXTERNAR2R1

  • EmpleadoID_EmpleadoNombrePuestoSueldoID_Jefe

    EmpleadoID_EmpleadoNombrePuestoSueldoID_Jefe

    1MEjemplo 1CLAVES EXTERNAS

  • AlumnoNoExpedienteNombreCarreraCuatrimestreNoExp_JefeGpo

    Alumno1MEjemplo 2NoExpedienteNombreCarreraCuatrimestreNoExp_JefeGpo

    CLAVES EXTERNAS

  • Pasara de Modelo Entidad Relacin a Modelo RelacionalPara transformar un modelo entidad-relacin a modelo relacional seguiremos las siguientes reglas:

    Toda entidad del modelo entidad-relacin se transforma en una tabla.Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias.Las relaciones N:M se transforman en una nueva tabla que tendr como clave primaria la concatenacin de los atributos clave de las entidades que relaciona.En las relaciones 1:N se pueden tener dos casos:Si la entidad que participa con cardinalidad mxima uno lo hace tambin con cardinalidad mnima uno, entonces se propaga el atributo de la entidad que tiene cardinalidad mxima 1 a la que tiene cardinalidad mxima N, desapareciendo el nombre de la relacin. Si existen atributos en la relacin stos tambin se propagarn.Si la entidad que participa con cardinalidad mxima uno lo hace tambin cardinalidad mnima cero, entonces se crea una nueva tabla formada por las claves de cada entidad y los atributos de la relacin. La clave primaria de la nueva tabla ser el identificador de la entidad que participa con cardinalidad mxima N.

  • En el caso de las relaciones 1:1 tambin pueden darse dos casos:Si las entidades poseen cardinalidades (0,1), la relacin 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.En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M.En el caso de las relaciones reflexivas supondremos que se trata de una relacin binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores.

    Pasara de Modelo Entidad Relacin a Modelo Relacional

  • EJEMPLO REGLA 3: Las relaciones N:M se transforman en una nueva tabla que tendr como clave primaria la concatenacin de los atributos clave de las entidades que relaciona.En este caso la relacin compra se transforma en una nueva tabla cuya clave primaria estar formada por los atributos dni, que es la clave primaria de cliente, y cdigo, que es la clave primaria de producto. Adems tendr como campo fecha compra, ya que este atributo forma parte de la relacin.

    Pasara de Modelo Entidad Relacin a Modelo Relacional

  • El modelo relacional quedara de la siguiente forma:

    CLIENTE(dni,nombre,apellidos) PRODUCTO(cdigo,descripcin) COMPRA(dni_cliente,cdigo_producto,fecha_compra)Pasara de Modelo Entidad Relacin a Modelo Relacional

  • EJEMPLO REGLA 4: En las relaciones 1:N se pueden tener dos casos:

    Veamos ahora el caso de una relacin 1:N. En el siguiente modelo entidad-relacin un empleado pertenece a un nico departamento (debe pertenecer a uno obligatoriamente), y un departamento tiene 1 o ms empleados. Pasara de Modelo Entidad Relacin a Modelo Relacional

  • En este caso se propaga el atributo cdigo de departamento a la tabla EMPLEADO. El modelo relacional quedara de la siguiente manera:

    EMPLEADO(rfc, nombre, salario, cdigo_departamento) DEPARTAMENTO(cdigo, nombre, ubicacion)

    Pasara de Modelo Entidad Relacin a Modelo Relacional

  • Pasara de Modelo Entidad Relacin a Modelo Relacional

  • Pasara de Modelo Entidad Relacin a Modelo Relacional

  • Pasara de Modelo Entidad Relacin a Modelo Relacional Relaciones reflexivas

  • Pasara de Modelo Entidad Relacin a Modelo RelacionalEjemplo de los Profesores y los centros especializados en pblicos y privados: Hay profesores que imparten clases en 2 tipos de centros educativos: pblicos y privados. Un profesor puede impartir clase en varios centros, ya sean pblicos o privados. La asignatura ser un atributo de la relacin entre el profesor y el centro donde imparte. Los centros educativos slo pueden ser pblicos o privados. Un centro pblico no puede ser privado a la vez, ni a la inversa. Los atributos especficos para los centros pblicos son: el presupuesto y los servicios; y para los privados son: la organizacin y la cuota.

  • Pasara de Modelo Entidad Relacin a Modelo RelacionalPROFESORES(IdProfesor,Nombre,Direccin,Telfono,Especialidad). CENTROS(IdCentro,Nombre,Direccin,NmeroAlumnos,TipoCentro). PBLICOS(IdCentro,Servicios,Presupuesto). PRIVADOS(IdCentro,Organizacin,Cuota). IMPARTICIONES(CodImparticiones,IdProfesor,IdCentro,Asignatura).

  • Relaciones 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 operacin de venta hay que tener en cuenta la forma de pago y la fecha de venta.Pasara de Modelo Entidad Relacin a Modelo Relacional

  • El resultado en el modelo relacional (siendo una relacin ternaria del tipo 1:N:N) es:

    EMPLEADOS(CdEmpleado,Nombre,Puesto,Telfono). COCHES(CdCoche,Descripcin,Marca,Modelo,Matrcula). CLIENTES(CdCliente,Nombre,Telfono). VENTAS(CdCoche,CdCliente,CdEmpleado,FormaPago,FechaVenta).Pasara de Modelo Entidad Relacin a Modelo Relacional

  • *Otro ejemplo sera el de un ARTCULO que pudiera publicarse en un PERIDICO o en una REVISTA, pero nunca en ambos.Un ejemplo ms sera el de los domicilios de los estudiantes universitarios durante el curso acadmico. 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 seran exclusivas entre s.