Nombre: Cesar Augusto Berríos Mesía | Curso: Base de Datos | Ciclo: 2011-2 | Profesor: Luis Enrique Serna Jherry Conceptos Avanzados de Modelo de Datos y Base de Datos Orientadas a Objetos: 2011

jueves, 22 de septiembre de 2011

BDOO: Uso de los objetos complejos estructurados, los no estructurados y la extensibilidad de tipos

La diferencia entre un objeto complejo estructurado y uno no estructurado consiste en que la estructura del objeto se define por aplicación repetida de los constructores de tipos provistos por el SGBDOO. Así, la estructura del objeto está definida y el SGBDOO la conoce.

Existen dos tipos de semántica de referencia entre un objeto complejo y sus componentes en cada nivel. El primer tipo, que llamamos semántica de propiedad, se aplica cuando los subobjetos de un objeto complejo están encapsulados dentro de éste y, por ello, se consideran parte de él. El segundo tipo denominado semántica de referencia, se aplica cuando los componentes del objeto complejo son ellos mismos objetos independientes, pero en ocasiones pueden considerarse parte del objeto complejo. 

El primer tipo se conoce también como el vínculo es-parte-de o es-componente-de; y el segundo tipo se denomina vínculo está-asociado-a, pues describe una asociación equitativa entre dos objetos independientes. El vínculo es-parte -de tiene la característica de que los objetos componentes están encapsulados dentro del objeto complejo y se consideran parte de la estructura interna del objeto. Sólo los métodos de ese objeto pueden tener acceso a ellos, y se eliminan si el objeto mismo se elimina. Por otro lado, un objeto complejo cuyos componentes sean referidos se considera formado por objetos independientes que pueden tener su propia identidad y métodos. Cuando un objeto complejo necesita tener acceso a sus componentes referidos, debe hacerlo invocando los métodos apropiados de los componentes, ya que no están encapsulados dentro del objeto complejo. 

Los SGBDOO deben ofrecer opciones de almacenamiento para formar grupos con lo objetos componentes de un objeto complejo en almacenamiento secundario, a fin de aumentar la eficiencia de las operaciones que tiene acceso al objeto complejo. En muchos casos la estructura del objeto se almacena en páginas de disco. Cuando se lee a la memoria una página de disco que incluye un objeto, el SGBDOO puede construir el objeto complejo estructurado a partir de la información contenida en la página, la cual puede hacer referencia a páginas de disco adicionales que será preciso obtener. Esto se conoce como ensamble de objetos complejos

miércoles, 21 de septiembre de 2011

BDOO: Diseño de bases de datos OO por transformación EER-OO

La transformación de ERR a OO es como sigue:

Primer paso: Crear una clase OO para cada clase EER. El tipo de la clase Oo deberá incluir todos los atributos de la clase EER mediante un constructor de tupla en el nivel superior del tipo. Los atributos multivaluados se declaran a través de los constructores de bolsa, de conjunto o de lista. Si los valores del atributo multivaluado de un objeto deben estar ordenados, se eligirá el constructor de lista; si se permiten duplicados, deberá escogerse el constructor de bolsa. Los atributos compuestos se declaran con un constructor de tupla.

Segundo paso: Añadir atributos de referencia para cada vínculo binario a las clases OO que participen del vínculo. Los atributos pueden crearse en una dirección o en ambas; serán monovaluados para los vínculos binarios en la dirección 1:1 o N:1 y con valor de conjunto o con valor de lista para los vínculos en la dirección 1:N o M:N. Si un vínculo binario se representa con referencias en ambas direcciones, se debe declarar que cada referencia es el inverso de la otra, si existe el recurso para hacerlo. Si hay atributos de vínculo, puedo usarse un constructor de tupla para crear una estructura de la forma, la cual se incluye en lugar del atributo de referencia.

Tercer paso: Incluir métodos apropiados para cada clase. Éstos no están disponibles en el esquema ERR y se deberán agregar al diseño de la base de datos según se necesiten. Todo método constructor deberá incluir código que verifique cualesquier restricciones que se deben cumplir al crearse un nuevo objeto. Todo método destructor deberá verificar cualesquier restricciones que pudieran violarse al eliminarse el objeto. 

