Está en la página 1de 53

Tipos de relacin con grado superior

a
dos
(v)
Otra solucin: relacin ternaria como entidad dbil
(Entidad Asociativa)
[EN2002]
(1,1)
REALIZA

(1,n)

fecha

cantidad

SUMINISTRO

(1,1)

PROVEEDOR

(1,1)

CONTIENE

(0,n)
PRODUCTO

RECIBE

idprov

(1,n)
nombre

TIENDA

codpr

Conceptos bsicos del modelo


DOMINIO (values set)
Conjunto de valores

Cada atributo simple est asociado a un dominio, que especifica sus


valores vlidos
Atributo

Dominio

nombre NOMBRES

Descripcin Dominio
cadenas de hasta 30 caracteres alfabticos

telefono TELEFONOS cadenas de hasta 9 caracteres numricos

altura

MEDIDAS

nmeros reales entre 0 y 25 (metros)

...

...

...

No suele representarse,
aunque una forma de
hacerlo sera:

nombre

EMPLEADO telefono

[MPM1999]

altura

NOMBRES
TELEFONOS
MEDIDAS

Extensiones del modelo


Modelo Entidad-Relacin Extendido, MERE
Enhanced Entity-Relationship model, EER

Aportaciones de diversos autores al modelo


Entidad-Relacin bsico.
Permiten representar...
Relaciones exclusivas entre s
Jerarquas de Especializacin/Generalizacin
Agregacin de entidades

Extensiones del modelo


Relaciones Exclusivas
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 relacin
VEHCULO

CONSUME

GASTA

GASOIL

GASOLINA

CONSUME y GASTA son exclusivas respecto del tipo de


entidad VEHICULO

Clases y Subclases
Subagrupaciones de un tipo de entidad.
Especializacin, es el proceso de definir un conjunto de
subclases de un tipo de entidad denominada superclase.
El conjunto de subclases se definen a partir de alguna
caracterstica distintiva de las entidades de la superclase.
Generalizacin, proceso inverso de abstraccin en el que se
suprimen loas diferencias entre varios tipos de entidad, se
identifican rasgos comunes y se generalizan en una sola
superclase.

Extensiones del modelo


Especializacin/Generalizacin (E/G)
Caso especial de relacin entre un tipo de entidad y varios
otros tipos de entidad
La jerarqua o relacin que se establece entre uno y otros
corresponde a la nocin de es_un o de es_un_tipo_de
Estas jerarquas pueden formarse por especializacin o
bien por generalizacin

Extensiones del modelo


E/G: Subtipo de un tipo de entidad
Agrupacin de instancias dentro de un tipo de entidad, que
debe representarse explcitamente debido a su
importancia para el diseo o aplicacin
Subtipos del tipo de entidad VEHCULO:

CAMIN
TURISMO
AUTOBS
CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO:


SECRETARIO
GERENTE
COMERCIAL

El tipo de entidad que se especializa en otros se llama


supertipo o superclase ( VEHICULO, EMPLEADO )

Extensiones del modelo


E/G: Relacin Supertipo/Subtipo
Es la relacin que se establece entre un
supertipo y cada uno de sus subtipos

EMPLEADO

[EN2002]

(nocin es_un o es_un_tipo_de)

Notacin:

EMPLEADO
SECRETARIO

SECRETARIO

GERENTE

GERENTE

EMPLEADO

COMERCIAL

[MPM1999]

COMERCIAL

[SKS1998]

ES

SECRETARIO

GERENTE

COMERCIAL

Extensiones del modelo


E/G: Relacin Supertipo/Subtipo (ii)
La extensin de un subtipo es un subconjunto de la extensin del supertipo
Una instancia de subtipo tambin es instancia del supertipo y es la misma
instancia, pero con un papel especfico distinto
Una instancia no puede existir slo por ser miembro de un subtipo: tambin
debe ser miembro del supertipo
Una instancia del supertipo puede no ser miembro de ningn subtipo
VEHCULO

CAMIN

TURISMO

EMPLEADO_HOSPITAL

CICLOMOTOR

MDICO

CELADOR ENFERMERO LIMPIADOR

Extensiones del modelo


E/G: Herencia de tipo
Un subtipo puede tener atributos propios (especficos) y
participar en relaciones por separado
Un subtipo hereda todos los atributos del supertipo, y
toda relacin en la que participa el supertipo
Un subtipo, con sus atributos y relaciones especficos, ms los
atributos y relaciones que hereda del supertipo, es un tipo de
entidad por derecho propio
numBastidor
precio

