Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 2 Sistemas de Base de Datos Orientadas A Objetos.2
Unidad 2 Sistemas de Base de Datos Orientadas A Objetos.2
MATERIA:
UNIDAD II
INVESTIGACION:
CATEDRATICO:
ALUMNO:
CARRERA:
INGENIERIA INFORMATICA
Operaciones limitadas
No ofrecen soporte para tipos definidos por el usuario (sólo dominios) Mientras
que las necesidades de las aplicaciones actuales con respecto a las bases de
datos son:
Gestión de versiones
Facilidades de evolución
Interconexión e interoperabilidad
1.-Debe soportar objetos complejos. Debe ser posible construir objetos complejos
aplicando constructores a objetos básicos.
2.-Identidad del objeto. Todos los objetos deben tener un identificador, el cual es
independiente de los valores de sus atributos.
6.-La sobrecarga debe ser soportada, los métodos deben poder aplicarse a
diferentes tipos.
7.-El DML debe ser completo. El DML en los sistemas gestores de bases de datos
orientados a objetos debe ser un lenguaje de programación de propósito general.
8.-El conjunto de tipos de datos debe ser extensible. No habrá distinción entre los
tipos definidos por el usuario y los tipos definidos por el sistema,
11.-El SGDB debe soportar la concurrencia. Debe disponer del mecanismo para el
control de la concurrencia.
12.-Recuperaci¢n. El sistema gestor debe de proveer mecanismos de
recuperación de la información en caso de fallo de sistema.
SGBD de red.
SGBD jerárquicos.
2.1.3 PRODUCTOS
SGBD libres
MySQL Licencia Dual, depende el uso (no se sabe hasta cuando, ya que la
compro Oracle). Sin embargo, existen 2 versiones: una gratuita que sería
equivalente a la edición “express” SQL server de Windows y otra más
completa de pago, ese pago se haría en la licencia de ella ya que permitiría
usarse en otras distribuciones sin usar la licencia GNU.
SGBD no libres
Advantage Database
dBase
FileMaker
Fox Pro
IBM Informix
Interbase de CodeGear, filial de Borland
MAGIC
Microsoft Access
NexusDB
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
Sybase IQ
WindowBase
CA-IDMS
Sybase ASE Express Edition para Linux (edición gratuita para Linux)
Modelo de Objeto
El modelo de objetos ODMG permite que tanto los diseños, como las
implementaciones, sean portables entre los sistemas que lo soportan. Dispone de
las siguientes primitivas de modelado:
Los componentes básicos de una base de datos orientada a objetos son los
objetos y los literales. Un objeto es una instancia autocontenida de una entidad de
interés del mundo real. Los objetos tienen algún tipo de identificador unico. Un
literal es un valor específico, como “Amparo” o 36. Los literales no tienen
identificadores. Un literal no tiene que ser necesariamente un solo valor, puede ser
una estructura o un conjunto de valores relacionados que se guardan bajo un solo
nombre. Los objetos y los literales se categorizan en tipos. Cada tipo tiene un
dominio específico compartido por todos los objetos y literales de ese tipo. Los
tipos también pueden tener comportamientos. Cuando un tipo tiene
comportamientos, todos los objetos de ese tipo comparten los mismos
comportamientos. En el sentido práctico, un tipo puede ser una clase de la que se
crea un objeto, una interface o un tipo de datos para un literal (por ejemplo, integer
). Un objeto se puede pensar como una instancia de un tipo. Lo que un objeto
sabe hacer son sus operaciones. Cada operación puede requerir datos de entrada
(parámetros de entrada) y puede devolver algún valor de un tipo conocido. Los
objetos tienen propiedades, que incluyen sus atributos y las relaciones que tienen
con otros objetos. El estado actual de un objeto viene dado por los valores
actuales de sus propiedades. Una base de datos es un conjunto de objetos
almacenados que se gestionan de modo que puedan ser accedidos por múltiples
usuarios y aplicaciones. La definición de una base de datos está contenida en un
esquema que se ha creado mediante el lenguaje de definición de objetos ODL
(Object Definition Language) que es el lenguaje de manejo de datos que se ha
definido como parte del estándar propuesto para las bases de datos orientadas a
objetos.
OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas de
modo eficiente sobre bases de datos orientadas a objetos, incluyendo primitivas
de alto nivel para conjuntos de objetos y estructuras. Está basado en SQL-92,
proporcionando un súper conjunto de la sintaxis de la sentencia SELECT.OQL no
posee primitivas para modificar el estado de los objetos ya que las modificaciones
se pueden realizar mediante los métodos que é
́ stos poseen. La sintaxis básica de
OQL es una estructura SELECT...FROM...WHERE..., como en SQL.
Estructura
Encapsulamiento
El encapsulamiento consiste en unir en la Clase las características y
comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola
entidad. En los lenguajes estructurados esto era imposible. Es evidente que el
encapsulamiento se logra gracias a la abstracción y el ocultamiento. La utilidad del
encapsulamiento va por la facilidad para manejar la complejidad, ya que
tendremos a las Clases como cajas negras donde sólo se conoce el
comportamiento, pero no los detalles internos, y esto es conveniente porque nos
interesará será conocer qué hace la Clase, pero no será necesario saber cómo lo
hace.
Herencia
A través de ella los diseñadores pueden crear nuevas clases partiendo de una
clase o de una jerarquía de clases preexistente (ya comprobadas y verificadas)
evitando con ello el rediseño, la modificación y verificación de la parte ya
implementada. La herencia facilita la creación de objetos a partir de otros ya
existentes e implica que una subclase obtiene todo el comportamiento (métodos) y
eventualmente los atributos (variables) de su superclase.
Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si
declaramos una clase párrafo derivada de una clase texto, todos los métodos y
variables asociadas con la clase texto, son automáticamente heredados por la
subclase párrafo.
Polimorfismo
La apariencia del código puede ser muy diferente dependiendo del lenguaje que
se utilice, más allá de las obvias diferencias sintácticas.
Persistencia
Esta se refiere a la capacidad de manipular directamente los datos almacenados
en una base de datos usando un lenguaje de programación orientado a objetos.
Esto contrasta con una base de datos utilizada por SQL o una interfaz utilizada por
ODBC o JDBC. Utilizando un objeto de base de datos significa que se puede tener
un mayor rendimiento y se aminora la escritura de código. Con la persistencia la
manipulación de objetos se realiza directamente por el lenguaje de programación
de la misma manera que en la memoria, sin persistencia de objetos. Esto se logra
mediante el uso inteligente de almacenamiento en caché.
Concurrencia
Los SMBDOO deben poder ser accesibles por múltiples usuarios. Cuando una
aplicación está accesando a una sección de la base de datos, otras aplicaciones
deben poder acceder a otras secciones de la base de datos. La concurrencia
permite a los usuarios cooperar y colaborar en una aplicación. Los mecanismos de
control de concurrencia son necesarios para reforzar las propiedades de las
transacciones (ACID). Los modos básicos de control de concurrencia son: Modo
Pesimista Modo optimista Modo mixto Modo semi-optimista. El modo pesimista
obliga a una transacción a esperar a que se resuelva el conflicto que pueda o
ponga en riesgo la concurrencia para dejarle continuar cuando el conflicto halla
sido resuelto.
El modo optimista deje correr la transacción como si no ocurriera ningún conflicto y
resuelve este al final del commit, generalmente se emplea usando estampas de
tiempo y copias de los elementos de la transacción. El modo mixto combina
diferentes controles de concurrencia a diferentes objetos y tipos de datas en una
misma transacción. El modo semi-optimista es una variante del modo mixto que no
detiene a la transacción hasta que esta termina. Los principales mecanismos de
control de concurrencia son tres: Candados que prohíben accesos que puedan
provocar conflictos de acceso Estampas de tiempo.- estas permiten impedir
violaciones a los datos. Guardar múltiples versiones de los objetos de datos.
Recuperación
REFERENCIAS BIBLIOGRAFICAS