02 UPLA Modelo Entidad Relacion

24
Base de Datos 1 Ing. Henry George Maquera Quispe MODELO ENTIDAD RELACION 1. MODELO ENTIDAD RELACION Se basa en las entidades y en las relaciones que se establezcan entre estas entidades y pone énfasis en el tipo de las relaciones y la cardinalidad que hay entre los elementos. 1.1. Estática del Modelo E/R Entidad. Persona, lugar, cosa, concepto o suceso real o abstracto de interés en la empresa. Tiene existencia propia. Cada ocurrencia de entidad debe poder distinguirse de las demás. Ocurrencias de un tipo de entidad tienen los mismos tipos de atributos. Se tiene dos tipos de entidad: Figura 1.1. Entidades Regulares y Débiles - Entidad Regular: Existencia por si misma. - Entidad Débil. Existencia depende de otro tipo de entidad Relaciones. Correspondencia entre entidades, representan asociaciones del mundo real. Las interrelaciones se caracterizan por su nombre, el grado (numero de entidades que participan en la interrelación), el tipo de correspondencia (Numero máximo de ejemplares de una entidad asociados a una combinación de ejemplares de las otras entidades en la interrelación, que puede ser 1 o N). dentro de los elementos de una relación se tiene: - Nombre. Único que lo distingue uninovamente - Grado. Numero de entidades que participa en una relación - Conexión. Arco que une la entidades - Cardinalidad. Numero máximo de ocurrencias de cada tipo de entidad. Relaciones (1:1) uno a uno Relaciones (1:n) uno a muchos Relaciones (n:1) muchos a uno Relaciones (n:m) muchos a muchos - Participación. Total o Parcial según participen algunas o todas las ocurrencias de las entidades Alumno Lleva Curso Lleva (10:60) (es llevado por) (1:5) (60:5) Figura 1.2. La relación Lleva (Alumno,Curso) con sus elementos Alumno Presenta Proyecto Lenguaje Figura 1.3. Relación Desarrolla (Alumno, Proyecto, Lenguaje) ternaria: o de grado 3 Se definen cardinalidades máximas y mínimas de las entidades que participan en una interrelación como el número máximo y mínimo de ejemplares de una entidad que puede relacionarse con un único ejemplar de la otra, u otras entidades que participan en la interrelación. Proyecto Presenta Empleado (0,1) (1:n) (1:n) Figura 1.4. Relación entre dos entidades. - 1:n en Empleado indica que un ejemplar de la entidad proyecto esta relacionado con 1 o mas ejemplares de la entidad empleado en la interrelación Participar.

Transcript of 02 UPLA Modelo Entidad Relacion

Page 1: 02 UPLA Modelo Entidad Relacion

Base de Datos 1

Ing. Henry George Maquera Quispe

MODELO ENTIDAD RELACION 1. MODELO ENTIDAD – RELACION Se basa en las entidades y en las relaciones que se establezcan entre estas entidades y pone énfasis en el tipo de las relaciones y la cardinalidad que hay entre los elementos. 1.1. Estática del Modelo E/R � Entidad. Persona, lugar, cosa, concepto o suceso real o

abstracto de interés en la empresa. Tiene existencia propia. Cada ocurrencia de entidad debe poder distinguirse de las demás. Ocurrencias de un tipo de entidad tienen los mismos tipos de atributos. Se tiene dos tipos de entidad:

Figura 1.1. Entidades Regulares y Débiles

- Entidad Regular: Existencia por si misma. - Entidad Débil. Existencia depende de otro tipo de entidad

� Relaciones. Correspondencia entre entidades, representan asociaciones del mundo real. Las

interrelaciones se caracterizan por su nombre, el grado (numero de entidades que participan en la interrelación), el tipo de correspondencia (Numero máximo de ejemplares de una entidad asociados a una combinación de ejemplares de las otras entidades en la interrelación, que puede ser 1 o N). dentro de los elementos de una relación se tiene:

- Nombre. Único que lo distingue uninovamente - Grado. Numero de entidades que participa en una relación - Conexión. Arco que une la entidades - Cardinalidad. Numero máximo de ocurrencias de cada tipo de entidad.

Relaciones (1:1) uno a uno Relaciones (1:n) uno a muchos Relaciones (n:1) muchos a uno Relaciones (n:m) muchos a muchos

- Participación. Total o Parcial según participen algunas o todas las ocurrencias de las entidades

Alumno Lleva CursoLleva

(10:60)

(es llevado por)

(1:5)

(60:5)

Figura 1.2. La relación Lleva (Alumno,Curso) con sus elementos

Alum no Presenta Proyecto

Lenguaje

Figura 1.3. Relación Desarrolla (Alumno, Proyecto, Lenguaje) ternaria: o de grado 3

Se definen cardinalidades máximas y mínimas de las entidades que participan en una interrelación como el número máximo y mínimo de ejemplares de una entidad que puede relacionarse con un único ejemplar de la otra, u otras entidades que participan en la interrelación.

Proyecto Presenta Empleado(0,1) (1:n)

(1:n)

Figura 1.4. Relación entre dos entidades.

- 1:n en Empleado indica que un ejemplar de la entidad proyecto esta relacionado con 1 o mas

ejemplares de la entidad empleado en la interrelación Participar.

Page 2: 02 UPLA Modelo Entidad Relacion

Base de Datos 2

Ing. Henry George Maquera Quispe

- 0:1 en Proyecto indica que un ejemplar de la entidad empleado esta relacionado con 0 o 1 ejemplar de la entidad Proyecto en la interrelación Participar.

- 1:n en Participar

indica que un Empleado participa como máximo en un Proyecto y en un Proyecto participan como máximo n Empleados

Alumno Lleva Curso(10:60) (1:5)

(n:m)

Proyecto

Desarrolla

Dirige Profesor

(1:5)

(1:2)

(n:m)

(1:1)

(1:n)

(1:3)

(1:1)

(0:1)

(1:1)

Dicta

Aula

Se_dicta en

(1:1)

(1:n)

(n:1)

Figura 1.5. DER con sus respectivas cardinalidades.

1.2. Atributos Un tipo de entidad o relación queda definido por sus características. Cada una de las características de un tipo de entidad o relación se llama atributo . Un atributo detalla a las entidades asignándoles propiedades descriptivas tales como nombre, color y pero. Existen dos tipos de atributos:

- Identificadores. Distinguen de manera única cada una de las ocurrencias de una entidad (distinguiéndose entre Identificadores Principales e Identificadores Alternativos).

- Descriptores. Se utiliza para describir una ocurrencia de una entidad.

CURSODenominacio

nHoras

Serie

Ciclo

Creditos Figura 1.6. La entidad Curso con sus atributos

Se debe tener presente que las relaciones entre dos entidades también pueden albergar componentes propios. Se debe considerar que una relación puede ser simple sino tiene componentes o compuesto si los tiene.

Turno

Alumno Lleva CursoLleva

(10:60)

(es llevado por)

(1:5)(60:5)

ProfesorFecha_inicio

Figura 1.7 . La relación Lleva(Alumno, Curso) con atributos

Otra forma de representar los atributos en a través de una pila de caracteres:

Curso

Serie

Denominacion

Ciclo

Creditos

Horas

Figura 1.8. La relación Curso con sus atributos

Page 3: 02 UPLA Modelo Entidad Relacion

Base de Datos 3

Ing. Henry George Maquera Quispe

1.3. Dominio y Valores Las características de un tipo de entidad o una relación toman valores para cada ocurrencia de estas. El conjunto de todos los posibles valores de una característica se llama dominio . Por ejemplo: Valor FACULTAD se toma del dominio: Especialidad {“ESIS”, “ESIQ”, ESFI”, “ESBM”}

Series

Curso

Horas

Denominaciones

Ciclo

XX-999

Cadena

XXXX

9

9 Creditos

Series

Horas

Denominaciones

Ciclo

Creditos

Tipo de Entidad (Ei) Atributos (Ai) Dominios (Di)

Figura 1.9 . Atributos y Dominios de la entidad Curso

Dias

Turnos

Meses

Años

99

99

99

{"M","T","N"}

Cadena Profesores

Fecha_inicio

Turno

Profesor

Tipo de Relacion(Ri) Atributos (Ai) Dominios (Di)

Lleva

Figura 1.10 . Atributos y dominios de la relación Lleva (Alumno, curso)

1.4. Cardinalidad de Atributos

- Card_min(A,E). Mínimo numero de valores de atributos asociados a una entidad o relación. - Card_max(A,E). máximo numero de valores de atributos asociados a una entidad o relación.

- Si Card_min(A,E)= 0. Atributo es opcional y puede ser especificado o no para algunas ocurrencias. - Si Card_min(A,E)= 1. Atributo es obligatorio y al menos un valor del atributo debe especificarse

para todas las ocurrencias de la entidad. - Si Card_max(A,E)= 1. Atributo es monovalente - Si Card_max(A,E)> 1. Atributo es polivalente

