Professional Documents
Culture Documents
rtyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopa
sdfghjklzxcvbnmqwertyuiopasdfg
INSTITUTO TECNOLÓGICO DE
CULIACÁN
hjklzxcvbnmqwertyuiopasdfghjklz
TEMAS SELECTOS
DE BASES DE
xcvbnmqwertyuiopasdfghjklzxcv
DATOS
bnmqwertyuiopasdfghjklzxcvbnm
Nombre del trabajo: Estándar
qwertyuiopasdfghjklzxcvbnmqwe
ODMG y Bases de datos Objeto-
Relacional
rtyuiopasdfghjklzxcvbnmqwertyui
Alumno: Robles Smith Amilcar
Augusto.
opasdfghjklzxcvbnmqwertyuiopa
Profesor: Clemente García
Gerardo
sdfghjklzxcvbnmqwertyuiopasdfg
miércoles, 01 de diciembre de 2010
hjklzxcvbnmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbnm
qwertyuiopasdfghjklzxcvbnmqwe
rtyuiopasdfghjklzxcvbnmrtyuiopa
Estándar ODMG
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.
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.
• Los componentes básicos de una base de datos orientada a objetos son objetos y literales.
Un objeto es una instancia autocontenida de una entidad de interés del mundo real.
• Los objetos tienen algún tipo de identificador único. Un literal es un valor específico, por
ejemplo, “Amparo” o 36. Los literales no tienen identificadores y no tienen que ser
necesariamente un solo valor, puede ser una estructura o un conjunto de valores
relacionados que se guardan bajo un nombre.
• Los objetos y 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, que también comparten todos los objetos del mismo. 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. Las propiedades son sus atributos y las relaciones.
• 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 pueden ser accedidos por
múltiples usuarios y aplicaciones.
Objetos:
Los tipos de tipo colección (para las clases contenedor) son:
De tipo estructurado:
Date: fecha del calendario
Time: hora.
Timestamp: hora de una fecha.
Interval: período de tiempo.
Literales:
No tienen identificadores y no pueden aparecer solos como objetos, están dentro de los objetos y
no pueden referenciarse de modo individual.
• Boolean: verdadero o falso.
• Short: entero con signo de 8 o 16 bits.
• Long: entero con signo de 32 o 64 bits.
• Unsigned short: entero sin signo de 8 o 16 bits.
• Unsigned long: entero sin signo de 32 o 64 bits.
• Float: valor real en coma flotante de simple precisión.
• Double: valor real en coma flotante de doble precisión
• Octet: almacén de 8 bits.
• Char: carácter ASCII o UNICODE.
• String: cade de caracteres.
• Enum: tipo enumerado donde los valores se especifican explícitamente cuando se declara
el tipo.
• Literales estructurales contienen un número fijo de elementos heterogéneos. Cada
elemento es un par <nombre,valor> donde valor puede ser cualquier tipo literal. Tipos
estructurados son: date, time, timestamp, interval y struct.
Tipos
Una interface es una especificación del comportamiento abstracto de un tipo de objeto y
contiene las asignaturas de las operaciones. No se pueden crear objetos a partir de ella
(equivalente a una clase abstracta).
Una clase es una especificación del comportamiento abstracto y del estado abstracto de un
tipo de objeto. A partir de ellas se pueden crear instancias de objetos individuales (equivalente a
una clase concreta). Soporta la herencia simple y la herencia múltiple mediante las interfaces. Se
suelen utilizar para especificar operaciones abstractas que pueden ser heradas por las clases o por
otras interfaces: Herencia de comportamiento. Requiere que el supertipo sea una interface y el
subtipo sea una clase o un interface.
Se puede hacer referencia a los subtipo como su supertipo. Los subtipo se pueden
especializar como sea necesario añadiéndoles comportamientos. Los subtipos de un subtipo
especializado heredan también los comportamientos añadidos.
Puede tener una o más claves (key), es un identificador único. Con una sola propiedad es
una clave simple y con varias propiedades es una clave compuesta.
Propiedades
Atributos: Define del tipo de un objeto. No tiene identificador, toma como valor un literal o el
identificador de un objeto.
Relaciones: Se definen entre tipos. Sólo soporta relaciones binarias (1:1, 1:n, n:m). Define caminos
transversales en la interface de cada dirección.
En el lado del muchos los objetos pueden estar desordenados (set o bag) u ordenados (list).
Métodos
Son funciones o procedimientos que se pueden declarar en la definición de un tipo de objeto para
implementar el comportamiento que se desea para dicho tipo de objeto. El método miembro se
utiliza para ganar acceso a los datos de una instancia de un objeto.
Transacciones
Son unidades lógicas de trabajo que llevan a la base de datos de un estado consistente a otro
estado consistente. Todos los accesos, creación, modificación y borrado de objetos persistentes se
deben realizar dentro de una transacción.
En las consultas se necesita un punto de entrada que es la extensión de una clase. Además es
necesario utilizar una variable iteradora que vaya tomando valores en los objetos de la colección.
Éstas se pueden especificar de estas formas:
D in departamentos
Departamentos d
Departamentos as d
Una consulta no debe seguir la estructura SELECT obligatoriamente, el nombre de cualquier objeto
persistente es una consulta de por sí:
Departamentos;
Uno de los problemas de las bases de datos relacionales está relacionado con limitaciones
en representaciones (elementos complejos que están presentes en muchos dominios como
gráficos son difíciles de representar). Por otro lado, las bases de datos orientadas a objetos no son
lo suficientemente maduras para ser aceptadas, y es realmente difícil convertir a los especialistas
relacionales y convencer a los manejadores para adoptar este nuevo paradigma con todos los
posibles riesgos involucrados.
Un objetivo de las bases de datos objeto-relacionales es de llenar ola brecha entre las
técnicas de modelado de datos conceptuales como el diagrama entidad-relacion. Otro objetivo
relacionado es de llenar la brecha entre bases de datos relacionales y las técnicas de modelado
orientadas a objetos utilizadas en lenguajes de programación como Java, C++, Visual Basic.NET o
C#. Sin embargo, una alternativa más popular para alcanzar dicho objetivo es utilizar una base de
datos relacional estándar con alguna forma de Mapeado Objeto-Relacional.
Relaciones Anidadas
Nacen como una extensión del modelo relacional, en el que los dominios de dicha base de datos
ya no son sólo atómicos, por lo que no se cumple la 1FN, debido a que las tuplas también pueden
ser una relación, que llevará a la creación de una relación de relaciones. De este modo, se genera
la posibilidad de guardar objetos más complejos en una sola tabla con referencias a otras
relaciones, con lo que se acerca más al paradigma de programación orientada a objetos.
Tipos Complejos
Tipos: Dentro de lo que llamamos tipos de datos complejos podemos definir los siguientes:
Colecciones: También conocidos como conjuntos, este tipo de datos clasifican los arreglos y los
conjuntos en que los elementos pueden aparecer varias veces.
Tipos estructurados: Los tipos estructurados permiten representación directa de los atributos
compuestos en los diagramas entidad-relación.
Objetos de gran tamaño: Desde ya hace varios años que se necesita almacenar datos con
atributos muy grandes (Varios MB), como libros, canciones, etc. E incluso aún más grandes; como
mapas de alta resolución, video, etc. que puede llegar fácilmente a los GB.
Herencia
La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En primer lugar se
considerará la herencia de los tipos y después en el nivel de las tablas:
Herencia de tipos: Los tipos derivados heredan los atributos de superclase; los métodos también se
heredan por sus subtipos, al igual que los atributos. Sin embargo, un subtipo puede redefinir el
Bibliografía
http://www.tutoriales.itsa.edu.mx/TopicosAvanzadosBD/index.php?mod=elestandar&ban=0
http://www.odbms.org/ODMG/
http://en.wikipedia.org/wiki/ODMG
http://wapedia.mobi/en/Object-relational_database_management_system