Cesar Augusto Rodrguez Meza SUPERCLASES, CLASES Y RELACIONES
Una instancia es una clase que forma a un algo, por ejemplo una
persona es un estudiante, persona es la entidad y estudiante es la
instancia o clase de esa persona, otro ejemplo es una persona es un
trabajador, la relacin es idntica a la anterior. La teora dice:
Todas las instancias de un tipo de entidad comparten el mismo
conjunto de atributos, pero cada atributo quizs no sea requerido
por otras instancias, por ejemplo, una persona es estudiante, pero
tambin es trabajador, esta persona tiene atributos de todas sus
instancias, pero la instancia trabajador puede tener atributos que
no tenga la instancia estudiante como el salario. As que no es
posible generalizar la variable salario directamente en la entidad
persona ya que este no se requiere en la instancia de estudiante. A
continuacin podemos ver el diagrama de Entidad-Relacin de una
entidad persona, con atributos de instancias personales, estudiante
y miembro de la facultad, donde Podemos notar todos los atributos
asociados a la persona.
Fig. 1 Persona con todos los atributos
Podemos notar el problema donde hay atributos que no son
requeridos en otras instancias aparecen o son redundantes, los
cuales reducen el rendimiento de la base de datos. Una forma de
solucionar este problema es creando lo que llamamos Superclase y
subclase, para separar los atributos de la entidad en instancias
diferentes para no generar redundancias en ellos. En nuestro caso
la superclase que nosotros creamos ser la de Persona, y las
subclases sern personales, estudiante y facultad.
Fig. 2 Superclase persona, subclases personales, estudiante y
facultad. Donde cada uno tiene definidos sus atributos propios.
Analizando el diseo, podemos notar que la superclase y las
subclases tienen el tpico diseo de una entidad comn y sus
relaciones con atributos son las tpicas de un modelo
Entidad-Relacin. La diferencia en este caso es que para poder
diferenciar una superclase de una subclase implementamos una
relacin directa de superclase a subclase con un crculo y unas
flechas que apuntan desde la superclase hacia las subclases.
A continuacin podemos observar un esquema general de una relacin
superclase, subclase con sus atributos.
Fig. 3 Esquema general superclase y subclases con sus atributos.
Las principales razones para incluir en el esquema de
Entidad-Relacin las superclases y subclases son las siguientes: 1.
Se mantiene limpia la estructura del esquema para entender mejor el
concepto. 2. Aade la informacin semntica familiar a un diagrama
considerando dos condiciones. a. Si ciertos atributos solo aplican
a algunas subclases y no a todas las de una entidad. b. Una
instancia de un subtipo participa en una relacin nica para otra
relacin. En este tipo de esquema E-R implementando las superclases
y subclases, todos los atributos de la superclases son heredados
por las subclases. Las subclases no necesitan su propio
identificador ya que el identificador de la superclase es heredado
por las subclases. Las subclases tambin pueden tener sus propios
atributos y relaciones.
Ejemplo:
Fig. 4 Esquema general superclase y subclases con sus atributos
y relaciones en subclases.
PROCESO DE GENERALIZACIN Y ESPECIALIZACIN
Son los procesos para poder definir la superclase y las
subclases, teniendo en cuenta los atributos. GENERALIZACION Tomamos
este ejemplo:
Fig. 5 Esquema E-R antes de la generalizacin. El proceso de
generalizacin busca agrupar los atributos comunes en cada entidad
para as poder crear una superclase que modele nuestro diagrama de
relacin con un enfoque de abajo hacia arriba. Las entidades que
quedan se convierten en subclases y los atributos que no se repiten
son los atributos de estas subclases.
Fig. 6 Esquema E-R despus de la generalizacin.
ESPECIALIZACIN Es el proceso con el cual definimos una o ms
subclases de una superclase mediante la identificacin de sus
caractersticas principales, la diferencia con la generalizacin es
que se le da un enfoque de arriba hacia abajo. Este proceso
comienza creando la superclase con los atributos generales y despus
formando las subclases con los atributos especializados o
relaciones especficas que quedan.
Tomamos este ejemplo:
Fig. 7 Esquema E-R despus antes de la especializacin.
Fig. 8 Esquema E-R despus de la especializacin.
PARTICIPACION O NO PARTICIPACION LIMITADA
Una participacin limitada, nos muestra la participacin de una
superclase directamente en una subclase, la cual puede ser
obligatoria o no. La participacin obligatoria tambin es conocida
como la regla de total participacin, esta nos define que cada
instancia de una superclase solo puede ser una instancia de una de
sus subclases. Tomamos este ejemplo:
Fig. 8 Esquema E-R donde podemos ver la total participacin del
estudiante. En el ejemplo anterior podemos ver que el estudiante
solo puede ser graduado o no graduado de forma obligatoria, a esta
restriccin la llamamos participacin obligatoria, la cual podemos
notar con doble lnea antes del crculo que nos define la superclase
y la subclase.
La regla de la participacin parcial esta nos dice que una
instancia de una superclase no tiene que ser obligatoriamente una
instancia de una subclase. Tomamos como ejemplo:
Fig. 9 Esquema E-R donde podemos ver la participacin parcial del
estudiante. En el ejemplo anterior podemos ver que un tem de la
librera puede ser un libro, un diario, un video cd o ninguno de
estos. En este caso utilizamos la notacin normal. Disjoint Rule,
esta regla nos dice que una instancia de una superclase hacia una
subclase tiene que ser nicamente 1, de ah el disjoint (no
participa) donde la instancia hacia una subclase no participa en
las dems.
Tomamos como ejemplo:
Fig. 10 Esquema E-R donde podemos ver que si un estudiante es
graduado automticamente no participa en la subclase no graduado. En
el ejemplo anterior vemos como si una superclase tiene una
instancia hacia una subclase automticamente deja de participar en
las otras subclases (no se puede instanciar otras subclases) o es
una subclase o la otra. Para determinar este tipo de participacin
dentro del crculo que nos define una subclase y una superclase
colocamos la letra D. Overlap rule, esta regla nos dice que si una
superclase hace una instancia hacia una subclase, tambin puede
hacer instancias a otra subclase.
Tomamos como ejemplo:
Fig. 11 Esquema E-R donde podemos ver que si una persona es un
estudiante tambin puede participar en la facultad. En el ejemplo
anterior podemos ver que una subclase puede instanciar a varias
subclases al mismo tiempo. Para determinar este tipo de
participacin dentro del crculo que nos define una subclase y una
superclase colocamos la letra O.