resumen primera semana topicos
DESCRIPTION
Resumen de la primera semana de clases de Topicos avanzados de bases de datos ITSLTRANSCRIPT
Introducción
Hoy en la actualidad se utilizan las bases de datos en la mayoría de las aplicaciones que quizás usemos con frecuencia y mas aun la forma en la que trabajan en forma distribuida y el usuario final cree que esta en ese lugar las bases de datos cuando lo mas probable es que estén hasta en otra parte de la república o en alguna parte del mundo
¿Que es una base de datos?
Base de datos: datos(tuplas) y
relaciones que forman una interfaz de
usuario que se define por si sola
Los datos son representados mediante
objetos, las entidades de aplicación son
clases y las relaciones mediante
inclusión lógica
También las bases de datos orientadas
a objetos están diseñadas para trabajar
con los diferentes lenguajes de
programación ya sea desde Java. C#,
C++ ,Visual Basic. Net, entre otros
Al crear un sistema de BD Orientado a
Objetos se deben tener en cuenta unas
características que están divididas en
tres grupos:
Mandatarías
Son aquellas obligatorias
Son las que debe cumplir el sistema al tener un sistema de BDOO
Objetos complejos, Identidad de objetos, Encapsulación, Tipos o clases, Sobrepaso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperación y Facilidad de Query
Criterios que debe satisfacer un sistema de BDOO: Debe tener un BDMS
Debe ser un sistema OO
El primer punto consiste en: Persistencia
Manejador de almacenamiento secundario
Concurrencia
Recuperación
Facilidad de Query
El segundo punto consiste en:
Objetos Complejos
Identidad del Objeto
Encapsulación
Tipos ó Clases
Sobrepaso con combinación retrasada
Extensibilidad
Completación Computacional
Extensibilidad: proporciona tipos de
datos básicos
Concurrencia: permite que más de 1
usuario tenga acceso a la BD a la vez
Recuperación: vuelta al estado anterior
al realizar una transacción que no se ha
finalizado
Opcionales
No son obligatorias y se ponen para
hacer que el sistema sea mejor
Herencia múltiple, chequeo de tipos e
inferencia de distribución y diseño de
transacciones y versiones
Herencia múltiple: obtiene
características de padres diferentes y
proporciona mecanismos de que opción
conviene más
Abiertas
Son aquellas en las que el diseñador
puede poner de su parte y que están
relacionadas con la programación
Paradigma de la programación,
Representación o tipo del sistema y su
uniformidad
Identidad de Objetos
Cada ID tiene un campo único y cada objeto es independiente (atributos, propiedades)
Constructores de tipo Constructores de átomos: Se dice que una
operación es atómica cuando es imposible para otra parte de un sistema encontrar pasos intermedios. Si esta operación consiste en una serie de pasos, todos ellos ocurren o ninguno. Por ejemplo en el caso de una transacción bancaria o se ejecuta tanto el deposito y la deducción o ninguna acción es realizada. Es una característica de los sistemas transaccionales. El concepto también es relevante cuando se programa con hilos de ejecución.
Constructores de Tuplas: Las principalespropiedades que distinguen a una tupla de,por ejemplo un conjunto, es que:
Un objeto puede contener internamente(por agregación) a otros objetos.
Los objetos aparecen obligatoriamenterepresentados en un orden dado.
Constructores de Conjuntos: un conjunto es una colección (contenedor) de ciertos valores, sin ningún orden concreto ni valores repetidos. Su correspondencia en las matemáticas sería el conjunto finito. Sin tener en cuenta la secuencia, ni el hecho de que no haya valores repetidos, se asemeja a una lista. Un conjunto puede verse como una cadena asociativa (array) (mapeado parcial) donde no se atiende al valor de cada par clave-valor.
Encapsulamiento
Tanto la estructura de los objetos como
las operaciones que se pueden aplicar a
ellos se incluyen en las definiciones de
clases de los objetos
Jerarquía de tipos y
herencia Hay clases generales (superclases) que
definen las características comunes a
un determinado grupo
Las clases específicas (subclases)
especifican cualidades características
de un determinado grupo
Las subclases heredan los métodos y
atributos de las superclases, de
miembros mas altos de la jerarquía
Ejemplo:Class persona {
string nombre;
string dirección;
};
Class cliente persona {
int interés-prestamo;
};
Class empleado persona{
date fecha de alta;
int sueldo;
};
Un Sistema de BDOO debe satisfacer 2 criterios:
* Debe tener un BDMS
* Debe ser un sistema OOEl Primero se traduce en 5 características:
* Persistencia -( Conservación de Datos.)
* Concurrencia-(Muchos usuarios)
* Recuperación-(Mantener Edo.de BD)
* Gestión de Almacén. Secundario
* Facilidad de Consultas
El Segundo se traduce en 8 características:
* Abstracción (Denota características esenciales)
* Encapsulación (Ocultar secretos del objeto)
* Tipos ó Clases (Mismo comportamiento)
* Modularidad (Abstracciones con cierta relación
Minimizan dependencias/Módulos)
* Jerarquía (Ordenación de abstracciones)
* Generacidad (Sirve de modelo para otras clases)
* Concurrencia* Persistencia
Desarrollo con BDOO
El comportamiento de CILINDRO podría
incluir información relativa a sus
dimensiones, volumen área superficial:
Clase de CILINDRO{Altura
Flotante();Radio Flotante();Volumen
Flotante();Área de Superficie
Flotante();};
La Implantación se lleva acabo en el
mismo lenguaje, escribiendo funciones
correspondientes a las solicitudes OO:
CILINDRO::ALTURA(){RETORNA
CILINDRO-
ALTURA}CILINDRO::VOLUMEN(){RET
ORNAPI*RADIO() *ALTURA();}
Tres enfoques de construcción
de BDOO
Primero:
* Utilización de código Complejo.
* Técnicas OO medios para diseño sencillo de sistemas complejos.
* Componentes ya probados.
Segundo:
* Considera BDOO extensión de BDR
* La Bd debe proporcionar-Acceso Aleatorio y por partes a Grandes Objetos.
Tercero:
* Enfoque-Arquitectura de BD
* Produce-Nueva Arq. Optimizada OO
* Versant,Objetivity,Itasca
* BDOO no de Relación más Rápidas
* Esenciales-Aplicaciones como: CAD
Arquitectura de Versant
La Arquitectura de Versant esta designada al soporte Cliente/Servidor con acercamiento en la computación distribuida; cualquier aplicación Cliente el Servidor la procesa, usa las EDT y las máquinas que pueden cooperar en una BD distribuida de Versant.
Las BD pueden estar levantadas como un sistema m-Cliente/n-Servidor. Un servidor en el medio ambiente de Versantes una máquina que está corriendo los procesos del servidor, esta soporta accesos concurrentes por usuarios múltiples de una ó más BD. Un Cliente es un proceso de aplicación este tiene acceso a espacios de trabajo de BD persistentes privadas y también puede accesar a BD sobre servidores concurrentes con otras aplicaciones de Cliente.
Ventajas y desventajas
Ventajas:
Flexibilidad Manejo de Datos Complejos.
BDOO-Ajusta al espacio necesario y elimina espacio desperdiciado.
Manipulación de Obj. Complejos en forma rápida y ágil.
Desventajas:
La inmadurez del mercado BDOO
Falta de Estándares en OO Rendimiento:
Las BDOO es más rápida y eficiente.
Ejemplo de programación
modular
El Programa principal coordina las llamadas a procedimientos en módulos
separados y pasa los datos apropiados en forma de parámetros.
Situación del SGBDOO en
Oviedo3
Idea Inicial.-que este totalmente integrado con las características de la máquina abstracta y del sistema operativo de la misma aprovechando al máximo las posibilidades que ofrecen.