Cuarto paso: Una clase OO que corresponda a una subclase en el esquema EER heredará el tipo y los métodos de su o sur superclases en el esquema OO.

Quinto paso: Los tipos de entidades débiles que no participan en ningún otro vínculo además de su vínculo de identificación se pueden transformar como si fueran atributos multivaluados compuestos del tipo de entidades propietario, empleando el constructor set(tuple())

Sexto paso: Los vínculos n-arios con n>2 pueden transformarse a un tipo de objetos aparte, con referencias apropiada a cada uno de los tipo de objetos participantes. Estas referencias se basan en hacer corresponder un vínculo 1:N de cada uno de los tipos de entidades participantes con el vínculo n-ario.

BDOO: Ejemplo de SGBDOO

Sistema O2 de O2 Technology

  • Definición de Datos:
El esquema define los tipos y las clases de objetos del sistema. Usando los tipos atómicos podemos definir los tipos de objetos. Los tipos atómicos pueden ser booleanos, de carácter, entero, real, de cadena y de bit. Los constructores son tuplas, listas, conjuntos y conjuntos únicos.

En O2, se realiza una distinción entre valores y objetos. Mientras que un valor tiene sólo un tipo y se representa a sí mismo, un objeto pertenece a una clase y por tanto tiene un tipo y un comportamiento especificado por los métodos de la clase. En adición, un objeto tiene un OID y un estado, mientras que un valor no tiene OID.

El lenguaje que usa es el O2C, que sirve para definir clases, métodos y tipos, y para crear objetos y valores. Los objetos son persistentes o transistorios.

O2 permite también la herencia múltiple, donde una clase hereda el tipo y los métodos de dos o más clases. Los vínculos clase/subclase y la herencia se especifican en O2 usando la palabra inherit en la declaración de subclase.

  • Manipulación de Datos:
Las aplicaciones en O2 pueden crearse de dos formas con lenguajes de programación. En un primer caso, se puede usar los lenguajes de consulta y de programación propios de O2, O2SQL y O2C. Por otro lado se puede usar O2 como sistema de almacenamiento de objetos persistentes para otro lenguaje autónomo, como C++, y crear la aplicación en ese lenguaje.
  • Panorama sobre la arquitectura del sistema O2:
El O2Engine se encarga en gran parte de la funcionalidad del SGBD, como proporcionar recursos de almacenamiento, obtención y actualización de objetos almacenados persistentemente que pueden ser compartidos por múltiples programas. Pone en práctica los mecanismos de control de concurrencia, recuperación y seguridad comunes en los sistemas de bases de datos.

En el nivel funcional, O2Engine tiene tres componentes principales. El componente de almacenamiento, en el nivel más bajo, es una extensión  de un sistema de almacenamiento llamado WISS. La implementación de este nivel está dividida entre el cliente y el servidor. El gestor de objetos se encarga de estructurar objetos y valores, formar grupos de objetos relacionados en páginas de disco, indizar objetos, mantener la identidada de los objetos, efectuar operaciones con objetos, etc.


BDOO: Jerarquías de tipos, de clases y herencia.

Jerarquía de Tipos y Herencia


Los esquemas de BDOO suelen necesitar un gran número de clases. Sin embargo, varias clases son parecidas entre sí.

Para permitir la representación directa de parecidos entre las clases, hay que ubicarlas en una jerarquía de especializaciones. El concepto de jerarquía de clases es parecido al de especialización del modelo E-R. Las especializaciones de las clases son denominadas subclases; lo cual especifica atributos y métodos adicionales para una clase existente. Los objetos creados por medio de una sub clases heredan todos los atributos y  métodos de la clase padre. Algunas de estas características heredadas pueden ellas mismas haber sido heredadas de clases más altas en la jerarquía.  Ejemplo:


Ejemplo: (Gráfico)

