Escolar Documentos
Profissional Documentos
Cultura Documentos
MiniMundo
(Visin Personal)
(Consultas, Actualizaciones...)
Diseo FSICO
Esq. INTERNO
(ficheros, paths...)
ESPECIFICACIN TRANSACCIONES
Diseo de Aplicaciones
Implementar Transacciones
PROGRAMAS
3
Modelo ER
Modelo ER
A1
Conceptos: Relaciones
Modelo ER
Nro. Horas
Nro. Horas
Empleado
Sin embargo, cuando un atributo sirve para relacionar dos entidades, en el modelo ER es preferible no representarlo como atributo, sino como RELACIN. RELACIN: Relaciona varias entidades (E1, E2... En). Es un subconjunto del producto cartesiano (E1 E2 ... En).
Ej. de Relacin Binaria:
EMPLEADO N TRABAJA_PARA 1 DEPARTAMENTO
Fecha_Inicio
6
Tipos de RELACIONES
Modelo ER
GRADO: Nmero de ENTIDADES de la RELACIN. Pueden ser Binarias, Ternarias... Ej.: Relacin Ternaria:
PIEZA SUMINISTRAR SUMINISTRADOR
PROYECTO
RECURSIVA: Relacin sobre la misma entidad, pero con distinto rol. Ejemplo:
RESTRICCIONES en RELACIONES
Modelo ER
PARCIAL: Si NO todas las entidades tienen que relacionarse. Ej: No todo Empleado DIRIGE un Dpto.:
EMPLEADO 1 DIRIGE 1 DEPARTAMENTO
ATRIBUTOS en RELACIONES
Modelo ER
En Relaciones 1:1 y 1:N, los Atributos de las Relaciones pueden ponerse tambin en una entidad. Ejemplo:
EMPLEADO
TRABAJA_PARA
DEPTO.
EMPLEADO
TRABAJA_PARA
DEPTO.
Fecha_Inicio
Fecha_Inicio
En Relaciones N:M los Atributos dependen de las Entidades que participan en la relacin y, por tanto, son forzosamente atributos de la relacin y NO pueden ponerse en ninguna de las entidades participantes. Ejemplo:
EMPLEADO
TRABAJA_EN
PROYECTO
Nm_horas
Modelo ER
Son ENTIDADES SIN LLAVE: Dependen de otras entidades que las poseen (ENTIDAD PROPIETARIA) y las identifican inequvocamente. LLAVE PARCIAL: Identifica inequvocamente a los elementos de una Entidad Dbil, entre otros elementos de la misma Entidad Propietaria. Dentro de una ENTIDAD DBIL pueden existir elementos repetidos, pero no podrn relacionarse con el mismo elemento de la Entidad Propietaria. As, la LLAVE de una ENTIDAD DBIL estar formada por su propia LLAVE PARCIAL y la LLAVE de la ENTIDAD PROPIETARIA. Se representan con lneas dobles en la ENTIDAD DBIL y en la RELACIN de su Entidad Propietaria: Llave Parcial
E.Propietaria Relacin Identificativa ENTIDAD DBIL Nombre Tiene como Hijo a ... HIJO Fecha_Nac
10
OPCIONES de DISEO
Modelo ER
A veces es difcil decidir si un concepto del MiniMundo debe ser una Entidad, una Relacin o un Atributo. El Esquema debe ser refinado en sucesivos pasos, como los siguientes (posteriormente se vern ms cuestiones a tener en cuenta):
Un concepto puede ponerse como ATRIBUTO y luego descubrirse que es una RELACIN, porque es una referencia a otra ENTIDAD: PROFESOR N 1 PROFESOR DEPTO. TRABAJA_EN
Depto.
Un ATRIBUTO de varias ENTIDADES, puede convertirse en ALUMNO una ENTIDAD: PROFESOR PROFESOR ALUMNO DEPTO.
Depto. Depto.
Una ENTIDAD con pocos atributos y relacionada SLO con otra ENTIDAD, puede convertirse en un ATRIBUTO. Ej: Inverso
del Ej. anterior: Si Dpto. slo interesa de PROFESOR y no tiene muchos atributos. 11
NOTACIONES ALTERNATIVAS
Modelo ER
UML (Universal Modeling Language): Modelado Conceptual de Objetos. Cada PARTICIPACIN de una Entidad E en una Relacin R tiene dos valores: (min,max), con 0 min max 1
min: Nmero mnimo de instancias de E que participan en R.
min = 0 min > 0 max = 1 max = N Participacin Parcial. Participacin Total. Es una Relacin 1:1 o 1:N. Es una Relacin 1:N o N:M.
(0,N)
CONTROLA
(1,1)
PROYECTO
12
RESUMEN de SMBOLOS
Entidad Relacin Entidad Dbil
(de una Entidad Dbil)
Ent. Dbil Rel. a Ent. Dbil Relacin Nombre Ent.
Modelo ER
Participacin:
Parcial de E1 en R Total de E2 en R
E1 R E2
Relacin identificativa Atributo Atributo Multivaluado Atributo Compuesto Atributo Derivado Atributo Llave Atributo Llave Parcial
A
Llave
Llave Parcial
(min,max)
13
Ejemplo:
Del libro de Elmasri/Navathe, en ingls, usando la notacin (min,max) e incluyendo los roles.
Modelo ER
14
Modelo EER
SUBCLASE: Grupo de elementos con algo en comn, que pertenecen a una ENTIDAD. Ejemplo: Pertenecientes a EMPLEADO,
tenemos las subclases INGENIERO, SECRETARIO, SUPERVISOR...
SUPERCLASE: Entidad de la que procede una SUBCLASE. RELACIN Clase/Subclase (o Superclase/Subclase): Es una relacin 1:1 en la que ambos elementos son el mismo. Se suele representar por ES_UN. Ejemplo: Ingeniero ES_UN Empleado. CARACTERSTICAS:
Una Entidad no puede ser slo miembro de una SUBCLASE. Debe ser tambin miembro de la SUPERCLASE. Una Entidad puede ser miembro de varias SUBCLASES. Ejemplo: Un Empleado puede ser Ingeniero y Supervisor. Una Entidad se define por sus atributos y sus relaciones, los cuales son HEREDADOS por sus SUBCLASES. Atributos y Relaciones LOCALES o ESPECFICAS: Son aquellas que son propias de una SUBCLASE (no de la SUPERCLASE a la que pertenece).15
ESPECIALIZACIN/GENERALIZACIN
Modelo EER
Especializacin. Identificar las caractersticas comunes a varios tipos de Entidad y generalizar CENTRAL_LIMPIA todas ellas en una SUPERCLASE, con los tipos de TipoCentral d Entidad originales como SUBCLASES. Ejemplo:
Nombre Director Direccin Nombre Director Direccin
Nombre
Director
Direccin
Solar
Elica
CENTRAL_SOLAR Temper_Media
CENTRAL_SOLAR
CENTRAL_EOLICA
DiasDeSol_Anno
Viento_Medio Num_Molinos
Viento_Medio
DiasDeSol_Anno
16
Modelo EER
En general, una especializacin tiene VARIAS subclases y se representan con la notacin del crculo de especializacin: Como d Pueden tambin existir especializaciones con una NICA subclase a la que pueden pertenecer o no, las instancias (o elementos) de la superclase. Ah, NO se usa el crculo. Subclases DEFINIDAS por PREDICADO (predicate-defined) o por CONDICIN (condition-defined): Para determinar si una instancia (o entidad) pertenece a una determinada subclase puede usarse una condicin (o predicado) sobre uno o varios atributos de la superclase.
Ejemplo: La entidad CENTRAL_LIMPIA puede tener el atributo TipoCentral con dos valores vlidos: {Solar, Elica}.
Modelo EER
ESPECIALIZACIN DEFINIDA por ATRIBUTO (attribute-defined specialization): Si TODAS las subclases de una especializacin tienen la condicin de pertenencia, sobre el mismo atributo discriminador (como TipoCentral). ESPECIALIZACIN DEFINIDA por el USUARIO (user-defined specialization): Si no existe condicin para determinar la pertenencia a una subclase y la clasificacin se har individualmente cuando se inserta la entidad. RESTRICCIN de DISJUNCIN (disjointness constraint): Espec. DISJUNTA: Si una entidad puede ser miembro de una nica subclase en la especializacin Conjs. disjuntos.
Especificacin Definida por Atributo (univaluado) Se representa con: d Espec. Disjunta.
PROFESOR
Esp. SOLAPADA (o coincidente): Si NO son DISJUNTOS, las subclases pueden solaparse o coincidir (overlap) parcial o totalmente: Si una entidad Puede pertenecer a varias subclases. INVESTIGADOR Se representa con: o
DOCTOR
18
Modelo EER
Espec. PARCIAL: Una entidad puede no pertenecer a ninguna de sus subclases. Se representa con una lnea simple. Ejemplo: Un Profesor puede ser Investigador, Doctor, ambas cosas o ninguna.
RESUMEN de TIPOS de RESTRICCIONES: Las restricciones de disjuncin y de completitud son independientes, por lo que existen 4 tipos de posibles restricciones sobre Especializacin:
Disjunta, total (disjoint, total). Disjunta, parcial (disjoint, partial). Solapada, total (overlapping, total). Solapada, parcial (overlapping, partial).
19
Modelo EER
Insertar E en una S
Insertar E en S de Esp. Disjunta-Total Insertar E en una nica subclase. Insertar E en S de Esp. Disjunta-Parcial Insertar E en una o ninguna subclase. Insertar E en S de Esp. Solapada-Total Insertar E en una o ms subclases. Insertar E en S de Esp. Solapada-Parcial Insertar E en cero, una o ms subclases.
20
JERARQUAS y RETCULOS
Modelo EER
Una subclase puede tener, a su vez, otras subclases formando as una Jerarqua (hierarchy) o un Retculo (lattice). Espec./Generalizacin JERRQUICA: Tiene la restriccin de que todas las subclases pertenecen slo a una superclase. Espec./Generalizacin en RETCULO (malla o red): Una subclase puede serlo de varias superclases. PERSONA En ese caso, la subclase HEREDA los o atributos de TODAS sus superclases (por todos los caminos). NODO HOJA (leaf): Entidad sin subclases. EMPLEADO GRADUADO ESTUDIANTE
Graduado y/o Estudiante. Un Empleado puede d ser Profesor o Becario, y un Becario es forzosamente tambin un Estudiante. PROFESOR BECARIO
21
JERARQUAS y RETCULOS
Modelo EER
SUBCLASE COMPARTIDA (shared subclass): Subclase con ms de una superclase. Si existe al menos una subclase compartida, tenemos un RETCULO y si no existe ninguna tenemos una JERARQUA. HERENCIA MLTIPLE (multiple inheritance): Las subclases compartidas heredan atributos y relaciones de varias clases. Si una subclase compartida hereda caractersticas de una superclase por varias vas distintas (en un retculo), dichas caractersticas se considerarn slo una vez.
A veces, no se permite herencia mltiple (ni clases compartidas): Crear subclases para cubrir todas las combinaciones posibles de las subclases de una Esp. Solapada. Ej.: Subclase Becario (o Empleado_Alumno) de la superclase Persona.
Modelo EER
La categora Propietario de un vehculo incluir elementos de esos 3 tipos. N M VEHCULO La categora Propietario es una PROPIETARIO POSEE REGISTRADO subclase de la UNIN de los 3 tipos. Tambin hemos creado la categora VehculoRegistrado a la que no tienen porqu VEHCULO pertenecer todos los vehculos (puede haber vehculos no registrados). Eso no ocurrira d si se modela siendo {Coche,Camin} una especializacin disjunta de Vehculo. Si esa especializacin disjunta es PARCIAL indicara que un Vehculo puede ser de una COCHE CAMIN subclase distinta a {Coche,Camin}. Sin embargo, como Categora eso no es posible.
Una CATEGORA siempre tiene dos o ms superclases (que son distintos tipos de entidad). Una Relacin superclase/subclase slo tiene una nica superclase. Una CATEGORA es similar a una subclase compartida pero:
Una subclase compartida debe pertenecer a TODAS sus superclases y hereda los atributos de TODAS ellas: Es un subconjunto de la INTERSECCIN de las superclases. Una CATEGORA es un subconjunto de la UNIN disjunta de varias superclases: Los miermbros de una Categora deben pertenecer A UNA de las superclases (no a todas) y heredan slo los atributos de la superclase a la que pertenezcan.
23
Modelo EER
SOLAR PROPIEDAD
TOTAL: Si todas las superclases de la Categora deben ser miembros de la Categora. d Una Categora TOTAL tambin puede modelarse como Generalizacin Disjunta, lo cual es preferible si las entidades tienen muchos PROPIEDAD EDIFICIO SOLAR atributos/relaciones comunes. Ej.: Un Edificio o Solar siempre debe ser una Propiedad. PARCIAL: Si no todas las superclases deben ser miembros de la Categora. Ej.: No toda Persona tiene que ser Propietaria (de un Vehculo Registrado).
EDIFICIO
As pues, en una categorizacin, la subclase o Categora, debe pertenecer siempre a UNA y SOLO UNA de las superclases, pero las superclases no tienen que pertenecer a la Categora. Si las superclases deben pertenecer a la categora entonces tenemos una Categora TOTAL y se puede representar tambin como una Generalizacin disjunta. Recordemos que en toda Generalizacin todos los miembros de las subclases deben ser tambin miembros de la superclase. Al revs slo se cumple si es TOTAL (y no se cumple si es PARCIAL).
24
RESUMEN de CARACTERSTICAS
Modelo EER
Clase: Conjunto de Entidades. Subclase: Clase cuyas entidades miembros deben siempre ser un subconjunto de otra clase, la Superclase: subclase ES_UN/A superclase.
Definida por predicado, si existe una condicin para determinar los miembros de la superclase que pertenecen a la subclase. Si la condicin usa un nico atributo con el comparador de igualdad se llama definida por atributo (que normalmente ser disjunta porque las condiciones sern distintas para cada subclase). Ser definida por usuario, si no ocurre lo anterior.
Categora: Clase, subconjunto de la UNIN de n (con n>1) superclases disjuntas Cada miembro de una categora debe pertenecer a slo una de las superclases.
25
Modelo EER
En general, una relacin ternaria representa ms informacin que 3 binarias. Ejemplo: El suministrador S provee la pieza P y adems suministra al proyecto J. Si adems, la pieza P es usada por el proyecto J, eso no significa que la pieza P que usa J sea suministrada por S. Solucin general: Incluir la relacin ternaria y alguna o algunas de las binarias, segn las necesidades. Esto implica algunas restricciones: La existencia de una tupla en la relacin ternaria implica tuplas en las binarias, pero no a la inversa.
26
Modelo EER
Si no se permiten relaciones ternarias, la relacin ternaria puede ponerse como entidad dbil sin llave parcial y con tres relaciones que la identifiquen:
SS 1 SUMINISTRADOR SP 1 PIEZA N SUMINISTRA N N SPJ 1 PROYECTO
Tambin es posible tener una entidad dbil con una relacin ternaria que la identifique. En este caso la entidad dbil tiene varias entidades propietarias. Ejemplo: CANDIDATO EMPRESA CEE
Fecha
ENTREVISTA
ES_PARA
OFERTA_EMPLEO
27
Modelo EER
Con {1,M ,N}: Se pone 1, M o N en cada arco segn la participacin de la entidad a la que corresponda. Ejemplo: Si para cada par de valores (proyecto,pieza) slo puede haber un suministrador, se pone un 1 en el arco de la entidad Suministrador y los otros dos arcos M y N. Esto hace que (proyecto,pieza) sea llave de la relacin. Las participaciones que tienen un 1 no sern parte de la llave de la relacin. (min,max) Cardinalidad: Significa que una entidad est relacionada con al menos min y como mucho max instancias en la relacin. Aunque en relaciones binarias las restricciones (min,max) pueden determinar la llave de la relacin, en relaciones con grado>2 ello no es posible. Sin embargo, especifica un tipo de restriccin distinta sobre como muchas instancias de la relacin pueden participar en la misma.
28