1.5. Claves � Clave Primaria. Identifica unívocamente una entidad o relación. � Clave Candidata. Identifica alternativamente en una entidad o relación, pero no necesariamente en

forma univoca.

Por ejemplo sea la entidad Alumno (Código_alumno, Apellido, Nombre, Sexo, Fecha_nacimiento, Especialidad, Foto, Dirección, Teléfono).

Page 4: 02 UPLA Modelo Entidad Relacion

Base de Datos 4

Ing. Henry George Maquera Quispe

- SK = [Código_alumno, Apellido, Nombre, Sexo] es una superclave para la entidad Alumno .

Cualquier superconjunto de SK lo es también.

- [Código_alumno] es suficiente para identificar unívocamente a Alumno .

- [Apellido, Nombre) también es suficiente para identificar unívocamente a Alumno .

- En consecuencia [Código_alumno] y [Apellido, Nombre] son claves candidatas para la entidad Alumno .

- Observar que [Apellido, Nombre] es minimal porque ni el atributo Apellido , ni en atributo Nombre

por si solos son suficientes para identificar unívocamente ala entidad Alumno.

Una clave simple tiene un solo atributo, una clave compuesta tiene más de un atributo. Mientras que una entidad fuerte tiene clave primaria y una entidad débil no tiene clave primaria.

� Clave Foránea es una clave primaria de una entidad E2 y que esta presente en E1. Por ejemplo:

Alumno (Código_alumno, Apellido, Nombre, Sexo, Fecha_nacimiento, Especialidad, Foto, Dirección, Teléfono) y Especialidad (Especialidad, descripción). => Especialidad es clave foránea para Alumno.

Asimismo se puede considerar que entre las entidades Proyecto y Alumno la clave foránea es Responsable (Entidad Proyecto) que sirve para enlazar y mantener una comunicación entre ambas entidades.

Figura 1.11 . Clave Foránea entre Proyecto y Alumno.

� Representación grafica. También se tiene presente que las claves se pueden representar con los

siguientes gráficos.

Figura 1.12. Notación de atributos y claves

Especialidad

Codigo_alumno

Apellido

Foto Direccion Telefono

Nombre

Sexo Fecha_nacimiento

Alumno

Figura 1.13 . Entidad Alumno, sus atributos y claves

Alumno

Codigo_alumno

Apellido

Nombre

Fecha_nacimiento

Sexo

PK

Especialidad

Foto

Direccion

Telefono

FK

Figura 1.14 . Representación alternativa de una

entidad, sus atributos y sus claves

Page 5: 02 UPLA Modelo Entidad Relacion

Base de Datos 5

Ing. Henry George Maquera Quispe

2. MODELO ENTIDAD – RELACION EXTENDIDO El modelo entidad relación – extendido (EER) abarca todos los conceptos de modelado del modelo ER, asimismo incluye conceptos de subclase y superclase, los conceptos relacionados de especialización y generalización . Otro concepto que tiene el modelo EER es el de categoría, que se usa para representar una colección de objetos que es la unión de objetos de diferentes tipos de entidad. Asociado a esto esta el importante mecanismo de herencia de atributos y relaciones . Desafortunadamente ni existe una terminología estándar para estos conceptos, de modo que se utilizara los términos de uso mas frecuente. 2.1. Superclases, Subclases y Herencia. Existen entidades que posees sub agrupaciones. Por ejemplo, el tipo de entidad Empleado describe el tipo (atributos y relaciones) de las entidades: Secretaria, Ingeniero, Gerente, Técnico, Empleado_asalariado, Empleado_por_horas, etc. El conjunto de entidades de cada una de estas agrupaciones es un subconjunto de las entidades que pertenecen al tipo Empleado, lo que significa que toda entidad que sea miembro de una de estas sub agrupaciones también será empleado. 2.2. Dependencias en Existencia e Identificación Las entidades pueden ser regulares y débiles. Las relaciones pueden regulares y dependientes. Se distingue: � Dependencia en Existencia . Por lo que una

entidad débil puede ser identificada sin necesidad de identificar la entidad regular por la cual existe. también se entiende como cuando las ocurrencias de un tipo de entidad no puede existir si desaparece la ocurrencia del la entidad regular de la cual depende.

Profesor

Tiene a cargo

(1:1)

(0:n)

Familiar

(1:n)E

Figura 2.1. Datos de familiares solo tienen sentido si

este es una ocurrencia de la entidad profesor . � Dependencia en Identificación . Por lo que una

entidad débil no puede ser identificada (reconocida y diferenciada del resto de las entidades del mismo u otro tipo) a no ser que se identifique una entidad regular por cuya existencia esta presente la debilidad. También se entiende que sii ocurre la dependencia en existencia y además las ocurrencias del tipo de entidad dependiente no se puede identificar unívocamente mediante sus propios atributos y necesitan añadir una clave de la entidad regular de la cual dependen

Libro

Tiene

(1:1)

(1:n)

Ejemplar

(1:n)Cod_libro

Figura 2.2. Un libro esta identificado con la clave

libro respectivo mas una clave propia.

La dependencia de identificación implica una dependencia de existencia, pero no al contrario. Un tipo de entidad débil por existencia no necesariamente requiere para su identificación del tipo de entidad fuerte por la cual tiene existe.

2.3. Tipos de Interrelaciones El modelo E-R permite la representación de cualquier tipo de relación existente entre los objetos del mundo real que forman parte del dominio del problema en estudio. Las últimas actualizaciones del modelo ER, que han dado lugar a los que se conoce como el Modelo Entidad-interrelación Extendido (EER), permiten la representación de cualquier tipo de relaciones existentes entre clases de objetos que consideran los principios de la abstracción. � Interrelaciones Reflexivas. Las interrelaciones reflexivas son relaciones unarias, que consideran que

el tipo de interrelación se ve involucrado un único tipo de entidad. Por ejemplo considere el tipo de interrelación presentado por la figura 2.3, que describe la relación existente entre el tipo de entidad

Page 6: 02 UPLA Modelo Entidad Relacion

Base de Datos 6

Ing. Henry George Maquera Quispe

Alumno con ella misma, y que representa que un alumno dirige a 0 o varios alumnos, mientras que un Alumno es dirigido por 0 (el jefe de grupo) o 1 Alumno.

Se trata de un tipo de interrelación reflexiva en la que interviene un único tipo de entidad que desempeña dos papeles diferentes en el mismo tipo de interrelación. No todos los modelos de datos permiten representar este tipo de interrelaciones, tal y como se presentan en el mundo real.

Alumno

Dirige(0,1) es_dirigido_por

(0,n) dirige_a

1:n

Figura 2.3 . La relación reflexiva Dirige (Alumno)

� Interrelaciones Exclusivas. En un problema del mundo real, un tipo de entidad puede mantener

relaciones con un conjunto de otros tipos de entidad, pero no siempre estas relaciones son independientes. Por ejemplo si se tiene tres entidades Articulo, Proveedor y Fabricante, y el problema en el que los artículos son suministrados por los proveedores o por los fabricantes, pero un articulo nunca puede ser suministrador por un proveedor que no fabrica el articulo, de forma que si el fabricante puede suministrarlo, en ningún momento será solicitado ese articulo a ningún proveedor. Para indicar la exclusividad entre dos tipos de interrelación que mantiene un mismo tipo de entidad se procede a representar un segmento que corta a los dos arcos que representan la relación del tipo de entidad con los tipos de interrelación exclusivas.

Figura 2.4 . Tipo de interrelación exclusiva.

� Interrelaciones Inclusivas. Cuando una entidad puede mantener relaciones con varias entidades a la

vez. Por ejemplo si se tiene tres entidades Alumno_Maestria, Beca y Ayudantia_practica, y se puede dar que un Alumno_Maestria puede tener una Beca y apoyar con una Ayudantia_practica a la vez.

Alumno_Maestria

Beca

Ayudantia_practica

Tiene

Conduce

