15
Instituto Tecnológico Superior Zacatecas Occidente Tópicos de Bases de datos Unidad II “Sistema de BDOOPractica 1 Reporte de Investigación (Exposición) ** 2.3 Estandar ODMG ** Elaborado por: Karina Román Barrios ISC Teresa Helguera Ríos

Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

Embed Size (px)

Citation preview

Page 1: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

Instituto Tecnológico Superior

Zacatecas Occidente

Tópicos de Bases de datos

Unidad II “Sistema de BDOO”

Practica 1

Reporte de Investigación (Exposición)

** 2.3 Estandar ODMG **

Elaborado por:

Karina Román Barrios

ISC Teresa Helguera Ríos

Fecha de entrega

6 de Marzo del 2014

Page 2: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

ÍNDICE

INTRODUCCIÓN...........................................................................................................................................3

COMPETECIA DE DESARROLLAR.................................................................................................................4

ESTANDAR ODMG (Object Data Management Group)..............................................................................4

LAS PRIMITIVAS BÁSICAS DE UN SISTEMA GESTOR DE BASE DE DATOS ORIENTADA A OBJETOS.................................................................................................................4

Un objeto....................................................................................................................................4

Un literal.....................................................................................................................................4

COMPOSICIÓN DEL ESTÁNDAR ODMG.......................................................................................5

1. Modelo de objetos..................................................................................................................5

2. Lenguaje de definición de objetos (ODL).........................................................................5

3. Lenguaje de consulta de objetos (OQL)............................................................................5

4. Conexion con los lenguajes C++, Smalltalk y Java........................................................6

LAS DOS PRINCIPALES VENTAJAS DEL ESTÁNDAR ODMG................................................6

Facilidad de uso:.......................................................................................................................6

La portabilidad:..........................................................................................................................6

ANEXOS.......................................................................................................................................................7

SMALLTALK..........................................................................................................................................7

EIFFEL...................................................................................................................................................7

C++.........................................................................................................................................................9

CONCLUSIONES.........................................................................................................................................10

BILIOGRAFÍA..............................................................................................................................................10

Page 3: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

INTRODUCCIÓNLas bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos

está orientado a objetos y almacenan y recuperan objetos en los que se almacena

estado y comportamiento. Su origen se debe a que en los modelos clásicos de datos

existen problemas para representar cierta información, puesto que aunque permiten

representar gran cantidad de datos, las operaciones que se pueden realizar con ellos

son bastante simples.

Las clases utilizadas en un determinado lenguaje de programación orientado a objetos

son las mismas clases que serán utilizadas en una BDOO; de tal manera, que no es

necesaria una transformación del modelo de objetos para ser utilizado por un

SGBDOO. De forma contraria, el modelo relacional requiere abstraerse lo suficiente

como para adaptar los objetos del mundo real a tablas.

Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen

al tratar de representar cierta información, aprovechar las ventajas del paradigma

orientado a objetos en el campo de las bases de datos y para evitar transformaciones

entre modelos de datos (usar el mismo modelo de objetos).

Page 4: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

COMPETECIA DE DESARROLLARConocer y analizar el estándar ODMG para SGBDOO para su diseño, implementación

y automatización de las BD para el tratamiento de la información.

ESTANDAR ODMG (Object Data Management Group)

Fue desarrollado en1991 con el objetivo de definir estándares paro los SGBDOO.

El estándar ODMG es un producto de consorcio internacional OMG, el cual

principalmente proporciona técnicas orientadas a objetos para la ingeniería de

software. Sus estándares pueden ser aceptados por empresas certificadas como ISO.

Es el acrónimo de Object Data Base Management Group. Se usa tanto para definir el

grupo de personas y empresas encargadas de desarrollar el modelo de objetos para

persistencia, así como para la definición de dicho estándar.

Este modelo especifica los elementos que se definirán, y en qué manera se hará, para

la consecución de persistencia en las Bases de Datos Orientadas a Objetos que

soporten el estándar.

El modelo de datos del estándar ODMG dispone de unas primitivas de modelado. Estas

primitivas subyacen en la totalidad de los lenguajes orientados a objetos puros (Eifflel,

Smalltalk, etc.) y en mayor o menor medida en los híbridos (Java, C++, etc.):

LAS PRIMITIVAS BÁSICAS DE UN SISTEMA GESTOR DE BASE DE DATOS ORIENTADA A OBJETOS

Un objeto es una instancia de una entidad de interés del mundo real. Los objetos

necesitan de un identificador único (OID- Identificador de Objeto).

Page 5: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

o Set<tipo>: es un grupo desordenado de objetos del mismo tipo. No se

permiten duplicados.

o Bag<tipo>: es un grupo desordenado de objetos del mismo tipo. Se

permiten duplicados.

o List<tipo>: es un grupo ordenado de objetos del mismo tipo. Se permiten

duplicados.

o Array<tipo>: es un grupo ordenado de objetos del mismo tipo que se

pueden acceder por su posición. Su tamaño es dinámico y los elementos

se pueden insertar y borrar de cualquier posición.