VEHCULO

(1,n)

FABRICA

(1,1)
CAMIN

FABRICANTE

N:1

[MPM1999]
numEjes

(1,1)

TURISMO

tonelaje numPuer

MOTOCICLETA

numPlazas

ID
LLEVA

cilindrada 1:1

(0,1)
SIDECAR

Extensiones del modelo


E/G: Especializacin
Proceso de definicin de un conjunto de subtipos de un
tipo de entidad ( supertipo)
Subtipos suelen estar definidos segn caracterstica
distintiva de las entidades del supertipo
Discriminante de la especializacin
EMPLEADO

[MPM1999]

actividad
SECRETARIO

GERENTE

COMERCIAL

Extensiones del modelo


E/G: Especializacin (ii)
Varias especializaciones de un tipo de entidad,
con base en diferentes discriminantes

[MPM1999]

VEHCULO

motorS/N

VEHCULO_A_MOTOR

tipo

VEHCULO_SIN_MOTOR

CAMIN TURISMO

PELCULA

gnero

DRAMA TERROR

COMEDIA

MOTOCICLETA

color

BLANCO_Y_NEGRO

[EN2002]

COLOR

Extensiones del modelo


E/G: Especializacin (iii)
Conviene incluir relaciones subtipo/supertipo si hay...
Atributos que slo tienen sentido para algunas instancias de un tipo
y no para todas (atributos especficos)
especialidadMdica no es aplicable a CELADOR
Tipos de relacin en los que slo participan algunas entidades de
un tipo y no todas (relaciones especficas)
Relacin SUPERVISA entre CELADOR y SECCIN_HOSPITAL
1:1

[MPM1999]

CELADOR

(1,1)

SUPERVISA

(1,1)

SECCIN_HOSPITAL

Extensiones del modelo


E/G: Generalizacin
Proceso inverso de la especializacin
Suprimir diferencias entre varios tipos de entidad:
identificar atributos y relaciones comunes, y formar un
supertipo que los incluya
numBastidor
precio

CAMIN

numEjes

numBastidor
precio

numBastidor

fechaFab

VEHCULO

precio

tonelaje

CAMIN

fechaFab

TURISMO

fechaFab
numEjes
TURISMO

numPuer

tonelaje

numPuer

[EN2002]

Extensiones del modelo


E/G: Generalizacin vs. Especializacin

Generalizacin
nfasis en las similitudes
Cada instancia del supertipo es tambin una instancia
de alguno de los subtipos

Especializacin
nfasis en las diferencias
Alguna instancia del supertipo puede no ser instancia
de ningn subtipo

Extensiones del modelo


Restricciones sobre la E/G
Definicin
Qu instancias del supertipo pertenecen a cada subtipo?

Disyuncin/Solapamiento
A cuntos subtipos puede pertenecer (a la vez) una instancia del supertipo?

Completitud/Parcialidad
Debe toda instancia del supertipo pertenecer a algn subtipo?

Extensiones del modelo


Restricciones sobre la E/G: Definicin
Subtipos definidos por predicado o condicin
Condicin de pertenencia a cada subtipo
con base en el valor de algn atributo del supertipo
Restriccin que especifica que...
Las instancias del subtipo deben satisfacer la condicin
Todas las instancias del supertipo que cumplen la condicin,
deben pertenecer al subtipo
PERSONA

estadoLaboral=en_activo
EMPLEADO

[EN2002]
matriculado=true

ESTUDIANTE

Extensiones del modelo


Restricciones sobre la E/G: Definicin (ii)
Subtipos definidos por atributo
Todas las subclases definen la condicin de pertenencia en
trminos del mismo atributo
... es el discriminante de la especializacin
EMPLEADO_HOSPITAL

PERSONA

estadoLaboral
en_activo
EMPLEADO

en_paro

claseTrabajo
mdico

PARADO
MDICO

[EN2002]

celador

enfermero

CELADOR

limpiador

ENFERMERO

[MPM1999]

LIMPIADOR

Extensiones del modelo


Restricciones sobre la E/G: Definicin (iii)
Subtipos definidos por el usuario
No existe (o no interesa definir) ninguna condicin de pertenencia
a los subtipos
El usuario, al insertar una instancia, elige a qu subtipo pertenece

PROFESOR

TITULAR

AYUDANTE

