Sei sulla pagina 1di 15

1

04/DICIEMBRE/2014
INSTITUTO TECNOLGICO DE
AGUASCALIENTES
Introduccin

FUNDAMENTOS DE BASES DE
DATOS
INGENIERIA EN TECNOLOGIAS
DE LA INFORMACIN Y
COMUNICACIONES
UNIDAD 7
BASES DE DATOS ORIENTADAS A

En general las bases de datos son muy utilizadas actualmente por muchas
empresas u organizaciones que manejan gran cantidad de informacin.

INTEGRANTES:
ALEJANDRO ALVARADO LOSOYA
CARLOS HUMBERTO BRIANO
Por este motivo ha surgido la necesidad de explotar al mximoZUIGA
las capacidades

de esta, utilizando el paradigma de la programacin orientada a objetos, lo que


hace ms fcil de manejarlas, ya que con la POO es ms practico modelar un
problema de la vida real con objetos , los cuales podemos agrupar en clases y
hacerlo ms eficiente.

A continuacin en este trabajo mostraremos detalladamente una parte de todo lo


que conllevan estas bases de datos orientadas a objetos, sus caractersticas, tipos
de datos, herencia, etc.

ndice.

Bases de datos orientadas a objetos.

7.1 Visin general.. 3

7.2 Tipos de datos complejos4

7.3 Tipos estructurados y herencia en SQL5

7.4 Herencia de tablas.7

7.5 Tipos de arreglo multiconjunto en SQL..7

7.6 Identidad de los objetos y tipos de referencia en SQL..8

7.7 Implementacin de las caractersticas OR10

7.1 Visin general.

En una base de datos orientada a objetos, la informacin se representa mediante


objetos como los presentes en la programacin orientada a objetos. Cuando se
integra las caractersticas de una base de datos con las de un lenguaje de
programacin orientado a objetos, el resultado es un sistema gestor de base de
datos orientada a objetos (ODBMS, object database management system).

Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de
un lenguaje de programacin en uno o ms lenguajes de programacin a los que
d soporte.

Las bases de datos orientadas a objetos se disean para trabajar bien en


conjuncin con lenguajes de programacin orientados a objetos como Java, C#,
Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que
estos lenguajes de programacin.

Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un
buen rendimiento en la manipulacin de tipos de dato complejos.

Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor


rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y
tienen una integracin transparente con el programa escrito en un lenguaje de
programacin orientado a objetos, al almacenar exactamente el modelo de objeto
usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

7.2 Tipos de datos complejos


Los modelos de bases de datos tradicionales (relacional, red y jerrquico) han sido
capaces de satisfacer con xito las necesidades, en cuanto a bases de datos, de
las aplicaciones de gestin tradicionales. Sin embargo, presentan algunas
deciencias cuando se trata de aplicaciones ms complejas o sosticadas como,
por ejemplo, el diseo y fabricacin en ingeniera (CAD/CAM, CIM), los
experimentos cientcos, los sistemas de informacin geogrca o los sistemas
multimedia.

Los requerimientos y las caractersticas de estas nuevas aplicaciones dieren en


gran medida de las tpicas aplicaciones de gestin: la estructura de los objetos es
ms compleja, las transacciones son de larga duracin, se necesitan nuevos tipos
de datos para almacenar imgenes y textos, y hace falta denir operaciones no
estndar, especcas para cada aplicacin. Las bases de datos orientadas a
objetos se crearon para tratar de satisfacer las necesidades de estas nuevas
aplicaciones.

La orientacin a objetos ofrece exibilidad para manejar algunos de estos


requisitos y no est limitada por los tipos de datos y los lenguajes de consulta
de los sistemas de bases de datos tradicionales. Una caracterstica clave de las
bases de datos orientadas a objetos es la potencia que proporcionan al diseador
al permitirle especicar tanto la estructura de objetos complejos, como las
operaciones que se pueden aplicar sobre dichos objetos.

Tipos de datos complejos:

Colecciones: Tambin conocidos como conjuntos, este tipo de datos clasifican los
arrays y los conjuntos en que los elementos pueden aparecer varias veces.

Tipos estructurados: Los tipos estructurados permiten representacin directa de


los atributos compuestos en los diagramas entidad-relacin.

Objetos de gran tamao: Desde ya hace varios aos que se necesita almacenar
datos con atributos muy grandes (Varios Mbytes), como libros, canciones, etc. E
incluso an ms grandes; como mapas de alta resolucin, video, etc. que puede
llegar fcilmente a los Gigabytes.

7.3 Tipos estructurados herencia en SQL.