o Dictionary<clave,valor>: es como un índice. Está formado por claves

ordenadas, cada una de ellas emparejada con un solo valor.

Un literal es un valor específico. 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 (por

ejemplo, enumeraciones).

o boolean : un valor que es verdadero o falso.

o short : un entero con signo, normalmente de 8 o 16 bits.

o long : un entero con signo, normalmente de 32 o 64 bits.

o unsigned short : un entero sin signo, normalmente de 8 o 16 bits

o unsigned long : un entero sin signo, normalmente de 32 o 64 bits.

o float : un valor real en coma flotante de simple precisión.

o double : un valor real en coma flotante de doble precisión.

o octet : un almacén de 8 bits.

o char : un carácter ASCII o UNICODE.

o string : una cadena de caracteres.

o enum : un tipo enumerado donde los valores se especifican

explícitamente cuando se declara el tipo.

Page 6: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

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.

Tipos cada tipo tiene un dominio especifico 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.

Transacciones son unidades lógicas de trabajo que llevan a la base de datos de

un estado consistente a otro estado consistente. El modelo asume una

secuencia lineal de transacciones que se ejecutan de modo controlado. La

concurrencia se basa en bloqueos estándar de lectura/escritura con un protocolo

pesimista de control de concurrencia. Todos los accesos, creación, modificacion

y borrado de objetos persistentes se deben realizar dentro de una transacción.

El modelo especifica operaciones para iniciar, terminar (commit) y abortar

transacciones, así como la operación de checkpoint. Esta ultima operación hace

permanentes los cambios realizados por la transacción en curso sin liberar

ninguno de los bloqueos adquiridos

COMPOSICIÓN DEL ESTÁNDAR ODMG

La última versión del estándar fue la 3.0 propone los siguientes componentes

principales de la arquitectura ODMG para SGBDOO:

1. Modelo de objetos

El modelo de objetos ODMG permite que tanto los diseños como las

implementaciones, sean portables entre los sistemas que lo soportan.

Page 7: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

2. Lenguaje de definición de objetos (ODL)

ODL es un lenguaje para definir la especificación de los tipos de objetos para

sistemas compatibles con ODMG. ODL es el equivalente de DDL (Data

Definition Language o lenguaje de definición de datos) de los SGBD

tradicionales. Define los atributos y las relaciones entre tipos y especifica la

signatura de las operaciones. Su principal objetivo es el de facilitar la

portabilidad de los esquemas entre sistemas compatibles al mismo tiempo que

proporciona interoperabilidad entre distintos SGBD. La sintaxis de ODL extiende

el lenguaje de definición de interfaces (IDL) de la arquitectura CORBA (Common

Object Request Broker Architecture).

3. Lenguaje de consulta de objetos (OQL)

OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas

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 superconjunto de la sentencia SELECT. OQL no posee

primitivas para modificar el estado de los objetos, ya que éstas se deben realizar

a través de los métodos que dichos objetos poseen. La sintaxis básica de OQL

es una estructura SELECT...FROM...WHERE..., como en SQL.

4. Conexión con los lenguajes C++, Smalltalk y Java

Incluye una correspondencia del lenguaje de manipulación de objetos (OML,

Object Manipulation Language) para cada uno de los LP, para escribir código

portable que permita manipular los objetos persistentes usando uno de esos

lenguajes.

LAS DOS PRINCIPALES VENTAJAS DEL ESTÁNDAR ODMG

Facilidad de uso: Utilizando una especificación de almacenamiento común

minimiza la necesidad de formación, ya que los enlaces son extensiones ODMG

lengua materna a los actuales lenguajes de programación orientada a objetos.

Page 8: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

La portabilidad: reduce el riesgo de desarrollo de software mediante la

eliminación de una única fuente, además de facilitar la reutilización a través de

plataformas compatibles diferentes. Al proporcionar almacenamiento de objetos

transparentes a través de una variedad de plataformas, ODMG permite al

usuario elegir el servidor de almacenamiento que cumpla con los requisitos

técnicos y de negocio.

ANEXOSSMALLTALK

Fue el primer lenguaje de programación orientado a objetos. Desarrollado en el Xerox

PARC, en sus primeras implementaciones no ofrece solamente un intérprete, sino que

es mucho más ambicioso, integrando intérprete on-line y otros aspectos que le

convierten en un <<pseudo>> sistema operativo. Es el primero en aportar la

arquitectura de Modelo/Visor/Controlador. El interface de usuario se divide en una

definición sobre la que se aplican determinado número de vistas gestionadas por un

controlador. El MVC permite al desarrollador concentrarse en la parte esencial de la

aplicación (el modelo) y añadir interfaces de usuarios (las vistas y controles) de forma

independiente.

Ventajas

Smalltalk es un lenguaje puro orientado a objetos

La implementación a través de un intérprete facilita la labor de desarrollo de

programas. Las clases son añadidas, corregidas y depuradas de forma interactiva.

Tiene una sintaxis simple, donde las variables y los atributos no necesitan tener un

