Euro Castillo
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

[U2] - DISEÑO AVANZADO DE BD

Ir abajo

[U2] - DISEÑO AVANZADO DE BD Empty [U2] - DISEÑO AVANZADO DE BD

Mensaje  o0euro0o Mar Feb 28, 2012 8:55 am

Unidad 2: Diseño Avanzado de BD

  • Calidad de Esquemas
  • Paradigmas de Bases de Datos
  • Estrategias de Diseño: OO Conceptual, Objeto Relacional
  • Esquema Conceptual: ER, ER Extendido, OO Conceptual, Objeto
  • Relacional, OO Dinámico, BD Activas




Base de datos relacionalBase de datos orientada a objetosBase de datos objeto-relacional
Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas.

Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas.
En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos.

Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system).
Las Base de Datos Objeto Relacional son extensión de las base de datos relacional tradicional, a la cual se le proporcionan características de la programación orientada a objetos.

Las bases de datos objeto-relacionales son la evolución natural de las bases de datos orientadas a objetos puras y las relacionales puras, debido a las limitaciones de ambas.
Características:

  • Una base de datos relacional se compone de varias tablas o relaciones.
  • No pueden existir dos tablas con el mismo nombre ni registro.
  • Cada tabla es a su vez un conjunto de registros (filas y columnas).
  • La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).
  • Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.
  • Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones.

Características:

  • Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.
  • Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación.
  • Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos.
  • Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Características:

  • Herencia: La herencia de tipos indica que el subtipo hereda la estructura y el comportamiento del supertipo, pudiendo además incluir características propias.
    La herencia de tablas hace referencia a la parte extensional de un jerarquía, es decir , al principio de clasificación por el que toda instancia del subtipo es también una instancia del supertipo; para definir una jerarquía de tablas tanto la subtabla como la supertabla deben ser tipadas. Las subtablas heredan los atributos, restricciones, disparadores, etc. De la supertabla.
  • Sustitutabilidad: Se asegura que cualquier dato de un supertipo puede ser sustituido por un dato de cualquiera de sus subtipos.
  • Vinculación dinámica: La herencia de tipos puede dar lugar a la sobrecarga o polimorfismo de métodos, es decir, se puede redefinir la implementación de un método heredado al definir un subtipo.
  • Métodos: Los métodos son funciones SQL ligadas a un tipo estructurado que representan el comportamiento de dicho tipo. La signatura del método se especifica junto a la definición del tipo de datos al que va ligado. La especificación de su cuerpo se define separada.


Ejemplo: Base de datos orientada a objetos
En la ilustración se muestra un ejemplo que muestra un esquema de bases de datos orientada a objetos, con una simbología semejante a UML.

En la ilustración, cada nodo representa una clase, y se compone de 3 niveles: nombre de la clase, atributos y métodos. Los atributos que tienen el símbolo “*” son atributos multivaluados.

Los nodos se pueden conectar por dos tipos de arcos:

  • Un arco normal (línea delgada) indica que la clase del destino de la flecha es el dominio de un atributo de la clase origen o el resultado de un método de la clase origen. Esto se puede ver, por ejemplo, en el atributo documento de la clase Proyecto, cuyo dominio es la clase Documento.
  • Un arco grueso indica que la clase origen de la flecha es una subclase de la clase destino (herencia). Esta relación se puede apreciar entre las clases Informe Técnico o la clase Artículo y Documento, siendo ésta última la superclase de las dos anteriores.

En este ejemplo, además, se pueden contemplar relaciones interobjeto 1:M, como por ejemplo entre Proyecto.documento y Documento
[U2] - DISEÑO AVANZADO DE BD Fig214Ejemplo:
Utilizando la ilustración 1, en la que veíamos un diagrama que representa una estructura de clases, vamos a ver cómo, utilizando el modelo objeto-relacional podríamos implementar en una base de datos algunas de las características reflejadas en el mismo.

Podemos encontrar un ejemplo claro de un posible uso de tipos distintos en los atributos código y título de la clase Documento. Ambos son de tipo STRING pero sus usos y posibles estructuras están claramente diferenciados, y comparaciones entre ambos podrían suponer errores semánticos. La clase Documento la podríamos modelar como una tabla tipada (procedente de un tipo estructurado) de la cual heredarían “Informe Técnico” y “Artículo”. Además podríamos enriquecer el diagrama con la inclusión de un atributo de tipo CLOB en la tabla tipada Documento, el cual podría servir para almacenar el texto del mismo.

Si vemos la clase Proyecto observaremos que puede tener asociados uno o más documentos, luego podríamos implementar esta particularidad mediante el uso de un tipo MULTISET de tipos REFERENCIA, siendo estas últimas referencias a documentos (filas de la tabla tipada Documento). Haciendo una ligera modificación en el diseño podríamos incluir el uso de un tipo ROW en Investigador, podríamos agrupar los atributos “salario” “bonificación” y “salario promedio” bajo una denominación común, por ejemplo “SalarioInv”.

Ejemplos claros de uso de métodos los encontramos en diferentes ocasiones como para el caso de la clase Investigador donde aparece el método “salario mensual()” así como en la clase Proyectos encontramos métodos como “participantes()” y “balance()”.


[U2] - DISEÑO AVANZADO DE BD Fig314

[U2] - DISEÑO AVANZADO DE BD Fig413

o0euro0o
Admin

Mensajes : 29
Fecha de inscripción : 17/02/2012

https://o0euro0cast0o.activo.mx

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.