[MPM1999]

ASOCIADO

Extensiones del modelo


Restricciones sobre la E/G:

Disyuncin/Solapamiento
Subtipos disjuntos si una instancia del supertipo puede ser
miembro de, como mximo, uno de los subtipos
VEHCULO

VEHCULO

d
TURISMO

CAMIN

[EN2002]

TURISMO

CAMIN

[MPM1999]

Extensiones del modelo


Restricciones sobre la E/G:
Disyuncin/Solapamiento (ii)
Subtipos solapados si una instancia del supertipo puede
ser, a la vez, miembro de ms de un subtipo
Es la opcin por defecto
PERSONA

PERSONA

o
EMPLEADO

ESTUDIANTE

[EN2002]

EMPLEADO

ESTUDIANTE

[MPM1999]

Extensiones del modelo


Restricciones sobre la E/G:

Completitud/Parcialidad
Especializacin total (completa) indica que toda instancia
del supertipo tambin debe ser instancia de algn subtipo
ANIMAL

ANIMAL

d
MACHO

HEMBRA

HERMAFRODITA

[EN2002]

MACHO

HEMBRA

HERMAFRODITA

[MPM1999]

Extensiones del modelo


Restricciones sobre la E/G:
Completitud/Parcialidad (ii)
Especializacin parcial indica que es posible que alguna
instancia del supertipo no pertenezca a ninguno de los
subtipos
Es la opcin por defecto
La unin de las extensiones de los subtipos no es la
extensin del supertipo en su totalidad
ALIMENTO

ALIMENTO

[EN2002]

[MPM1999]
d

LACTEO

FRUTA

VERDURA

LACTEO

FRUTA

VERDURA

Extensiones del modelo


E/G: Tipos de Especializacin
Las restricciones de disyuncin y completitud son
independientes entre s
Dan lugar a 4 tipos de especializacin:
Disjunta y Total
Disjunta y Parcial
Solapada y Total
Solapada y Parcial
Lo veremos con un ejemplo de una base de datos de una
Universidad

Extensiones del modelo


E/G: Especializacin Disjunta y Total
EMPLEADO

ESTUDIANTE
tipo

claseTrabajo

DOCENTE

ADMON_Y_SERV BECARIO

BECARIO

NO_BECARIO

Especializacin Disjunta y Parcial


DOCENTE
cuerpoDocente
AYUDANTE

TITULAR

CATEDRTICO

[MPM1999]

Extensiones del modelo


E/G: Especializacin Solapada y Total
PERSONA
ocupacin

EMPLEADO

[MPM1999]

ESTUDIANTE

Especializacin Solapada y Parcial


EMPLEADO
dedicacin
DOCENTE

INVESTIGADOR

Extensiones del modelo


E/G: Reglas de insercin y eliminacin
Deben aplicarse a la Especializacin y la Generalizacin, debido a
las restricciones definidas
Insertar una instancia en un supertipo implica
insertarla en todos los subtipos definidos por predicado o por
atributo, para los cuales satisface el predicado de definicin
Insertar una instancia en un supertipo de una
especializacin total implica insertarla en, al menos, un subtipo
Y si la especializacin es disjunta, entonces la instancia se
insertar en un nico subtipo

Extensiones del modelo


E/G: Reglas de insercin y eliminacin (ii)
Eliminar una instancia de un supertipo implica
eliminarla de todos los subtipos a los que pertenece
Eliminar una instancia de un subtipo implica eliminarla
del supertipo si la especializacin es ...
disjunta y total, o bien
solapada y total, y la instancia ya slo pertenece al
subtipo (se elimin del resto)
En el resto de casos, la instancia slo se elimina del subtipo
No del supertipo ( lo hara el usuario, si fuese necesario)

Extensiones del modelo


E/G: Jerarquas y Retculas
Hasta ahora hemos estudiado jerarquas de
especializacin en las que se cumple la restriccin:
Todo subtipo participa en slo una relacin
supertipo/subtipo
Un subtipo tiene un nico supertipo: es el concepto de rbol

En una retcula de especializacin...


Un subtipo puede participar en varias relaciones
supertipo/subtipo
Un subtipo puede tener ms de un supertipo

E/G: Ejemplo de Retculas


nombre
[MPM1999]
PERSONA
dni
direccin
sexo

fechaIni DESEMPLEADO

jornada
salario

EMPLEADO

ocupacin

ESTUDIANTE