Figura 2.5. Tipo de interrelación Inclusiva. 2.4. Generalización y Herencia El modelo EER permite representar las relaciones jerárquicas existentes entre los tipos de entidad de los problemas del mundo real. La generalización es una abstracción que identifica una relación jerárquica que representa un tipo de entidad EN_UN subtipo de otro tipo de entidad representada a un nivel de abstracción mayor. Este tipo de relaciones entre tipos de entidad implica la consideración de tipo de entidad (o supertipos) y de subtipos de entidad (clases, superclases y subclases de objetos.

Un subtipo de entidad es un tipo de entidad que mantiene un tipo de interrelación jerárquica con otro tipo de entidad, y que:

� Representa a un conjunto de entidades cuyas propiedades y comportamiento general es considerado

por el tipo de entidad con la que mantiene el tipo de interrelación. � La relación jerárquica puede ser n-aria entre un tipo entidad y un conjunto de sub tipos de ese tipo de

entidad.

Page 7: 02 UPLA Modelo Entidad Relacion

Base de Datos 7

Ing. Henry George Maquera Quispe

� Las propiedades y el comportamiento de los subtipos son heredados del tipo de entidad con el cual

mantienen un tipo de interrelación jerárquica. La herencia es una abstracción incorporada al modelo E-R recientemente e implica la consideración de que con una única definición de las propiedades y comportamiento de un conjunto de entidades, esta definición es automáticamente considerada para todos aquellos conjuntos con los que exista una relación jerárquica (una especialización).

� Bien las propiedades y/o bien el comportamiento de un subtipo pueden y deben cambiar con respecto a

otros subtipos que intervengan en la misma relación jerárquica n-aria entre todos estos subtipos y un mismo tipo entidad. Puesto que los subtipos son tipos de entidad a un nivel de abstracción menor, estos deben poder distinguirse sin ambigüedad del resto de los tipos de entidad existentes en la representación del problema y. por tanto, deben tener un conjunto de propiedades que permita esta discriminación.

� Para cada subtipo de entidad pueden ser redefinidas tanto las propiedades, como el comportamiento

del tipo de entidad con la que mantiene un tipo de interrelación jerárquica. Esta característica permite la inexistencia de mecanismos para diferenciar a los diferentes subtipos de una misma clase y, además, permite la cancelación condicionada de la herencia producida por la relación jerárquica.

� Un tipo de entidad puede ser un subtipo para más de un tipo de entidad con las que puede mantener

diferentes relaciones jerárquicas. Esta característica, denominada herencia múltiple, permite que un tipo de entidad herede propiedades y comportamiento de más de otro tipo de entidad. La herencia múltiple puede dar lugar, en ocasiones, a inconsistencias en las propiedades y/o comportamiento que se hereda, lo que se debe solucionar mediante la redefinición de las herencias.

Un tipo de interrelación jerárquica representa una especialización de un tipo de entidad en otros tipos de entidad. Esta especialización puede ser debida a: � Una diferencia en cuanto al número de propiedades que definen los subtipos de entidad. De esta forma,

diferentes subtipos que mantienen un mismo tipo de interrelación jerárquica son definidos sobre la base de la agregación de un conjunto diferente de propiedades, si bien entre el conjunto de subtipos puede existir un subconjunto de propiedades comunes.

� Diferentes valores que pueden ser medidos para una propiedad que existe en el conjunto de subtipos

que mantienen un mismo tipo de interrelación jerárquica. � Que se cumplan ambas condiciones. Una especialización de un tipo de entidad en un conjunto de subtipos puede ser: exclusiva o inclusiva. Una especialización exclusiva, denominada especialización sin solapamiento, representa el hecho de que una instancia del tipo de entidad más general solo puede pertenecer o estar asociada a una y solo una instancia de los subtipos de entidad especializados. Una especialización inclusiva, denominada especialización sin solapamiento, representa el hecho que una instancia del tipo de entidad más general puede tener asociadas instancias de cualquiera de los subtipos. Por otro lado, la especialización de un tipo de entidad en un conjunto de subtipos puede ser total o parcial. Una especialización total representa el hecho de que las entidades que son reconocidas en el problema que se esta representando son de alguno de los subtipos especializados, no existiendo entidades que no pertenezcan a alguno, varios o todos estos subtipos de entidad. Una especialización parcial representa el hecho de que pueden existir entidades que pertenezcan al tipo de entidad y no a ninguno de los subtipos en los cuales este tipo de entidad esta especializado. Una especialización parcial describe el refinamiento incompleto del problema que se representa, debido a un conocimiento incompleto del mismo y/o a una simplificación de la representación del mismo. Asimismo se debe tener presente que la especialización se hace usando una condición o atributo al que se llama discriminante asociada a la relación � Total y Sin Solapamiento (exclusividad). Un entidad Persona podrá ser especializada en dos subtipos

en entidad: al subtipo Hombre o al subtipo Mujer de forma total; no existirá una entidad Persona que no sea de alguno de estos dos subtipos y además de forma exclusiva, por que una entidad pertenecerá a uno y solo a uno de estos subtipos.

Page 8: 02 UPLA Modelo Entidad Relacion

Base de Datos 8

Ing. Henry George Maquera Quispe

Además cada entidad de estos subtipos vendrá caracterizadas por algún atributo o conjunto de atributos definidos para estos subtipos o heredados del tipo de entidad Persona, más el atributo Sexo, el cual tiene la función de clasificador de las entidades Persona en alguno de estos subtipos.

Persona

Hombre

Supertipo

Es_un Sexo

(1:1)

(0,1) (0,1)

SubtiposMujer

Figura 2.6. Especialización Total y Sin Solapamiento

� Parcial y Sin Solapamiento . La entidad Enfermedad

puede ser especializada en dos subtipos: Vírica y Bacteriana. Este diagrama representa el hecho de que en el problema se consideran un conjunto de entidades Enfermedad las cuales pertenecerán bien a alguno de los subtipos considerados Vírica o Bacteriana, pero que además existirán entidades Enfermedad las cuales no puedan ser clasificadas en ninguno de estos subtipos debido, posiblemente, al desconocimiento del valor del atributo tipo utilizado como discriminador.

Enfermedad

Virica

Es_un

Bacteriana

Tipo

(1:1)

(0,1) (0,1)

Figura 2.7. Especialización Parcial y Sin

Solapamiento � Total y con Solapamiento. La entidad Empresa

puede ser refinada en dos subtipos: Pública y Privada. Se representa el hecho de que podrán existir en el dominio del problema entidades que puedan ser consideradas tanto del tipo Pública como Privada o bien ambos tipos al mismo tiempo y además el hecho de que no podrán existir entidades que no puedan ser especializadas en alguno de estos dos subtipos.

Empresa

Es_un Clase

(1:1)

({0 ó 1}, 1) ({0 ó 1} ,1)

administracion Empresa

PrivadaPublica

Figura 2.8. Especialización Total y con

Solapamiento � Parcial y con Solapamiento . Una Persona puede ser

refinado en dos subtipos Trabajador y Estudiante de forma parcial con solapamiento. Una entidad Persona puede ser del tipo Trabajador y/o del tipo Estudiante y que además puede existir entidades Personas que no puedan clasificarse en ninguno de estos dos subtipos.

Persona

Trabajador

Es_un

Estudiante

Tipo

(1:1)

({0 ó 1}, 1) ({0 ó 1},1)

#nss #matricula

Figura 2.9 Especialización Parcial con Solapamiento

2.5. Cardinalidades en la Jerarquía Dependiendo del tipo de interrelación jerárquica que se presente, y por tanto exista en el dominio del problema, los tipos de entidad que intervienen en el mismo participan o pueden participar con un número determinado de ocurrencias. Así se tienen que tener en cuenta las siguientes consideraciones en la representación de este tipo de interrelaciones: � El tipo de entidad mas general o el supertipo de entidad que es especializado participa siempre con la

cardinalidad mínima 1 y con la cardinalidad máxima 1, puesto que se esta representando como una entidad de este tipo puede especializarse en otros subtipos.

Page 9: 02 UPLA Modelo Entidad Relacion

Base de Datos 9

Ing. Henry George Maquera Quispe

� Para cualquier clase de este tipo de interrelaciones jerárquicas, la cardinalidad máxima con la que

participan los subtipos de entidad en el tipo de interrelación es 1, puesto que se esta representando para cada entidad del supertipo una especialización o refinamiento de la misma.

� Si el tipo de interrelación es total o parcial sin solapamiento, los subtipos participan siempre con

cardinalidad mínima 0, puesto que una entidad del tipo no puede pertenecer al mismo tiempo a mas de un subtipo (Figura 2.6, 2.7)

� Si el tipo de interrelación es total o parcial con solapamiento, los subtipos pueden participar con la

cardinalidad mínima 0 ó 1, puesto que una entidad del supertipo puede a su vez ser especializada en cualquiera de los subtipos simultáneamente (Figura 2.8, 2.9).

2.6. Jerarquías Múltiples Puede existir jerarquías múltiples que parten de un supertipo común como puede verse en la figura 2.10, donde se muestra El supertipo Curso tiene según el discriminante Especialidad los subtipos Ingeniería en Informática y Sistemas, Ingeniería Química, Física Aplicada y Biología/Microbiología y según el discriminante Turno los subtipos Mañana, Tarde, Noche.

Curso

ESIS ESIQ ESFI ESBM

AEspecialidad

M T N

BTurno

Figura 2.10. Jerarquía de la Entidad Curso.

Una forma alternativa o más bien complementaria, de representar una abstracción de generalización/especialización consiste en tablas jerárquicas, que permiten representar la herencia con todas sus características, de manera clara y concisa, sobre todo en el caso de existir varias jerarquías que parten de un mismo supertipo. Estas tablas, de las que se muestra el ejemplo en la figura 2.11 (relativo a la jerarquía de la figura 2.10) representan mediante “1” las combinaciones posibles. Además, en la parte inferior de la tabla se refleja la jerarquía a la que pertenecen las entidades (cuando se trate de una raíz estará vacía); el tipo de jerarquía (D-Disjunta, S-Solapada, T-Total), aparece en la entrada que tiene como etiqueta “definida como”; el atributo discriminante sobre el que se define la jerarquía y la entidad de la que el subtipo hereda tienen también sus correspondientes entradas.

Curso ESIS ESIQ ESFI ESBM M T NCombinaciones

1 1 0 0 0 0 1 0A

1 1 0 0 0 0 0 1B

1 0 1 0 0 0 0 1C

1 0 0 1 0 1 0 0D

1 0 0 1 0 0 1 0E

1 0 0 1 0 0 0 1F

1 0 0 0 1 0 0 1G

A A A A A B B BJerarquia

Tipo de Entidades

RAIZ D/T D/T D/T D/T S/T S/T S/TDefinida como

- Espec. Espec. Espec. Espec. Turno Turno TurnoDefinida como

- Curso Curso Curso Curso Curso Curso CursoDefinida como

Figura 2.11. Tabla jerárquica del ejemplo de la figura 2.10

Hasta ahora se ha considerado jerarquías estrictas, es decir, que podían solaparse ejemplares de subtipos que dependían del mismo supertipo, pero no subtipos de ramas distintas; puede ocurrir, sin embargo, que un subtipo tenga mas de un supertipo, formándose un verdadero retículo o red de generalización (Figura 2.12), en este caso, la herencia ya no es simple, sino que se convierte en múltiple, pudiéndose presentar conflictos a la hora de heredar atributos.

Page 10: 02 UPLA Modelo Entidad Relacion

Base de Datos 10

Ing. Henry George Maquera Quispe

Existen modelos de datos que en caso de conflicto definen un orden de prioridad en la herencia; otros, por el contrario, permiten heredar atributos iguales de dos supertipos distintos pero teniendo que renombrar alguno de ellos.

Figura 2.12. Ejemplo de red de generalización

2.7. Agregación La agregación, también llamada por algunos autores como meronimia, es una abstracción que permite representar tipos de entidad compuestos que se obtienen por unión de otros más simples. Al tipo compuesto nos referimos con todo. Mientras que los componentes son las partes. � Agregación Compuesto/Componente. Es una

abstracción que permite representar que un todo se obtiene por la unión de diversas partes que pueden ser tipos de objetos distintos y que desempeñan diferentes papeles en la agregación. Un Auto puede verse como la unión de chasis, motor y 4 ruedas

Auto

Chasis Motor Rueda

(1:1) (1:1) (4:4)

Figura 2.13. Ejemplo de agregación

Compuesto/Componente. � Agregación Miembro/Colección . Es la abstracción que

permite representar un todo como una colección de partes, donde todas las partes son de un mismo tipo y desempeñan el mismo papel. Un bosque es un todo formado por la agregación de árboles; cada árbol es una parte, pero todos ellos son de un mismo tipo y desempeñan el mismo papel.

Bosque Arbol

Figura 2.14. Ejemplo de agregación Miembro/Colección

En la Agregación miembro/colección a veces se desea establecer un orden entre las partes. Por ejemplo una flota esta compuesta de barcos, pero, a diferencia de lo que ocurre con el bosque, en la flota cada barco tiene un determinado orden. Esto se representa mediante una restricción de orden tal y como se puede observar en la figura 2.15, donde los barcos se ordenan, dentro de la flota, según el valor del atributo Num_barco. Esta restricción se puede recoger, igualmente, en los actuales modelos de objetos.

Flota Barco(n1,n2)

{Orden por Num_barco}

Figura 2.15. Ejemplo de agregación miembro/colección con orden

Para paliar los problemas que plantea la restricción inherente del modelo E/R que no permite establecer interrelaciones de las que forma parte una interrelación, se puede, mediante una agregación, crear un tipo de entidad compuesto por un tipo de interrelación y los tipos de entidad vinculados por la misma, de modo que este nuevo tipo de entidad se pueda interrelacionar con otros. Un profesor explica asignaturas utilizando distintos medios (pizarra, transparencias, diapositivas, computador, etc.) pero el ME/R no permite establecer la interrelación Utiliza sobre la interrelación Explica

Page 11: 02 UPLA Modelo Entidad Relacion

Base de Datos 11

Ing. Henry George Maquera Quispe

Profesor Asignatura

Medio

Explica

Utiliza

Figura 2.16 Ejemplo de interrelación no permitida

Una solución a este problema es crear un tipo de entidad “Explicación” por agregación de Profesor explica Asignatura.

Profesor Asignatura

Medio

Explica

Utiliza

Explicacion

Figura 2.17. solución por agregación del ejemplo de

la figura 2.16

Como segundo ejemplo considere a los alumnos participan en Proyectos de Software y usan distintos lenguajes y distintas PC.

Proyecto

Software

Ejecuta

Codigo

Se_corre_en

Hace_uso_de

PC

Apellido Horas Numero

Horas

Licenciatura

Titulo

Serie

Alumno

Figura 2.18. Diagrama entidad relación no permitido,

relaciones redundantes. La solución esta en usar la jerarquía de agregación, mediante la cual se puede tratar a las entidades Alumno y Proyecto y a la relación Ejecuta como un solo tipo de entidad. De la misma manera se trata a Software y PC y a la relación Se_corre_en.

Figura 2.20 Diagrama Entidad relación Completo

ProyectoEjecuta

Codigo

Se_corre_en

Hace_uso_de

Apellido HorasNumero

Horas

Licenciatura

Titulo

Serie

Nombre

Trabajo

Recurso

Software PC

Alumno

Figura 2.19. solución por agregación del ejemplo de

la figura 2.18

Page 12: 02 UPLA Modelo Entidad Relacion

Base de Datos 12

Ing. Henry George Maquera Quispe

Alumno Proyecto

Codigo Apellido Numero

Titulo

Trabajo

Horas

Ejecuta

Parte_de

Figura 2.21. Trabajo como agregación de Alumno y

Proyecto

Software PC

Licencia Titulo Serie

Trabajo

Se_corre_en

Parte_de

Nombre

Figura 2.22. Recurso como agregación de Software y Pc

La agregación ayuda a construir entidades de niveles superiores

Empleado ProyectoTrabaja

Usa

(1:1)

(1:n) (0:n)

(1:1)

Maquinaria

(1:n)

Figura 2.23. Diagrama Entidad relación no Permitido

Empleado ProyectoTrabaja

Usa

(1:1)

Trabajo

(1:n) (0:n)

Maquinaria

(1:n)

Figura 2.24. Diagrama entidad relación con agregación

Hay tres casos en los que es posible relacionar este concepto con el modelo EER. � Caso 01. Es la situación en la que se

agrega valores de atributos de un objeto para formar el objeto completo.

� Caso 02. Es la representación de una

relación de agregación como una relación ordinaria.

� Caso 03. no contempla explícitamente el

modelo EER, implica la posibilidad de combinar objetos que se relacionen mediante una instancia de relación específica para formar un objeto agregado de más alto nivel.

Asignatura ProfesorTrabaja

Toma

(1:n) Curso

(0:n) (1:1)

Alumno

(1:n)

Asignatura ProfesorTrabaja(0:n) (1:1)

Figura 2.25. Diagrama Entidad relación Valido

La abstracción de asociación sirve para asociar objetos de varias clases independientes. Por tanto, es de algún modo similar a la segunda aplicación de la agregación. Se representa en el modelo EER mediante tipos de relaciones. Considere el esquema EER que se muestra en la figura 2.26, que almacena información sobre entrevistas de solicitantes de empleo en varias empresas. La clase Empresa es una agregación de los atributos (u objetos componentes) NombreE (Nombre de la empresa) y DireccionE (dirección de la empresa), en tanto que Solicitante_Empleo es un agregado de Nss, Nombre, dirección.

Figura 2.26. El tipo de relación Entrevista

Page 13: 02 UPLA Modelo Entidad Relacion

Base de Datos 13

Ing. Henry George Maquera Quispe

Los atributos de la relación NombreContacto y TelefonoContacto representan el nombre y el número telefónico de la persona de contacto en la empresa que se encarga de la entrevista. Suponga que algunas entrevistas dan lugar a ofertas de empleo pero otras no. Seria agradable tratar a Entrevista como una clase para asociarla a Oferta_Empleo. El esquema que se muestra en la figura 2.27 es Incorrecto porque requiere que cada instancia de la relación entrevista tenga una oferta de empleo.

Figura 2.27. Relación incluyendo Oferta_Trabajo en una

relación ternaria (Incorrecto) El esquema de la figura 2.28 no esta permitido, porque el modelo EER no permite relaciones entre relaciones. Una forma de representar esta situación consiste en crear una clase agregada de más alto nivel formada por Empresa, Solicitante_Empleo y Entrevista y en relacionar esta clase con Oferta_Empleo como se muestra en la figura 2.27.

Figura 2.28. Incluyendo Oferta_Trabajo considerando una relación en la que participa otra (generalmente no

permitido en ER) Aunque el modelo ER aquí descrito no cuenta con este recurso, algunos modelos semánticos de datos si lo permiten y llaman al objeto resultante un objeto compuesto o molecular. Otros modelos tratan a los tipos de entidad y a los tipos de relaciones de la misma manera y, por lo tanto, permiten relaciones entre relaciones (Figura 2.29).

Figura 2.29. Usando una agregación y un objeto (molecular) compuesto generalmente no permitido en ER).