Class persona {
          string nombre;
          strin  dirección;
};
Class cliente isa persona {
          int interés-prestamo;
};
Class empleado isa persona{
          date fecha de alta;
          int  sueldo;
};
Class  secretaria isa empleado {
           int  velocidad;
           int horas-trabajadas

Herencia

Un tipo de objeto de alto nivel puede especializarse en tipos de objeto de bajo nivel. Un tipo de objeto puede tener subtipos. Por ejemplo, el tipo de objeto persona puede tener subtipos estudiante y empleado. A su vez, el tipo de objeto estudiante puede tener como subtipo estudiante de pregrado y estudiante de postgrado, mientras que empleado puede tener como subtipo a académico y administrativo. Existe de este modo una jerarquía de tipos, subtipos, subsubtipos, etc.

Una clase implanta el tipo de objeto. Una subclase hereda propiedades de su clase padre; una sub-subclase hereda propiedades de las subclases; etc. Una subclase puede heredar la estructura de datos y los métodos, o algunos de los métodos, de su superclase. También tiene sus métodos e incluso tipos de datos propios.

Jerarquía de Clases





BDOO: Estructuras de Objetos, Constructores de Tipos, Encapsulamiento de Operaciones, Métodos y Persistencia.

Estructura de Objetos


 El modelo orientado a objetos se basa en encapsular código y datos en una única unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes.

Un objeto tiene asociado:
  • Un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto.
  • Un conjunto de mensajes a los que el objeto responde.
  • Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje.
    El término mensaje en un contexto orientado a objetos, no implica el uso de un mensaje físico en una red de computadoras, si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación.

    La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está considerada como una de las mayores ventajas del modelo de programación orientado a objetos.

Constructores de Tipos

En las BDOO, los valores (o estados) de los objetos complejos se pueden construir a partir de otros objetos mediante cierto constructores de tipos. una forma de representar tales objetos es considerando cada objeto como tripleta (i, c, v), donde i es un identificafor de objeto único (OID), c es un constructor y v es el valor o estado del objeto. Puede haber varios constructores, según el modelo de datos y el Sistema Operativo.

Los tres constructores básicos son:
  • Constructores de Átomos: Los átomos son como las constantes y los identificadores de un lenguaje imperativo: incluye los números, las cadenas, los nombres, las funciones y unos cuantos constructores.
  • Constructores de Tuplas: Son importantes porque proporcionan un medio natural para representar los componentes o propiedades de entidad, sólo puede ser aplicado a valores atómicos.
  • Constructores de Conjuntos: Son cruciales porque son una forma natural de representar las colecciones del mundo real y se utilizan para definir atributos multi-elevados, sólo se puede aplicar a tuplas.
Otros constructores de uso más común son los de listas y de arreglos. También existe un dominio D que contiene todos los valores atómicos básicos que están disponibles directamente en el sistema. Por lo regular estos incluyen los entero, los números reales, las cadenas de caracteres, los tipos booleanos, las fechas y cualesquiera otros tipos de datos que el sistema maneja directamente.

Encapsulamiento de Operaciones

El encapsulamiento se centra en la implementación que da lugar al comportamiento observable de un objeto. El encapsulamiento se consigue a  menudo mediante la ocultación de información, es decir, se basa en ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales. El encapsulamiento proporciona, por tanto, barreras explícitas entre abstracciones diferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], la primera y original que es la del lenguaje de programación; y la segunda que es la adaptación de esa visión para la base de datos.

Desde el punto de vista de las bases de datos, esto se traduce en el hecho de que un objeto abarca operaciones y datos, pero con una diferencia. En las bases de datos no está claro si la parte estructural es parte de la interfaz (depende del sistema), mientras que en los lenguajes de programación la estructura de datos es claramente parte de la implementación y no de la interfaz. Como se puede observar, el encapsulamiento proporciona una forma lógica de independencia de los datos, ya que se puede cambiar la implementación de un tipo sin cambiar ninguno de los programas que usan ese tipo.

Métodos

Una operación que realiza acceso a los datos. Podemos definir método como un programa procedimental o procedural escrito en cualquier lenguaje, que está asociado a un objeto determinado y cuya ejecución sólo puede desencadenarse a través de un mensaje recibido por éste o por sus descendientes.
Son sinónimos de 'método' todos aquellos términos que se han aplicado tradicionalmente a los programas, como procedimiento, función, rutina, etc. Sin embargo, es conveniente utilizar el término 'método' para que se distingan claramente las propiedades especiales que adquiere un programa en el entorno OOP, que afectan fundamentalmente a la forma de invocarlo (únicamente a través de un mensaje) y a su campo de acción, limitado a un objeto y a sus descendientes, aunque posiblemente no a todos.
Si los métodos son programas, se deduce que podrían tener argumentos, o parámetros. Puesto que los métodos pueden heredarse de unos objetos a otros, un objeto puede disponer de un método de dos maneras diferentes:
-Métodos propios. Están incluídos dentro de la cápsula del objeto.
-Métodos heredados. Estan definidos en un objeto diferente, antepasado de éste (padre,"abuelo", etc.). A veces estos métodos se llaman métodos miembro porque el objeto los posee por el mero hecho de ser miembro de una clase.