Los tipos estructurados permiten representar directamente los atributos
compuestos de los diagramas E-R. Por ejemplo, se puede definir el siguiente tipo
estructurado para representar el atributo compuesto nombre con los atributos
componentes nombre_pila.y apellidos.

create type Nombre as


(nombre_pila varchar(20),
apellidos varchar(20))
final
De manera parecida, el tipo estructurado siguiente puede usarse para representar
el atributo compuesto direccin:
create type Direccion as
(calle varchar(20),
ciudad varchar(20),
codigo_postal varchar(9))
not final
En SQL estos tipos se denominan tipos definidos por el usuario. Las
especificaciones final indica que no se puede crear subtipos de nombre, mientras
que la especificacin not final de direccin indica que se pueden crear subtipos
de direccin. Ahora se pueden usar estos tipos para crear atributos compuestos en
las relaciones, con slo declarar que un atributo es de uno de estos tipos. Por
ejemplo, se puede crear una tabla cliente de la siguiente manera:
create table cliente (
nombre Nombre,
direccion Direccion,
fecha_nacimiento date)
O bien, realizando una estructura ms del tipo Cliente y generar la tabla a partir de
ella:
create type TipoCliente as
(nombre Nombre,
direccion Direccion,
fecha_nacimiento date)
not final
create table cliente of TipoCliente
Se puede tener acceso a los componentes de los atributos compuestos usando la
notacin punto; por ejemplo, nombre.nombre_pila devuelve el componente
nombre de pila del atributo nombre. El acceso al atributo nombre devolvera un

valor del tipo estructurado Nombre.


La siguiente consulta ilustra la manera de tener acceso a los atributos
componentes de los atributos compuestos. La consulta busca el apellido y la
ciudad de cada cliente.
select nombre.apellido, direccion.ciudad
from cliente
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 despus en el nivel de las
tablas:
Herencia de tipos.
Los tipos derivados heredan los atributos de superclase; los mtodos tambin se
heredan por sus subtipos, al igual que los atributos. Sin embargo, un subtipo
puede redefinir el efecto de un mtodo declarndolo de nuevo, y esto ser lo que
se conoce como sobre escritura (overriding) del mtodo.
Supngase que se tiene la siguiente definicin de tipo para las personas:
create type Persona
(nombre varchar(20),
direccion varchar(20))
Puede que se desee almacenar en la base de datos informacin adicional sobre
las personas que son estudiantes y sobre las que son profesores. Dado que los
estudiantes y los profesores tambin son personas, se puede usar la herencia
para definir en SQL los tipos estudiante y profesor:
create type Estudiante
under Persona
(grado varchar(20),
departamento varchar(20))
create type Profesor
under Persona
(sueldo Integer,
departamento varchar(20))

7.4 Herencia de tablas

Las subtablas en SQL se corresponden con la nocin del modelo E-R de la


especializacin y la generalizacin. Por ejemplo, supngase que se define la tabla
personas de la manera siguiente:
create table persona of Persona
Se pueden definir entonces las tablas estudiantes y profesores como subtablas de
persona:
create table estudiantes of Estudiante
under persona
create table profesores of Profesor
under persona
Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre. Por tanto,
cada atributo presente en persona debe estar tambin presente en las subtablas.
Si una consulta usa la tabla persona, encontrar no slo las tuplas insertadas
directamente en la tabla, sino tambin las tuplas insertadas en sus subtablas
estudiantes y profesores. Sin embargo, slo se puede acceder a los atributos que
estn presentes en persona.

7.5 Tipos de arreglo multiconjunto en SQL


Los conjuntos son ejemplares de los tipos coleccin. Otros ejemplares son los
arrays y los multiconjuntos (es decir, colecciones sin orden donde un elemento
puede aparecer varias veces). Las siguientes definiciones de atributos ilustran la
declaracin de un array:
array-autores varchar(20) array [10]
array-autores es un array de hasta 10 nombres de autor. Se puede acceder a los
elementos del array especificando el ndice del array, por ejemplo, arrayautores[1]. Los arrays son el nico tipo coleccin soportado en SQL la sintaxis
usada es como en la declaracin precedente. Muchas aplicaciones actuales de
bases de datos necesitan almacenar atributos grandes (del orden de varios
kilobytes), tales como la fotografa de una persona, o muy grandes (del orden de
varios megabytes o incluso gigabytes), tales como imgenes mdicas de alta
resolucin o clips de vdeo. SQL proporciona por tanto nuevos tipos de datos para
objetos de gran tamao para datos de caracteres (clob) y binarios (blob). Las
letras lob en estos tipos de datos son acrnimos de Large OBject (objeto
grande). Por ejemplo, se pueden declararlos siguientes atributos:crtica-libro
clob(10KB)imagen blob(10MB)
crtica-libro clob(10KB)