Para representar correctamente esta situación en el modelo EER tal y como se ha descrito aquí, se necesita crear un nuevo tipo de entidad débil Entrevista, como se muestra en la figura 2.30 y relacionarlo con Oferta_Empleo.

Figura 2.30. Representación correcta en ER.

Así siempre se podrá representar correctamente estas situaciones en el modelo EER si se crea tipos de entidad adicionales, aunque puede ser mas deseable, desde el punto de vista conceptual, permitir una representación directa de la agregación, como en la figura 2.29, o permitir relaciones entre relaciones, como en la figura 2.28. La distinción estructural principal entre la agregación y la asociación es que cuando se elimina una instancia de asociación, los objetos participantes pueden seguir existiendo. Sin embargo, si se maneja la noción de objeto agregado (por ejemplo, un Coche se compone de los objetos Motor, Chasis, neumáticos), entonces la eliminación del objeto agregado Coche equivale a eliminar sus objetos componentes.

Page 14: 02 UPLA Modelo Entidad Relacion

Base de Datos 14

Ing. Henry George Maquera Quispe

3. CONTROL DE REDUNDANCIA Es preciso, en los esquemas ER, analizar la existencia de redundancias, por lo problemas de inconsistencias a los que pueden dar lugar. Se dice que un elemento de un esquema es redundante cuando puede ser eliminado sin pérdida de semántica. Existen dos formas principales de redundancia, según el elemento del modelo ER al que está asociada: redundancia en los atributos (atributos derivados) y redundancia en las interrelaciones (denominadas también por algunos autores interrelaciones derivadas). 3.1. Atributos Derivados Se entiende por atributos derivados (o calculados) aquellos que se obtienen a partir de otros ya existentes, por lo que, aunque son redundantes, no dan lugar a inconsistencias, siempre que en el esquema se indique su condición de derivados y la fórmula mediante la que han de ser calculados. En la figura 3.1 se tiene el atributo número de ediciones, que puede ser calculado a partir de los ejemplares de edición mediante la interrelación tiene. Para indicarlo gráficamente se utilizará la etiqueta Id en el atributo calificado como derivado, almacenando la regla de derivación en el diccionario de datos.