Persistencia
Es la resistencia de un objeto a variar en el tiempo, la idea de estas base de datos es que puedan recuperar los objetos creados o guardados.

martes, 20 de septiembre de 2011

Uso de las Categorías y la Categorización

Categoría:


Subclase que representa una colección de objetos, que son un subconjunto de la unión de distintos tipos de entidad.

Una categoría siempre tiene dos o más superclases (que son distintos tipos de entidad). Una Relación superclase/subclase sólo tiene una única superclase.

Una categoría es similar a una subclase compartida pero:
  • Una subclase compartida debe pertenecer a todas sus superclases y hereda los atributos de todas ellas: Es un subconjunto de la intersección de las superclases.
  • Una categoría es un subconjunto de la unión disjunta de varias superclases: Los miembros de una categoría deben pertenecer a una de las superclases (no a todas) y heredan sólo los atributos de la superclase a la que pertenezcan.

Participación en una Categoría:

Total: Si todas las superclases de la Categoría deben ser miembros de la Categoría. Una Categoría total también puede modelarse como Generalización Disjunta, lo cual es preferible si las entidades tienen muchos atributos/relaciones comunes.

Parcial: Si no todas las superclases deben ser miembros de la Categoría.

• Así pues, en una categorización, la subclase o Categoría, debe pertenecer siempre a UNA y SOLO UNA de las superclases, pero las superclases no tienen que pertenecer a la Categoría. Si las superclases deben pertenecer a la categoría entonces tenemos una Categoría TOTAL y se puede representar también como una Generalización disjunta. Recordemos que en toda Generalización todos los miembros de las subclases deben ser también miembros de la superclase. Al revés sólo se cumple si es TOTAL (y no se cumple si es PARCIAL).




Modelado de Datos con Especialización y Generalización



Dependiendo de que las ocurrencias de alguna subclase puedan aparecer o no en más de una subclase podemos diferenciar entre: 

  • Subclases disjuntas. 
  • Subclases solapadas. 

Cuando una ocurrencia de la superclase puede aparecer en más de una subclase decimos que las subclases son solapadas. 


Se representa por la letra 'o' (overlapping)





Cuando una ocurrencia de la superclase solo aparece en una única subclase decimos que las subclases son disjuntas. 


Se representa por la letra 'd' (disjoint) : 




Atendiendo al nivel de recubrimiento de la población (ejemplares/ocurrencias) de la superclase respecto a la población de las superclases pueden representarse dos tipos de jerarquías: 

• Jerarquía total 
• Jerarquía parcial 

Cuando  toda  ocurrencia de  la  superclase  aparece  al menos  en  una  subclase  se  dice  que  la jerarquía es total. 

Se representa por:

Cuando en la superclase existen ocurrencias que no aparecen en ninguna de las subclases se dice que la jerarquía es parcial.  

Se representa por:


Un ejemplo donde se usan los diagramas:





Modelado de Generalización, Agregación y Asociación

Generalización:

Es el proceso inverso de la especialización. Busca suprimir diferencias entre varios tipos de entidad: Identificar atributos y relaciones comunes, y formar una superclase que los incluya. Genera énfasis en las similitudes, donde cada instancia de la superclase es también una instancia de alguno de los subtipos.


Agregación:

Permite combinar varios tipos de entidad, relacionados mediante un tipo de relación, para formar un tipo de entidad agregada al nivel superior. Es útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad.

  • Agregación Compuesto/Componente: Un todo se obtiene por la unión de diversas partes, que pueden ser objetos distintos y que desempeñan papeles distintos en la agregación.
  • Agregación Colección/Miembro: Un todo se obtiene por la unión de diversas partes  del mismo tipo y que desempeñan el mismo papel en la agregación.