tipo asociado. Todo está definido en principio como objeto, incluyendo las propias

clases.

Inconvenientes

Es un lenguaje interpretado, lo que reduce su rendimiento y dificulta

su comercialización.

Page 9: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

Al proporcionar su propio entorno operativo, interactúa mal con otro tipo de software

o hardware

EIFFEL

Es un lenguaje de programación escrito por Bertrand Meyer. Al contrario que Smalltalk,

incluye un preprocesador que permite la traducción de código Eiffel a Lenguaje C. Es

ideal para la ingeniería de software, que permite la encapsulación, control de acceso y

ámbito de las modificaciones. Como lenguaje orientado a objetos <<puro>>, es

presumiblemente el mejor por sus capacidades técnicas.

Los programas consisten en la declaración de colecciones de clases que

incluyen métodos. El punto primordial de un programa Eiffel es la declaración de

clases, que asocia atributos. Ambos, clases y atributos, son accesibles a partir de la

implementación de un concepto llamado característica. Una característica es, por tanto,

una agrupación de datos y unas formas típicas de tratarlos.

En Eiffel una declaración de clases puede incluir:

Una lista de características exportables.

Una lista de las clases antecesora: clases de la que ésta es una derivación

Una lista de declaraciones de características.

Ventajas

Es un lenguaje orientado a objetos <<puro>>

Eiffel es un lenguaje de programación orientado hacia el diseño de grandes

aplicaciones. Las propiedades anteriores le hacen ideal para el diseño de

aplicaciones en grupos de trabajo.

El paso intermedio a código C se puede considerar como una ventaja y no como un

inconveniente, ya que aquellas secciones que sean difíciles de tratar con Eiffel

pueden elaborarse a partir de código C. Su compatibilidad con C asegura también

su portabilidad hacia otros sistemas operativos

Desventajas

Page 10: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

El manejo de la memoria , un punto delicado en todos los lenguajes orientados a

objetos no es transparente como en el caso de Smalltalk.

Las librerías de clases son reducidas

El rendimiento es mayor que el de Smalltalk, pero al tener que incluir un módulo

Run-time dentro del ejecutable, su tamaño crece y su rendimiento baja.

C++

Es un lenguaje de uso general que deriva del C.

Añade a su predecesor una serie de características que le convierten en un lenguaje

orientado a objetos. Dentro de estas características debemos resaltar:

La abstracción de datos

La programación orientada a objetos, ya que permite asociar a los datos las

funciones que los manipulan

C++ conserva todas las capacidades de su predecesor C. De hecho, el código C puede

tratarse con compiladores C++ y ejecutarse sin ningún problema. En un principio C++

era traducido a código C a través de una utilidad llamada precompilador.

También es cierto que se pueden utilizar algunas de las ventajas de C++ (como C

mejorado) para escribir código no orientado a objetos.

Enumeramos los aspectos más importantes que hacen del C++ un lenguaje orientado a

objetos:

La mayor contribución que realiza C++ al C es la introducción del tipo clase. Las

clases permiten definir conjunto de datos y las funciones que los manipulan.

La ocultación de datos es el mecanismo para implementar la abstracción de datos.

La abstracción de datos permite al programador <<olvidar>> el funcionamiento

interno de una clase, ya que sabe que su funcionamiento no va a alterar

anómalamente el funcionamiento de otras clases. Una vez definida la clase es

Page 11: Reporte de Investigacion exposición ESTANDAR ODMG [[Karina]]

transparente para el desarrollador y permite operar con ella como si fuera un tipo

básico.

La herencia extiende el concepto de abstracción de datos al permitir la construcción

de clases a partir de otras (sus antecesores)

Los operadores definidos por el usuario permiten un tratamiento homogéneo entre

los tipos predefinidos por el lenguaje y los desarrollados por el programado.

CONCLUSIONESEn definitiva, ODMG-93 intenta definir un SGBDOO que integre las capacidades de las

bases de datos con las capacidades de los lenguajes de programación, de forma que

los objetos de la base de datos aparezcan como objetos del lenguaje de programación,

intentando de esta manera eliminar la falta de correspondencia existente entre los

sistemas de tipos de ambos lenguajes.

BILIOGRAFÍA Sistemas de bases de datos orientadas a objetos: Conceptos y arquitecturas. Editorial: Addison-

Wesley / Diaz de Santos. Autores: Elisa Bertino, Lorenzo Martino.

Sistemas de bases de datos: Un enfoque práctico para diseño, implementación y gestión. 4ª

Edición. Editorial: Pearson Addison- Wesley. Autores: Thomas M. Connolly, Carolyn E. Begg.

Fundamentos de Bases de datos. 5ª Edición. Editorial: McGraw Hill. Autores: Silberschatz, Korth,

Sudarshan

Bases de Datos Orientadas a Objeto y el estándar ODMG. Autores: Clara Martín Sastre y Enrique

Medarde Caballero

http://www.sociedadelainformacion.com/38/ODMG1.pdf

http://gusmc.wikispaces.com/1.1.3+El+est%C3%A1ndar+ODMG