Edicion

Id

Curso

Tiene

1:N

(1:N) (1:1)

Figura 3.1. Ejemplo de atributo derivado

Incluir en el esquema conceptual atributos derivados, a pesar de que pueden ser generados a partir de otros ya existentes, tiene a veces interés por razones semánticas. Aunque también se podría hacer por motivos de eficiencia; sólo por esta causa no se deberían incluir dichos atributos en el esquema conceptual, sino en el lógico, o mejor aún, en el físico. Un atributo derivado puede ser calculado en dos momentos distintos: bien en actualizaciones que pueden provocar cambios en su valor, bien cuando se recupera. En el primer caso, el atributo derivado se calcula y almacena (por lo que, por ejemplo, en el modelo de datos Codasyl se dice que es real); en el segundo no está almacenado y se calcula cuando se realiza una consulta (por lo que se dice que es virtual). El tomar una u otra decisión es propio del diseño físico, ya que se hace por motivos de eficiencia, y dependerá del número de actualizaciones frente al de recuperaciones. Tampoco hay que confundir un atributo derivado, cuyo valor no se introduce nunca sino que se calcula con las restricciones que comprueban la consistencia entre valores que están almacenados en la base de datos por haberlos introducido el usuario. 3.2. Interrelaciones Redundantes Se dice que una interrelación es redundante cuando su eliminación no implica pérdida de semántica porque existe la posibilidad de realizar la misma asociación de ejemplares por medio de otras interrelaciones. Es condición necesaria, aunque no suficiente, para que una interrelación sea redundante que forme parte de un ciclo, por lo que hay que estudiar detenidamente los ciclos en el diagrama ER. En el ejemplo de la figura 3.2 se da un ciclo entre Profesor, Curso y Departamento, por lo que en principio es posible que aparezca alguna interrelación redundante.

Imparte

Curso Adscrito

Profesor

Departamento

1:n

(1:1)(1:n)

Pertenece

(1:n)

(1:n)

(n:m)

(1:n)

(1:1)

(1:n)

Redundante

Pertenece = Imparte + Adscrito

Figura 3.2. Ciclo en el que aparece una interrelación redundante Suponga que un Profesor sólo puede impartir Cursos de doctorado que estén adscritos al Departamento al que él pertenece; en este caso, si se conocen los Cursos de doctorado que imparte un Profesor y el Departamento al que está adscrito cada curso, se deduce inmediatamente a qué Departamento pertenece dicho profesor; de-forma análoga, dado un departamento, si se sabe qué Cursos de doctorado tiene

Page 15: 02 UPLA Modelo Entidad Relacion

Base de Datos 15

Ing. Henry George Maquera Quispe

adscritos y los Profesores que imparten dichos Cursos, se conocerá que Profesores pertenecen a dicho Departamento, por lo que la interrelación pertenece entre las entidades Profesor y Departamento es redundante, su eliminación no produce pérdida de información. En la figura 3.3, a pesar de que también existe un ciclo, no hay ninguna interrelación redundante. En este ejemplo la semántica es distinta y un departamento puede no tener adscritos cursos de doctorado; además un mismo curso puede estar adscrito a distintos departamentos y puede haber profesores que no impartan ningún curso.

Imparte

Curso Adscrito

Profesor

Departamento

n:m

(1:n)(0:n)

Pertenece

(1:n)

(1:n)

n:m

(1:n)

(1:1)

(1:n)

Figura 3.3. Ciclo en el que no aparece una interrelación redundante

La interrelación pertenece no puede deducirse en este caso de las otras dos, ya que aunque sepamos los cursos que ha impartido un Profesor y los Departamentos a los que están adscritos dichos Cursos, no se puede saber a qué Departamento en concreto pertenece dicho profesor; tampoco se tiene esta información para los Profesores que no imparten ningún curso. La interrelación imparte tampoco es redundante, ya que un Curso de doctorado puede ser impartido por diversos Departamentos a cada uno de los cuales pertenecen varios Profesores, por lo que no se puede saber qué Profesor en concreto imparte un determinado curso. Por último, la interrelación adscrito tampoco es redundante, ya que un curso impartido por un Profesor no tiene por qué estar necesariamente adscrito al Departamento al que pertenece dicho Profesor: hay Departamentos que no tienen Cursos adscritos y los Profesores de estos Departamentos pueden colaborar en cursos adscritos a otros Departamentos distintos del suyo. Existen otros casos en los que la interrelación, a pesar de poder ser deducida a partir de otras presentes en el esquema, no se puede eliminar porque posee atributos. Se puede decir, como norma general, que la existencia de un ciclo no implica la existencia de interrelaciones redundantes. Deben estudiarse con mucho detenimiento las cardinalidades mínimas de las entidades, así como la semántica que aportan las interrelaciones, para poder afirmar con seguridad que existen interrelaciones redundantes. Habrá que analizar si al eliminar una interrelación es siempre posible el paso, tanto en un sentido como en el inverso, entre las dos entidades unidas por la interrelación que se considera redundante, y habrá que comprobar también que no se pierdan atributos. En resumen, para que una interrelación pueda ser eliminada por redundante se tiene que cumplir:

- Que exista un ciclo. - Que las interrelaciones que componen el ciclo sean equivalentes semánticamente.

- Que se puedan asociar los ejemplares de las dos entidades que estaban interrelacionadas, aún

habiéndose eliminado la interrelación.

- Que la interrelación o bien no tenga atributos o bien éstos puedan ser transferidos a otra a fin de no perder su semántica.

4. PROBLEMAS Y CASOS 4.1. HABITANTES Y MUNICIPIOS Suponga el siguiente universo del discurso sobre municipios, viviendas y personas. Cada persona sólo puede habitar en una vivienda y estar empadronada en un municipio, pero puede ser propietaria de varias viviendas. Interesa también conocer las personas que dependen del Cabeza de Familia (C.F.). Se indicarán los supuestos semánticos que se consideren oportunos para justificar todas las decisiones de diseño. 4.1.1. Discusión del Enunciado � Primer Paso : Elaborar las listas de conceptos candidatos a ser entidades e interrelaciones e indicar

también los conceptos que no se sabe cómo catalogar. Las listas obtenidas son:

Page 16: 02 UPLA Modelo Entidad Relacion

Base de Datos 16

Ing. Henry George Maquera Quispe

Entidades: Interrelaciones:

Municipio Habita entre Persona y Vivienda Vivienda Empadronada entre Persona y Municipio Persona Propiedad entre Persona y Vivienda

¿Cabeza de Familia?