tipoEstudiante

dedicacin

(1, n) centro

DOCENTE ADMN_Y_SERV
puesto

cuerpoDocente

CATEDRTICO TITULAR NO_NUMERARIO


tipoCtedra

tipoPlaza

jornada
carrera

duracinContrato

BECARIO
beca

NO_BECARIO

Extensiones del modelo


E/G: Jerarquas y Retculas: Herencia mltiple

En las jerarquas de especializacin


Cada subtipo hereda atributos y relaciones...
de su (nico) supertipo directo
y de sus supertipos predecesores, hasta la raz
TITULAR hereda de DOCENTE, EMPLEADO y PERSONA

En las retculas de especializacin


Un subtipo hereda atributos y relaciones...
de sus supertipos (mltiples) directos herencia mltiple
y de todos sus supertipos predecesores, hasta la raz
BECARIO hereda directamente de EMPLEADO y ESTUDIANTE,
e indirectamente hereda de PERSONA
Los subtipos compartidos dan lugar a retculas

Extensiones del modelo


E/G: Jerarquas y Retculas: Herencia mltiple (ii)

En herencia mltiple pueden surgir conflictos al heredar atributos


distintos denominados igual
BECARIO hereda jornada de dos predecesores !!
Cmo resolver esta situacin?
Renombrar algunos de los atributos en conflicto
BECARIO hereda ambos atributos:
jornada corresponde a jornada de EMPLEADO y
jornadaEstudio corresponde a jornada de ESTUDIANTE
Definir un orden de prioridad en la herencia
BECARIO hereda jornada de ESTUDIANTE y no de EMPLEADO

Extensiones del modelo


E/G: Jerarquas y Retculas:

Inhibicin de la herencia
Algunos modelos de datos permiten indicar que ciertos
atributos del supertipo no deben ser heredados por los
subtipos
POLGONO

[MPM1999]

numVrtices
ancho
PENTGONO

TRINGULO

RECTNGULO

alto

CUADRADO

ancho y alto no deberan ser heredados por el subtipo

lado

Extensiones del modelo


E/G: Jerarquas y Retculas:

Redefinicin de atributos heredados


Si un supertipo y un subtipo tienen un atributo con el
mismo nombre, se entiende que el atributo del subtipo
redefine el del supertipo
Se utiliza el mismo nombre y significado semntico
pero se modifica cmo se calcula o cmo se representa el valor
del atributo

Tiene sentido sobre todo para atributos derivados


ancho
rea

RECTNGULO

[MPM1999]

alto
rea

CUADRADO

lado

Extensiones del modelo


E/G: Jerarquas y Retculas:

Tratamiento de la herencia
Consideraremos que en el MERE ...
Los subtipos heredan todos los atributos de los supertipos
Pero se permite la redefinicin de atributos en los subtipos, y la
inhibicin de la herencia de atributos
ancho
rea

RECTNGULO

alto

[MPM1999]
rea

CUADRADO

lado

... y si se da herencia mltiple y existe conflicto de


nombres, el usuario elegir entre
Renombrar algunos atributos en conflicto, o
Inhibir la herencia de algunos atributos

Categoras

Forma de unificar en una sola entidad a


otras dos o ms entidades que son
conceptualmente distintas, pero que
desempean un mismo rol.
La categora representa a una coleccin de
objetos que es (un subconjunto de) la unin
de las entidades que la forman.

Ej.: Las entidades empresa y persona, que


son conceptualmente distintas, pueden
desempear el rol de propietarios de una
cuenta corriente de un banco. Todo titular
es una empresa o una persona.
Las
empresas y personas pueden no ser titulares
de cuenta.

Ejemplo:

Participacin en una categora:

En el ejemplo, c1 y c2 son condiciones que


especifican qu empresas y personas,
respectivamente, son titulares de cuenta
(CategoraParcial).

Categora total: todas las superclases de la


categora deben ser miembros de la
categora. Ej: cada edificio o solar es una
propiedad.

Una subclase compartida debe pertenecer


a todas sus superclases. Hereda los
atributos de todas ellas. La subclase
compartida es la interseccin de las
superclases. Ej.: un becario debe existir
tambin como empleado y alumno.

Categora vs. Subclases compartidas

Los ejemplares de una categora: Deben


pertenecer a una de las superclases, heredan
slo los atributos de la superclase a la que
pertenezcan. La categora es un subconjunto
de la unin de las superclases Ej.: cada
titular de una cuenta existe en las entidades
empresa o persona (pero no en ambas).