imagen blob(10MB)
pelcula blob(2GB)

Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco


sentido extraerlos completamente en SQL. En su lugar, una aplicacin conseguira
un localizador de un objeto grande y lo usara para manipularlo desde el
lenguaje anfitrin. Por ejemplo, JDBC permite al programador extraer un objeto
grande en pequeos trozos, en lugar de todo a la vez, de forma muy parecida a la
extraccin de datos de un archivo del sistema operativo.

7.6 Identidad de los objetos y tipos de referencia en SQL


La identidad de los objetos es un concepto de identidad ms potente que el que
suele hallarse en los lenguajes de programacin o en los modelos de datos que no
se basan en la programacin orientada a objetos.
Ejemplos de identidad.
Valor. Se utiliza un valor de datos como identidad. Esta forma de identidad se
utiliza en los sistemas relacionales. Por ejemplo, el valor de la clave primaria de
una tupla identifica a la tupla.
Nombre. Se utiliza como identidad un nombre proporcionado por el usuario. Esta
forma de identidad suele utilizarse para los archivos en los sistemas de archivos.
Cada archivo recibe un nombre que lo identifica de manera unvoca,
independientemente de su contenido.
Incorporada. Se incluye el concepto de identidad en el modelo de datos o en el
lenguaje de programacin y no hace falta que el usuario proporcione ningn
identificador. Esta forma de identidad se utiliza en los sistemas orientados a
objetos. Cada objeto recibe del sistema de manera automtica un identificador en
el momento en que se crea.
Los lenguajes orientados a objetos proporcionan la posibilidad de hacer referencia
a los objetos. El atributo de un tipo puede ser una referencia a un objeto de un tipo
especificado. Por ejemplo, en SQL se puede definir un tipo Departamento, con
campos nombre y director, que es una referencia al tipo Persona, y una tabla
departamentos de tipo Departamento, como sigue:
create type Departamento(
nombre varchar(20),
director ref(Persona) scope persona
)
create table departamentos of Departamento

10

La referencia en este ejemplo est restringida a tuplas de la tabla persona. La


restriccin de scope de una referencia a las tuplas de una tabla es obligatoria en
SQL y hace que las referencias se comporten como claves externas.
La tabla referenciada debe tener un atributo que almacene el identificador de la
tupla. Este atributo, denominado atributo autorreferencial, se declara aadiendo la
clusula ref is a la instruccin create table.
create table persona of Persona
ref is ido system generated
Donde ido es un nombre de atributo, no una palabra clave. La subconsulta anterior
podra usar
select p.ido en lugar de select ref(p).
Una alternativa a los identificadores generados por el sistema es permitir a los
usuarios generar identificadores. El tipo del atributo autorreferencial se debe
especificar como parte de la definicin de tipos de la tabla referenciada, y la
definicin de tabla debe especificar que la referencia la genera el usuario (user
generated).
create type Persona
(nombre varchar(20),
direccin varchar(20))
ref using varchar(20)
create table persona of Persona
ref is ido user generated
Al insertar una tupla en persona se debe proporcionar un valor para el
identificador:
insert into persona values
(01284567, Juan, Plaza Mayor, 1)
Ninguna otra tupla de persona o sus supertablas pueden tener el mismo
identificador. Se puede entonces usar el valor del identificador al insertar una tupla
en departamentos, sin necesitar una consulta separada para obtener el
identificador.
insert into departamentos
values (Informtica, 01284567)

7.7 Implementacin de las caractersticas O-R

11

La orientacin a objetos constituye una nueva forma de pensar acerca de