Las entidades e interrelaciones anteriores están explícitamente representadas en el enunciado. En principio, no se sabe cómo representar el concepto Cabeza de Familia, pues en realidad es también una Persona. Se deja la clasificación de este concepto para el siguiente paso.

� Segundo Paso : Construir una matriz Entidades/Entidades para representar todas las interrelaciones

junto con su tipo de correspondencia. Para ello, se ira analizando los supuestos semánticos explícitamente representados en el enunciado, así como los que están implícitos o son de sentido común.

Supuestos dados en el enunciado:

- Cada Persona sólo puede Habitar en una Vivienda. (interrelación Habita (1:?) entre Persona y

Vivienda) - Cada Persona puede ser Propietaria de más de una Vivienda. (interrelación Propiedad (?:N) entre

Persona y Vivienda)

- Las Personas dependen del Cabeza de Familia. (interrelación C.F. (?:?) entre Persona y Persona)

- Una Persona está empadronada en un único Municipio. Interrelación Empadronada (1:N) entre Persona y Municipio

Supuestos no dados en el enunciado:

- En una Vivienda pueden Habitar muchas Personas (supuesto lógico del mundo real). interrelación

Habita (1:N) entre Persona y Vivienda - Una Vivienda puede ser Propiedad de muchas Personas (supuesto legal). interrelación Propiedad

(M:N) entre Persona y Vivienda.

- Una Persona sólo puede tener un Cabeza de Familia y un Cabeza de Familia puede serio de varias Personas. Interrelación C.F. (1:N) entre Persona y Persona.

- Un Municipio puede tener muchas Viviendas y una Vivienda pertenece a un solo Municipio.

Interrelación Está_En (N:1) entre Municipio y Vivienda

La matriz obtenida se muestra.

Persona Municipio Vivienda Persona C.F. (1:N) Empadrona (1:N) Habita (1:N) Propiedad (N:M) Municipio Esta_en (N:1) Vivienda

� Tercer Paso : Obtener una versión preliminar del esquema E/R. Se muestra una primera versión del

Esquema E/R correspondiente a los supuestos mencionados. � Cuarto Paso : Análisis de las cardinalidades mínimas. Hasta ahora se han estudiado sólo las

cardinalidades máximas de las interrelaciones. A continuación, se estudiarán las cardinalidades mínimas.

- Interrelación. C.F: Una Persona tiene obligatoriamente como mínimo una Persona que es Cabeza

de Familia y una Persona que es Cabeza de Familia puede que no tenga ninguna persona a su cargo.

Page 17: 02 UPLA Modelo Entidad Relacion

Base de Datos 17

Ing. Henry George Maquera Quispe

- Interrelación Habita : Una Persona habita como mínimo en una Vivienda y en una Vivienda puede que no habite ninguna Persona.

- Interrelación Propiedad : Una Persona

puede que no sea propietaria de ninguna Vivienda y una Vivienda puede que no sea propiedad de ninguna Persona (una vivienda podría ser propiedad de una empresa, por ejemplo).

P ersona

C .F .

H abita P rop iedad

E sta_en

E m padrona

V iv ienda

M in ic ip io

1:n

1:n

n :mn:1

1 :n

Figura 4.1 . Versión preliminar del esquema E/R

- lnterrelación Empadronada :

Una Persona está empadronada como mínimo en un Municipio (y como máximo también) y en un Municipio como mínimo está empadronada una Persona.

- Interrelación Está_En : Una

Vivienda está en un único Municipio y en un Municipio hay como mínimo una Vivienda.

� Quinto Paso : Análisis de

redundancias. Como existen dos ciclos en el esquema E/R hay que estudiar si existe alguna interrelación redundante, es decir, si hay alguna interrelación cuya semántica pueda obtenerse a partir de las otras interrelaciones.

Persona

C.F.

Habita Propiedad

Esta_en

Empadrona

Vivienda

Minicipio

1:n

1:nn:m

n:1

1:n(0:n)(1:1)

(0:n) (0:n)

(0:n)(1:1)

(1:1)

(1:n)

(1:n)

(1:1)

Figura 4.2. Esquema E/R con restricciones de cardinalidad

- El primer ciclo lo constituyen las interrelaciones Propiedad , Está_En y Empadronada . La primera

condición para saber si se tiene un ciclo en el que haya alguna interrelación susceptible de ser redundante es que las tres interrelaciones estén semánticamente relacionas. En este caso la interrelación Propiedad no es semánticamente equivalente a Está_En y Empadronada , puesto que el poseer o no una vivienda no influye en si la persona reside en el municipio en el que se encuentra la vivienda.

- El segundo ciclo lo constituyen las interrelaciones Habita , Está_En y Empadronada . En este caso

las tres interrelaciones están semánticamente relacionadas1. Observe si alguna de estas interrelaciones es redundante:

Interrelación Habita : Si se intenta eliminar la interrelación Habita debe ser posible obtener su semántica a partir de Está_En y Empadronada ; así, si se quiere obtener las personas que habitan en una determinada vivienda, a partir de Está_En se obtiene el municipio en el que se encuentra la vivienda y con la interrelación Empadronada se obtienen las personas que habitan en ese municipio, pero no se sabe las personas que habitan en la vivienda sino las que habitan en todas las viviendas del municipio. Por ello, la interrelación Habita no se puede eliminar.

Interrelación Está_En : Si se intenta suprimir la interrelación Está_En debe ser posible obtener su semántica a partir de las interrelaciones Habita y Empadronada . Para conocer las viviendas que se encuentran en un determinado municipio, a partir de Empadronada se obtiene todas las personas empadronadas en ese municipio y mediante la interrelación Habita se obtiene las viviendas en las que habitan esas personas (pues una persona obligatoriamente debe habitar en una vivienda); de esta forma, se sabrá las viviendas de ese municipio. En el otro sentido de la interrelación Está_En ,

1 Se ha supuesto que las personas habitan en los municipios en los que están empadronadas.

Page 18: 02 UPLA Modelo Entidad Relacion

Base de Datos 18

Ing. Henry George Maquera Quispe

para conocer en qué municipio está una determinada vivienda, a partir de Habita se obtiene las personas que habitan en ella; sin embargo, puede ocurrir que en una determinada vivienda no habite nadie (cardinalidad mínima 0), por lo que no se puede alcanzar la interrelación Empadronada entre persona y municipio. Así la interrelación Está_En no es redundante. Interrelación Empadronada : Si se elimina la interrelación Empadronada , debería ser posible obtener su semántica a partir de Habita y Está_En . Para conocer el municipio en que está empadronada una persona, mediante Habita se obtiene la vivienda en la que habita esa persona y con la interrelación Está_En se obtiene el municipio en que se encuentra la vivienda; Por ello, se conoce el municipio en que está empadronada esa persona. En el otro sentido de la interrelación Empadronada , debe ser posible conocer las personas empadronadas en un determinado municipio; mediante la interrelación Está_En se conoce las viviendas de ese municipio y a partir de Habita se sabe todas las personas que viven en esas viviendas, conociendo así todas las personas empadronadas en el municipio. Consecuentemente, la interrelación Empadronada se puede eliminar del esquema E/R sin perder semántica.

Persona

C.F.

Habita Propiedad

Esta_enVivienda

Minicipio

1:n

1:nn:m

n:1

(0:n)(1:1)

(0:n) (0:n)

(0:n)(1:1)

(1:1)

(1:n)

Figura 4.3. Esquema E/R sin redundancia. 4.2. CURSOS DE FORMACIÓN El departamento de formación de una empresa desea construir una base de datos para planificar y gestionar la formación de sus empleados. La empresa organiza cursos internos de formación de los que se desea conocer el código de curso, el nombre, una descripción, el número de horas de duración y el coste del curso. Un curso puede tener como prerrequisito haber realizado otro(s) previamente, y, a su vez la realización de un curso puede ser prerrequisito de otros. Un curso que es un prerrequisito de otro puede serlo de forma obligatoria o sólo recomendable. Un mismo curso tiene diferentes ediciones, es decir, se imparte en diferentes lugares, fechas y con diferentes horarios (intensivo, de mañana o de tarde). En una misma fecha de inicio sólo puede impartirse una edición de un curso. Los cursos se imparten por personal de la propia empresa. De los empleados se desea almacenar su código de empleado, nombre y apellidos, dirección, teléfono, NIF (Número de Identificación Fiscal), fecha de nacimiento, nacionalidad, sexo, firma y salario, así como si está o no capacitado para impartir cursos. Un mismo empleado puede ser docente en una edición de un curso y alumno en otra edición, pero nunca puede ser ambas cosas a la vez (en una misma edición de curso o lo imparte o lo recibe). 4.2.1. Discusión del Enunciado � Parte 1

La empresa organiza cursos internos de formación de los que se desea conocer el código de curso, el nombre, una descripción, el número de horas de duración y el coste del curso.

Page 19: 02 UPLA Modelo Entidad Relacion

Base de Datos 19

Ing. Henry George Maquera Quispe