Asociación:

La abstracción de asociación permite asociar o vincular dos entidades independientes. 

Una asociación queda identificada por la identificación de las entidades participantes. Una diferencia entre asociación y agregación es que al eliminar la asociación las entidades participantes siguen existiendo. En la agregación si se elimina la entidad agregada se eliminan además las entidades que la forman.

La forma de representar la asociación según los autores [Elmasri/Navathé2004] consiste en crear una nueva entidad TRABAJA que depende en identificación de TECNICO y PROYECTO. 



Autores como Rob P, Coronell C1 proponen la representación de la asociación como un nuevo tipo de entidad denominada entidad compuesta, definiendo un símbolo que combina la representación de una entidad y una interrelación (tiene el comportamiento de ambas).  De este modo, una entidad compuesta puede, a su vez, participar en otras interrelaciones en el modelo. 


Modelado de las clases, superclases, la especialización, y de retícula

Clase:

Una clase es un grupo de objetos con atributos similares, comportamiento común, relaciones comunes entre objetos, y semántica común. Es un conjunto de Entidades.


Subclase y Superclase:

En el Modelo ER, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se agrupan en otros subconjuntos que tienen un significado propio para los propósitos de la Base de Datos.

Se deben de tomar algunas consideraciones con las Subclases y las Superclases:

  • Una instancia de subtipo también es instancia del supertipo y es la misma instancia, pero con un papel específico distinto.
  • Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipo.
  • Una instancia del supertipo puede no ser miembro de ningún subtipo.



¿Cuándo utilizar Subclases?
  1. Cuando hay atributos que sólo tienen sentido para algunas instancias de un tipo y no para todas.
  2. Cuando hay tipos de relación en los que sólo participan algunas entidades de un tipo y no todas.
Especialización:

El proceso por el que se definen las diferentes subclases de una superclase se como como especialización. El conjunto de subclases se define basándonos en características diferenciadoras de las ocurrencias de entidad de la superclase.

Podemos tener varias especializaciones de una misma entidad basándonos en distintos criterios o discriminantes.


• Especialización Definida por Atributo:

Si todas las subclases de una especialización tienen la condición de 

pertenencia, sobre el mismo atributo discriminador (como TipoCentral).

• Especialización Definida por el Usuario:
Si no existe condición para determinar la pertenencia a una subclase y la 
clasificación se hará individualmente cuando se inserta la entidad.

Retícula:


Una subclase puede tener más de una superclase. Un subtipo puede participar en varias relaciones superclase/subclase.

Diferencias entre el modelo ER y el modelo ERR


Este modelo se obtiene en tiempo de diseño de la base de datos. Fue propuesto por Peter Chen en 1976 y desde entonces se viene utilizando de una forma muy global. 

Se caracteriza por utilizar una serie de símbolos y reglas para representar los datos y sus relaciones. Con este modelo conseguimos representar de manera grafica la estructura lógica de una base de datos.

Los principales elementos del modelo entidad-relación son las entidades con sus atributos y las relaciones entre entidades.

Elementos del modelo Entidad-Relación 

Entidad

Se trata de un objeto del que se recoge información de interés de cara a la base de datos. Gráficamente se representan mediante un rectángulo. Un ejemplo seria la entidad banco, donde se recogerían los datos relativos a ese banco, como puede ser el nombre, el número de sucursal, la dirección, etc.

Dentro de las entidades pueden ser fuertes o débiles. Las fuertes son las que no dependen de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra entidad sino no tienen sentido por ellas mismas.

Relación

Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen mas de dos entidades.

Las relaciones se representas gráficamente con rombos, dentro de ellas se coloca el nombre de la relación.

Otra característica es el tipo de correspondencia entre dos relaciones;
  • 1:1. Uno a uno, a cada ocurrencia de una entidad le corresponde como máximo una ocurrencia de la otra entidad relacionada.
  • 1:N. Uno a Mucho, a cada ocurrencia de la entidad A le pueden corresponder varias de la entidad B.
  • N:M. Muchos a muchos, cada ocurrencia de una entidad puede contener varias de la otra entidad relacionada y viceversa.