problemas empleando modelos que se han organizado tomando como base
conceptos del mundo real.
Los modelos orientados a objetos son tiles para comprender problemas,
comunicarse con expertos en esa aplicacin, modelar empresas, preparar
documentacin y disear programas y bases de datos.
El beneficio principal no es un tiempo de desarrollo ms reducido, el desarrollo
orientado a objetos puede requerir ms tiempo que el desarrollo convencional
porque se pretende que promueva la reutilizacin futura y la reduccin de los
posteriores errores y el futuro mantenimiento.
Las bases de datos orientadas a objetos unen dos tecnologas:
La de las bases de datos y la de los lenguajes orientados a objetos. Los LPOO
aportan gran capacidad en la manipulacin de datos, pero no implementan el
almacenamiento y consulta de grandes volmenes de datos.
Por el contrario, las bases de datos convencionales aportan un dominio de las
tcnicas de almacenamiento y consulta de grandes volmenes de datos, aunque
su capacidad de manipulacin es limitada.
Las bases de datos orientadas a objetos pretenden unir la capacidad de
manipulacin de datos de los LPOO con la capacidad de almacenamiento y
consulta de los SGBD.
Crear objetos
Crear clases para organizar objetos
Llamar mtodos para acceder objetos especficos
Estructuras jerrquicas de herencia para organizar clases y sub-clases
Facilidades de bases de datos estndar
Facilidades de queries no procedimentales para recuperar objetos
Procesamiento y optimizacin de queries automticos
Cambios de esquemas dinmicos
Manejo de transacciones automticas
Control de concurrencia
Seguridad e integridad
Enfoques de construccin de BDOO
Primer enfoque
- Utilizar cdigo actual
- No hay que implementar de cero
- Se construyen los sistemas a partir de componentes ya probados
Segundo enfoque
- Extensin de la tecnologa de las BD relacionales
- Tercer enfoque
- Nueva arquitectura optimizada
Los lenguajes de programacin orientada a objetos requieren que toda la
interaccin con los objetos se realiza mediante el envo de mensajes.

12

Complejidad de modificacin:
- Adicin de una clase
- Eliminacin de una clase
Identidad de Objetos
- Se debe asignar a cada objeto un OID
- Debe ser inmutable
- Se debe usar una sola vez
- No debe No debe depender de la direccin fsica de almacenamiento
- depender de ningn atributo
Constructores Bsicos
- Constructores de tomos
- Constructores de tuplas
- Constructores de Conjuntos
Compatibilidad con Lenguajes de Programacin
Extender otros lenguajes de manejo de datos como SQL para que manejen tipos
de datos complejos y la programacin orientada a objetos
Extender lenguajes de programacin Orientada a Objetos para que trabajen con
bases de datos
Manejo de Objetos Complejos
- Ofrecer a la aplicacin una porcin del objeto antes de obtener el objeto
completo
- Usar tcnicas de almacenamiento intermedio y cache para obtener
anticipadamente porciones del objeto.
Ventajas en BDOO
-

Esta su flexibilidad y soporte para el manejo de tipos de datos complejos.


Manipula datos complejos en forma rpida y gilmente.

Desventajas de la BDOO
-

La inmadurez del mercado de BDOO constituye una posible fuente de


problemas por lo que debe analizarse con detalle la presencia en el
mercado del proveedor para adoptar una lnea de produccin sustantiva.
Es la falta de estndar en la industria orientado a objetos.

13

Conclusin.
Las bases de datos orientadas a objetos nos sirven para manejar nuestra
informacin de una manera ms dinmica, esto se hace implementando nuestra
base en algn lenguaje de programacin que maneje objetos tales son como:
Java, C#, Visual Basic.NET y C++. Cada objetos que creamos en nuestra BDOO
tiene caractersticas que podemos manejar con este implemento, las BDOO son
una buena eleccin para aquellos sistemas que necesitan un buen rendimiento en

14

la manipulacin de tipos de dato complejos. Los tipos de datos complejos que se


utilizan en este mtodo son: Colecciones, tipos estructurado y objetos de gran
tamao. Sobre la herencia en SQL observamos que es similar a la programacin
orientada a objetos que conocemos, se trata de heredar atributos de otra tabla
conocida como Padre que le pasa todos sus valores a una tabla hijo con los
atributos de Padre. Sobre los tipos de arreglo multiconjunto en SQL se pudo
deducir que son colecciones sin orden donde un elemento puede aparecer varias
veces y como se observ se siguen desarrollando muchas aplicaciones con este
mtodo que se investig y cada vez ms nosotros requerimos de ms espacio de
memoria porque ya no solo guardamos una cadena de texto o un conjunto de
informacin en comn sino que ahora almacenamos desde un par de megabytes
hasta grandes cantidades gigabytes esto se debe a que esta informacin se trata
desde una fotografa de baja resolucin hasta un video en alta resolucin o un
mapa muy detallado sobre la ciudad en que vives y SQL maneja tipos de datos
para objetos de gran tamao como los que acabamos de mencionar que son blob,
clob y lob. Como beneficio principal de este mtodo podramos decir que no es un
tiempo de desarrollo ms reducido, el desarrollo orientado a objetos puede
requerir ms tiempo que el desarrollo convencional porque se pretende que
promueva la reutilizacin futura y la reduccin de los posteriores errores y el futuro
mantenimiento.

Bibliografa.
http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf
http://www.ciens.ucv.ve/escueladecomputacion/documentos/archivo/87
http://kybele.escet.urjc.es/documentos/BDA/Parte2/OdmgV3.PDF

Potrebbero piacerti anche