Un curso puede tener como prerrequisito haber realizado otro(s) previamente, y, a su vez la realización de un curso puede ser prerrequisito de otros. Un curso que es un prerrequisitos de otro puede serio de forma obligatoria o sólo recomendable.

Parece evidente a partir de los primeros párrafos que cada Curso de formación será una entidad: un Curso tiene un "Código" que lo identifica, y tendrá como atributos el "Nombre" (el cual se considera que además es único, es decir, es un identificador alternativo), una "Descripción", el número de horas de "Duración" y su "Coste". Para modelar que un Curso puede ser prerrequisito de otros no se puede utilizar un atributo, ya que un curso puede ser prerrequisito de varios. La forma de representarlo es mediante una interrelación reflexiva en la entidad Curso. Las cardinalidades mínimas y máximas en ambos sentidos de la interrelación son (0,n), lo cual significa que:

- Un Curso puede ser prerrequisito de ninguno o de varios otros Cursos. - Un Curso puede tener como prerrequisito haber cursado previamente ninguno o varios Cursos. Por otra parte, el atributo que indica la obligatoriedad ha de figurar en la interrelación, y no en la entidad, ya que no es propio del curso el ser obligatorio o recomendable, sino de un curso con respecto a otro del que es prerrequisito. Las consideraciones anteriores aparecen en el esquema de la figura

PrerrequisitosCurso

(0:n)

N:M Obligatorio

codi

go_c

urso

Nom

bre

Des

crip

cion

Dur

acio

n

Cos

te

(0:n)

Figura 4.4. Diagrama de la parte 1 � Parte 2

Un mismo Curso tiene diferentes ediciones, es decir, se imparte en diferentes lugares fechas y con diferentes horarios (intensivo, de mañana o de tarde). En una misma fecha de inicio sólo puede impartirse una edición de un curso. Puesto que en una misma fecha sólo puede comenzar una única edición del mismo curso, será suficiente con la fecha (junto con el código del Curso) para poder identificarla. Por lo tanto, una Edición será una entidad débil que tendrá una dependencia en identificación con respecto a Curso. Las cardinalidades con respecto a Curso serán (1,1), ya que toda edición lo es de uno y sólo un Curso (además, toda dependencia en identificación ha de tener, evidentemente, cardinalidades (1,1) con respecto a la entidad regular).

Figura 4.5. Diagrama de la parte 2

La cardinalidad máxima de una Edición con respecto a un Curso será N (puesto que puede haber distintas ediciones de un mismo Curso). En cuanto a la mínima, será 0 si pueden existir Cursos de los que no se hayan impartido Ediciones, y 1 si todo Curso ha de tener al menos una Edición. Se ha elegido

Page 20: 02 UPLA Modelo Entidad Relacion

Base de Datos 20

Ing. Henry George Maquera Quispe

la cardinalidad menos restrictiva, esto es, 0, para permitir que la empresa pueda tener planificados distintos Cursos de los que todavía no se haya celebrado ninguna Edición.

� Parte 3