Extensiones del modelo


Agregacin de tipos de entidad
Restriccin inherente del MER:
No puede expresar relaciones
entre varias relaciones, ni
entre un tipo de relacin y un tipo de entidad
La agregacin...
Permite combinar varios tipos de entidad, relacionados mediante
un tipo de relacin, para formar un tipo de entidad agregada de
nivel superior
til cuando el tipo de entidad agregado debe relacionarse con
otros tipos de entidad

Extensiones del modelo


Agregacin de tipos de entidad (ii): Ejemplo 1

Esquema en el MERE que almacena informacin sobre las


entrevistas que una ETT organiza entre solicitantes de empleo y
diferentes empresas
nombre
EMPRESA
direccin

[EN2002]
(1,n)
M

ENTREVISTA_A
fecha

nomContacto

(1,m)
N

telefContacto

nif

SOLICITANTE

nombre
telef

Algunas entrevistas dan lugar a ofertas de empleos y otras no


cmo modelamos esto?

Extensiones del modelo


Agregacin de tipos de entidad (iii): Ejemplo 1

Solucin 1: Relacin ternaria


EMPRESA

ENTREVISTA_A

SOLICITANTE

OFERTA_EMPLEO

ERROR!
Toda entrevista da lugar a un empleo

ESO ES FALSO!

[EN2002]

Extensiones del modelo


Agregacin de tipos de entidad (iv): Ejemplo 1
Solucin 2:
EMPRESA

[EN2002]
ENTREVISTA_A

SOLICITANTE

RESULTA_EN

OFERTA_EMPLEO

ERROR!
NO es posible establecer una
relacin entre varias relaciones,
ni entre relaciones y entidades

Extensiones del modelo


Agregacin de tipos de entidad (v): Ejemplo 1

Solucin 3:

EMPRESA

ENTREVISTA_A

SOLICITANTE

ENTREVISTA

Entidad
COMPUESTA o
AGREGADA

RESULTA_EN

[EN2002]

OFERTA_EMPLEO

OK!
OFERTA_EMPLEO tiene dependencia en existencia respecto de
RESULTA_EN

Extensiones del modelo


Agregacin de tipos de entidad (vi): Ejemplo 1
[EN2002]
Solucin 4: Relacin ternaria falsa
nombre

nif

EMPRESA

(0,n)

(0,m)

REALIZA

(1,1)
fecha

ENTREVISTA

nomContacto

SOLICITANTE

(0,1)

telefContacto

GENERA

(1,1)

OFERTA
EMPLEO
idOferta

Tipo de entidad dbil de otros dos


Qu significa que ENTREVISTA tenga fecha como clave parcial?

Extensiones del modelo


Agregacin de tipos de entidad (vii): Ejemplo 1
Solucin 5:

[EN2002]

nombre

nif

EMPRESA

(0,n)
REALIZA

(1,1)

fech
a

SOLICITANTE

(1,1)

ENTREVISTA

(0,1)
GENERA

Tipo de entidad dbil de otros dos

(1,1)

(0,m)
SUFRE

OFERTA
EMPLEO

idOferta

Extensiones del modelo


Agregacin de tipos de entidad (viii): Ejemplo 2
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.)
PROFESOR

EXPLICA

ASIGNATURA

UTILIZA
N

MEDIO

ERROR! no es posible establecer una


relacin entre una relacin y una entidad

[EN2002]

Extensiones del modelo


Agregacin de tipos de entidad (ix): Ejemplo 2

Solucin:

[EN2002]

PROFESOR

EXPLICA

EXPLICACIN
M
Entidad COMPUESTA
o AGREGADA

UTILIZA
N

MEDIO

ASIGNATURA

MER : AGREGACIN
AGREGACIN COMPUESTO / COMPONENTE:
Un todo se obtiene por la unin de diversas partes, que pueden ser objetos
distintos y que desempean papeles distintos en la agregacin.
COCHE
(1,1)
CHASIS

[MPM99]

(4,4)

(1,1)
MOTOR

RUEDA

AGREGACIN COLECCIN / MIEMBRO :


Un todo se obtiene por la unin de diversas partes del mismo tipo y que
desempean el mismo papel en la agregacin.
Se puede establecer orden entre las partes
BOSQUE

ARBOL

FLOTA

{NumBarco}

BARCO

También podría gustarte