Para finalizar las características de la relación tenemos la cardinalidad que define el número máximo y mínimo de ocurrencias de cada tipo de entidad. Se representa con los valores máximo coma mínimo encerrados entre paréntesis encima de la relación. (máximo, mínimo)

Atributo

Se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que haber un atributo principal que identifica a la entidad y su valor tiene que ser único. Un ejemplo de atributo principal seria el dni dentro de la entidad persona.

Ponemos un ejemplo de lo que seria un esquema del modelo entidad-relacion.



Los diagramas Entidad-Relación no cumplen su propósito con eficacia debido a que tienen limitaciones semánticas. Por ese motivo se suelen utilizar los diagramas Entidad-Relación extendidos que incorporan algunos elementos más al lenguaje:

Entidades fuertes y débiles

Cuando una entidad participa en una relación puede adquirir un papel fuerte o débil. Una entidad débil es aquella que no puede existir sin participar en la relación, es decir, aquella que no puede ser unívocamente identificada solamente por sus atributos. Una entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser identificada unívocamente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad débil para que, esta última, se pueda identificar.
Las entidades débiles se representan- mediante un doble rectángulo, es decir, un rectángulo con doble línea.

Cardinalidad de las relaciones

El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relación, respectivamente: "1:1", "1:N" y "N:M", aunque la notación depende del lenguaje utilizado, la que más se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un símbolo cerca de la línea que conecta una entidad con una relación:
  • "0" si cada instancia de la entidad no está obligada a participar en la relación.
  • "1" si toda instancia de la entidad está obligada a participar en la relación y, además, solamente participa una vez.
  • "N" , "M", ó "*" si cada instancia de la entidad no está obligada a participar en la relación y puede hacerlo cualquier número de veces.
Ejemplos de relaciones que expresan cardinalidad:
  • Cada esposo (entidad) está casado (relación) con una única esposa (entidad) y viceversa. Es una relación 1:1.
  • Una factura (entidad) se emite (relación) a una persona (entidad) y sólo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. Es una relación 1:N.
  • Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos. Es una relación N:M.

Atributos en relaciones

Las relaciones también pueden tener atributos asociados. Se representan igual que los atributos de las entidades. Un ejemplo típico son las relaciones de tipo "histórico" donde debe constar una fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura (con distinta fecha). En tal caso, el atributo "Fecha de emisión" de la factura debería colocarse en la relación "se emite".

Herencia

La herencia es un intento de adaptación de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relación entre una entidad "padre" y una entidad "hijo". La entidad "hijo" hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa mediante un triángulo interconectado por líneas a las entidades. La entidad conectada por el vértice superior del triángulo es la entidad "padre". Solamente puede existir una entidad "padre" (herencia simple). Las entidades "hijo" se conectan por la base del triángulo.

Agregación

Es una abstracción a través de la cual las relaciones se tratan como entidades de un nivel más alto. Se utiliza para expresar relaciones entre relaciones o entre entidades y relaciones. Se representa englobando la relación abstraída y las entidades que participan en ella en un rectángulo. En la figura se muestra un ejemplo de agregación en el que se representa la situación en la que un profesor, cuando está impartiendo una clase, puede poner una incidencia ocurrida a lo largo de ésta (se fue la luz, falta la configuración de un determinado software, etc.).



Fuentes:


http://www.desarrolloweb.com/articulos/modelo-entidad-relacion.html

http://es.wikipedia.org/wiki/Modelo_entidad-relaci%C3%B3n#Diagramas_extendidos

Introducción

Hola!

En este blog mencionaremos y explicaremos algunos conceptos avanzados de modelo de datos como el modelo Entidad-Relación (ER) y el modelo Entidad-Relación Extendido (ERR); modelado de clases, superclases, la especialización y de retícula. Además del modelado de generalización, agregación y asociación. Especialización y generalización del modelado de datos.

Por otro lado, también se mencionará Base de Datos Orientadas a Objetos, todo acerca de su estructura de objetos, encapsulamiento, métodos y persistencia. En adición, mencionaré jerarquías de tipos, de clases y herencia, entre otros temas.

Presentación

Alumno: Cesar Augusto Berríos Mesía
Curso: Base de Datos
Profesor: Luis Enrique Serna Jherry
Ciclo: 2011-2