Los cursos se imparten por personal de la propia empresa. De los empleados se desea almacenar su código de empleado, nombre y apellidos, dirección, teléfono, NIF (Número de Identificación Fiscal), fecha de nacimiento, nacionalidad, sexo, firma y salario, as{ como si está o no capacitado para impartir cursos. Un mismo empleado puede ser docente en una edición de un curso y alumno en otra edición, pero nunca puede ser ambas cosas a la vez (en una misma edición de curso o lo imparte o lo recibe)

El esquema modelado hasta ahora ha sido bastante sencillo. Sin embargo, para modelar toda la semántica asociada al hecho de que los Empleados participen (impartan o reciban) en las ediciones de los cursos, se tiene varias posibilidades. En cualquier caso, se tendrá una entidad Empleado, con un conjunto de atributos, de los cuales "Código de Empleado" será identificador principal, y "NIF” identificador alternativo. Además de otros atributos, como el "Teléfono", "Fecha de Nacimiento", "Nacionalidad", etc., existirá un atributo que especificará si un empleado está o no "Capacitado" para impartir cursos2. A continuación se ofrece distintas posibilidades para modelar la participación de los empleados en las ediciones de los cursos, y se observa las ventajas y desventajas de cada una de ellas (por claridad, en estas figuras no se incluyen los atributos de las entidades):

Edic ion partic ipa E m p leado(0 :n ) (1 :n )

N :M

Partic ipac ion

Figura 4.6

La solución más sencilla (figura anterior) sería modelar la participación de los empleados en las ediciones de los cursos mediante una interrelación Participa entre Empleado y Edición. Dicha interrelación tendría un atributo "Participación", cuyos posibles valores serían "Docente" y "Alumno", Esta solución recoge que en un Curso un Empleado sólo puede participar como docente o como alumno, pero no como ambas cosas a la vez, Sin embargo esta solución no recoge las siguientes características:

- Que un Empleado no capacitado

para impartir Cursos no pueda participar en una Edición como Docente

- Que en una Edición deba haber al

menos un Alumno y un Docente (la solución sólo exige que haya un participante)

Edicion

imparte

Empleado

(0:n) (1:n)

N:M

recibe

(0:n)(1:1)

N:M

Figura 4.7

Se puede ampliar la solución anterior, dividiendo la interrelación Participa en dos interrelaciones, Imparte y Recibe , como muestra la figura anterior. De esta manera se resuelve que en una edición deba haber un Docente y, al menos, un Alumno. La cardinalidad máxima de Imparte sería 1 si un Curso lo imparte una única persona o N si se supone que lo pueden impartir más. Sin embargo, se sigue sin resolver el hecho de impedir que Empleados no capacitados puedan impartir Cursos, y además se ha añadido un problema que con la solución de la figura 4.6 se tenía resuelto: que en una misma Edición

2 Esto es así porque en los requisitos se indica que la capacitación depende únicamente del Empleado. Podría plantearse una ampliación del problema permitiendo que dicha capacitación dependiera no sólo del Empleado sino también de cada Curso (es decir, que un empleado estuviera capacitado para impartir unos Cursos y no otros).

Page 21: 02 UPLA Modelo Entidad Relacion

Base de Datos 21

Ing. Henry George Maquera Quispe

un mismo Empleado participe como Docente y como Alumno. Esto no se resolvería mediante una restricción de exclusividad (en Empleado), ya que significaría que un Empleado o siempre es Alumno, o siempre es Profesor, pero no que pueda ser unas veces Alumno y otras Profesor, pero siempre en distintas ediciones de cursos. Una mejora a la solución de la figura 4.7 sería añadir una jerarquía de empleados (Capacitados y No_Capacitados. o únicamente Capacitados) en la que el atributo discriminante fuera "Capacitado", y dos interrelaciones, Imparte y Recibe . Con esta solución que se muestra en la figura 4.8, se resolvería los dos aspectos que no se recogían con la solución de la figura 4.6, pero se sigue sin resolver el impedir que un mismo empleado participe en la misma edición como Alumno y como Docente, ya que en la interrelación Recibe participan tanto los Empleados Capacitados como los No Capacitados. Para resolverlo se debería exigir que una ocurrencia de la interrelación Recibe no apareciera en la interrelación Imparte y viceversa, es decir, una restricción de exclusión.

Edicion

recibe Empleado(1:n)

N:1

imparte

(0:n) (1:1)

Capacitado No_capacitado

(0:1)(0:1)

(1:1)

(0:n)

(Exclusion)

Figura 4.8

4.2.2. Propuesta de Solución Se ha elegido la opción de la figura 4.8 porque, como se ha visto, es la que más semántica recoge. La figura 4.9 muestra el esquema definitivo.

PrerrequisitosCurso

(0:n)

N:M Obligatorio

cod

igo

_cu

rso

No

mb

re

De

scri

pci

on

Du

raci

on

Co

ste

(0:n)

Edicion

Id

Impartido

(0:n)

(1:1)

1:N

Fecha

Id_Edicion

Lugar Horario

recibe Empleado(1:n)

N:1

imparte

(0:n) (1:1)

N:M

Capacidad

Capacitado No_capacitado

(0:1)(0:1)

(1:1)

(0:n)

(Exclusion)

Codigo_empleado

Nombre

Apellidos

Direccion

Telefono

NIF

fecha_nacNacionalidadSexoFirmaSalario

Figura 4.9. Propuesta de solución al problema dado

Page 22: 02 UPLA Modelo Entidad Relacion

Base de Datos 22

Ing. Henry George Maquera Quispe

4.2.3. Supuestos Semánticos Complementarios y Semán tica No Reflejada Se ha considerado el nombre del curso como un identificador alternativo. 4.3. CATASTRO MUNICIPAL Se desea considerar la información correspondiente al catastro de viviendas de un determinado municipio. En el municipio existe una serie de zonas urbanas en las cuales se ha edificado un conjunto de viviendas, las cuales pueden ser: � Viviendas unifamiliares o casas en las que solo habita una familia. � Bloques de pisos en los cuales existe un conjunto de viviendas, indeterminado a priori; en cada una de

las cuales habita una familia. En el sistema es necesario mantener la información correspondiente a las personas que viven en cada una de las viviendas, así como el cabeza de familia de las personas que habitan o son propietarias de las viviendas. Para cada vivienda, además de la información correspondiente a las características de las mismas, es necesario conocer al propietario. 4.3.1. Supuestos Semánticos Dentro de la construcción se van a considerar los siguientes supuestos semánticas en el problema: � Supuesto 1: Toda persona habita en una y solo una vivienda, la cual es considerada como su vivienda

o residencia principal. � Supuesto 2: Cada vivienda tiene uno y solo un propietario. � Supuesto 3: Las viviendas se encuentran en una única zona urbana correspondiente al municipio, de

las cuales interesa mantener información. � Supuesto 4: Las zonas urbanas en las que esta dividido geográficamente el municipio tienen nombres

diferentes. � Supuesto 5: en cada zona urbana del municipio existen una serie de calles en las que se construyen

las viviendas. Los nombres de las calles son únicos para el municipio con independencia de la zona urbana en la que se encuentren (para simplificar el problema no se considerará información sobre las calles).

� Supuesto 6: En el contexto del problema, una familia es un conjunto de personas que tienen una

relación familiar directa y que habita, o no, en una misma vivienda. Este conjunto podrá ser unario. � Supuesto 7: Como se indica en el enunciado del problema las viviendas pueden ser casas unifamiliares

o bloques de pisos en los cuales existen una serie de viviendas unifamiliares. 4.3.2. Análisis del Modelo Se trata de representar la información de las viviendas construidas en un municipio incluyendo tanto la de los propietarios de las mismas como la de las personas que habitan en ellas. También se solicita la relación familiar de las personas consideradas en el problema. � Tipo de Entidad ZonaUrbana. El cual representa al objeto del mundo real “barrio” o “distrito”, y que se

puede definir como “la zona geográfica que forma parte del municipio y donde se encuentran las viviendas”. Se van a considerar dos atributos para este tipo de entidad: nombre_zona y od_zona. El atributo nombre_zona identifica a la zona geográfica, pues como indica el enunciado no puede repetirse, el atributo od_zona hace referencia a cualquier otro dato que se considere que sea de interés representar (Supuesto 3- 4)

� Tipo de entidad Vivienda. El cual representa al objeto del mundo real “vivienda”, y que representa al “solar” o “zona en la que se ha construido un edificio con el objetivo de ser utilizado como vivienda”. Como se puede observar en el enunciado, existen dos tipos de viviendas: aquellas que son unifamiliares y aquellas que son bloques de pisos.

Page 23: 02 UPLA Modelo Entidad Relacion

Base de Datos 23

Ing. Henry George Maquera Quispe

Para el tipo de entidad Vivienda se van a considerar los atributos calle y número cuya agregación identifica a las entidades de este tipo. Además, considere que otros atributos como codigo_postal, metros y od_vivienda los cuales representan el código postal asignado a la dirección de la vivienda, los metros cuadrados del solar y/o edificio y cualquier otro conjunto de datos que se desee representar con respecto a la vivienda, respectivamente. El tipo de Vivienda podría considerarse como un tipo de entidad débil por existencia con respecto al tipo de entidad ZonaUrbana, pues el lógico considerar que una vivienda no existe si no existe una zona urbana en la que se pueda construir (Supuesto 3). Sin embargo, y si se considera que no existen calles con el mismo nombre ni números iguales en una misma calle, la debilidad no será por identificación, puesto que es posible identificar una vivienda con independencia de la identificación de la zona urbana en la que se encuentre (supuesto 5) Por otra parte, el tipo de entidad Vivienda es posible especializarlo en dos subtipos de entidad: El tipo de entidad CasaParticular, el cual hace referencia a aquellas viviendas en las que solo vive una familia y que puede ser identificada por la agregación de los atributos calle y numero; y el tipo de entidad BloqueCasas, para los cuales es conveniente considerar otros atributos que representen información sobre los metros construidos (metros_c y metros_b) y cualquier otra información de interés (od_casa y od_bloque)

� Tipo de entidad Piso. El cual representa a “cada una de las viviendas que pueden existir en un bloque

de pisos” y que necesitan para su identificación los atributos escalera, planta y puerta. Se trata de un tipo de entidad débil por identificación con respecto al tipo de entidad BloqueCasas puesto que no existe un piso si no existe un bloque, y además es necesario conocer la calle y el numero en el cual se encuentra el bloque para identificar sin ambigüedad un piso del municipio (Supuesto 5).

� Tipo de entidad Persona. El cual representa al objeto del mundo real “personas que viven o son

propietarias de una determinada vivienda”. Para este tipo de entidad se van a considerar cuatro atributos :dni, nombre_persona, apellidos_persona y od_persona (Supuesto 1) Considere que el atributo dni puede servir para identificar sin ambigüedad las entidades de este tipo, por lo que se lo considera identificador principal3. El atributo od_persona representa, en este caso, a cualquier conjunto de atributos que se deseen considerar también.

� Tipo de interrelación ZonaUrbana/Vivienda (Z-V). El cual relaciona los tipos de entidad ZonaUrbana y Vivienda, la interrelación es del tipo 1:N, ya que una vivienda se encuentra en una única zona urbana, por tanto, el tipo de entidad ZonaUrbana participa con las cardinalidades (1,1) en este tipo de interrelación, mientras que una zona urbana pueden existir muchas viviendas. Se puede considerar que una zona urbana tiene existencia independiente de que existan o no viviendas construidas en la misma, por lo que el tipo de entidad Vivienda participa en el tipo de interrelación Z-V con las cardinalidades (0,n), como se puede observar en la figura 4.10 (Supuesto 3).

� Tipo de interrelación Vivienda/Persona. El cual representa la relación existente entre las viviendas y las personas que habitan en las mismas. Se puede ver este tipo de interrelación como una relación exclusiva entre el tipo de entidad Persona y los tipos de entidad CasaParticular y Piso, puesto que una persona vivirá en una, y solo en una, vivienda de un tipo al mismo tiempo, la residencia principal) (Supuesto 1) Así, los tipos de entidad CasaParticular y Piso participan en los tipos de interrelación (PP-P) y (PP-C) con las cardinalidades (0,1), mientras que el tipo de entidad Persona participa de forma exclusiva con las cardinalidades (0,n) (Supuesto 1), considerándose que las viviendas puedan estar deshabitadas o bien habitadas por varias personas (Supuestos 1 , 6)

� Tipo de interrelación Propietario/Vivienda. El cual representa a los propietarios de cada una de las viviendas, tanto pisos como casas particulares. Se trata, como se aprecia en la figura 4.10, de dos tipos de interrelación en los que participa el tipo de entidad Persona, uno con el tipo de entidad Piso (PP-PI), y con el tipo de entidad CasaParticular (PP-CP), puesto que una persona puede ser propietaria de

3 Es evidente que entre las personas consideradas en este problema existirá un gran numero de ellas que carezcan de documento nacional de identidad (los menores de edad), por lo que se puede pensar que no es adecuado tomar este atributo como identificador principal. La elección se ha realizado simplemente para no añadir una mayor complejidad a este ejercicio.

Page 24: 02 UPLA Modelo Entidad Relacion

Base de Datos 24

Ing. Henry George Maquera Quispe

cualquier tipo de vivienda. Como se ha considerado que una vivienda solo puede ser propiedad de una y solo una persona, el tipo de entidad Persona participa en estos tipos de interrelación con las cardinalidades (1,1) (Supuesto 2). Por otro lado, una persona puede ser propietaria de ninguna, una o varias viviendas, por lo que los tipos de entidad CasaParticular y Piso participan con la cardinalidad (0,n).

� Tipo de interrelación Piso/BloqueCasas (P-BC). El cual representa a los pisos que existen en cada

uno de los bloques de casas. Se considera que un bloque de casas esta formado por dos o mas pisos, por lo que el tipo de entidad Piso interviene en este tipo de interrelación con las cardinalidades (2,n), mientras que un piso solo se encuentra ubicado en un bloque de casas, interviniendo el tipo de entidad BloqueCasas con las cardinalidades (1,1) (Supuesto 7).

� Tipo de interrelación Persona/Persona (PP-PP). El cual representa la relación existente entre cada

persona con su cabeza de familia. Se trata de un tipo de interrelación reflexiva en la que, por un lado, una persona puede ser cabeza de familia de una o varias personas (cada persona es al menos cabeza de familia de una persona, ella misma) – cardinalidad (1,n) – mientras que, por otro lado, una persona solo tiene como cabeza de familia a una y solo una persona - cardinalidad (1,1) -. Por tanto, y como se muestra en la figura 4.10, se trata de una relación reflexiva 1:N entre el tipo de entidad Persona con el mismo. Este tipo de interrelación tiene su razón de ser en base al enunciado del problema en el cual se indica que es de interés el conocimiento de la relación familiar de las personas que habitan en la misma o distinta vivienda (Supuesto 6).

Figura 4.10. Propuesta de solución al problema dado