Está en la página 1de 22

FACULTAD DE INGENIERÍA

ASIGNATURA:
BASE DE DATOS II

DOCENTE:
PROF. ING. DORALIZ PAREDES
UNIDAD 2

MODELOS DE BASES DE DATOS


ORIENTADO A OBJETOS
EJERCICIOS DE BD RELACIONAL
Fábrica de Pelotas “Golazo”
Solicitan nuestros servicios para resolver el almacenamiento de datos de un sistema de gestión de
la producción de una fábrica de pelotas. La fábrica se compone de una serie de plantas, cada una
identificada por un color. De las plantas conocemos la superficie en metros cuadrados y la lista de
procesos que se llevan a cabo dentro de ellas; de estos procesos sólo conocemos su nombre y un
grado de complejidad asociado.
Dentro de cada planta se encuentran las máquinas. Cada máquina es de una marca y un modelo, y
se identifica por un número; este número es único a lo largo de todas las plantas.
Cada máquina es operada por técnicos, debemos conocer en qué rango de fechas los técnicos
estuvieron asignados a esa máquina, y además en qué turno (mañana, tarde o noche).
De los técnicos conocemos su DNI, nombre, apellido y fecha de nacimiento, aparte de una serie
de números telefónicos de contacto.
Existen situaciones normales en las que una máquina sale de servicio y debe ser reparada, lo
único que nos interesa conocer aquí es cuál otra máquina está asignada para tomar el trabajo que
ella no puede realizar
Sistema de Blogs
Una importante radio decide realizar un sistema de blogs para que cada uno de sus
programas escriba notas que puedan resultar de interés a los oyentes. Para ello cuentan con
un Modelo Entidad-Relación en el cual se identifican las siguientes entidades del dominio
que van a manejar.
En primer lugar contamos con los programas, de los mismos conocemos el nombre
(único), descripción, la lista de conductores y un horario compuesto por la hora en la que
inicia y la hora en la que termina. Estos programas son los que escriben las notas, de ellas
conocemos su titulo (único), contenido, una imagen y un resumen de la misma para
mostrar en los listados de notas. Un programa puede escribir muchas notas pero cada una
esta escrita solo por un programa.
Para diferenciar las notas en distintos grupos, el sistema cuenta con la posibilidad de
asignar categorías a las mismas. De ellas conocemos el nombre (único), descripción y una
imagen que la identifica. Una ventaja que tiene el sistema de categorías es que se pueden
crear jerarquías muy fácilmente, esto quiere decir que una categoría puede pertenecer a
otra, por ejemplo, podría existir la categoría “Arte” y esta a su vez contener dos categorías
hijas “Música” y “Pintura”. Para lograr interacción con los oyentes, el sistema permite que
los mismos se registren y comenten las notas. De los usuarios conocemos su username,
password, fecha de registro, avatar y un email el cual solo puede registrarse una vez.
Los comentarios poseen un numero de id y el texto que lo compone
INTRODUCCIÓN
 La estructura de datos básica que ofrece la tabla relacional es
apropiada par a muchas aplicaciones habituales. Sin embargo
existe casos de uso particulares que requieren gestionar datos
complejos o no convencionales (estructuras, imágenes,
documentos, etc)

 Las bases de datos orientadas a objetos intentan dar


respuestas a las anteriores necesidades
Las BDOO incorporan las siguientes características:

 Adoptan como modelo de datos el de los lenguajes


orientados a objetos, permitiendo así el uso de estructuras de
datos tan complejas como sea necesario, y eliminando en
gran medida las barreras entre el desarrollo de aplicaciones y
la gestión de datos

 Permiten la extensibilidad con nuevos tipos de datos


complejos, permitiendo incorporar operaciones arbitrarias
sobre ellos.
EVOLUCIÓN HISTÓRICA DE LAS BD
BASES DE DATOS ORIENTADO A
OBJETOS

El modelo de base de datos orientada a objetos agrupa la


información en paquetes relacionados entre sí: los datos de
cada registro se combinan en un solo objeto, con todos sus
atributos.

De esta manera, toda la información está disponible en el


objeto, ya que sus datos quedan agrupados en lugar de
distribuidos en diferentes tablas
DIFERENCIAS

BD Orientadas a Objetos BD Relacionales


- Modelo de datos equivalente a los - Modelo de Datos no equivalentes a
lenguajes de programación los lenguajes de programación
Orientado a Objetos Orientada a Objetos
- Se puede integrar las BDOO con el - Se usa un lenguaje de
software usado para desarrollar programación para la aplicación y
aplicaciones directa y transparente SQL para el acceso la Base de datos
NIVELES DE SOPORTE DE LA
TECNOLOGÍA ORIENTADA A OBJETOS
 A pequeña escala se encuentran las librerías que permite
almacenamiento persistente de objetos.
Están disponibles para cualquier lenguaje de programación
orientada a objetos, pero en muchos casos no incorporan
características avanzadas, como soporte transaccional o
multiusuario.
 Después están las bases de datos objeto-relacionales, para
aplicaciones que requieren usar algunos tipos de datos
complejos en un entorno esencialmente relacional, y que se
basan en extensiones orientadas a objetos de SQL
 Finalmente, las bases de datos orientadas a objetos puras
proporcionan una gestión de datos orientadas a objetos a todos
los niveles, desde la definición de datos al lenguaje de consulta
IGUALDAD FRENTE A IDENTIDAD

 Por ejemplo la ejecución del siguiente código Java:


FASES DEL MODELO ORIENTADO A
OBJETO
 Análisis: se ocupa del que, de entender el dominio del
problema

 Diseño: responde al como, y se centra en el espacio de la


solución

 Implementación: fase en la que se adapta la solución a un


entorno de programación especifico
Los objetos se dividen a su vez en clases. Más concretamente,
un objeto es una unidad concreta de una clase abstracta, lo que
crea una jerarquía de clases y subclases. Dentro de esta
estructura, las subclases adoptan las propiedades de las clases
superordinadas y las complementan con sus propios atributos.
Al mismo tiempo, los objetos de una clase también pueden
relacionarse con otras clases, lo que rompe la jerarquía estricta
y permite formar redes. Los objetos simples también pueden
combinarse para crear objetos más complejos
Para gestionar los diversos objetos, el SGBD orientado a
objetos correspondiente asigna automáticamente un código de
identificación único a cada registro, que permite recuperar los
objetos una vez que se han guardado
 Ejemplo: en el contexto de una base de datos orientada a
objetos, podemos guardar una bicicleta como objeto, con
todos sus atributos y métodos: es roja, se puede conducir,
tiene sillín, etc. Este objeto forma parte de la clase
“bicicletas”, en la que, por ejemplo, también podría incluirse
una bicicleta azul y otra verde. A su vez, la clase “bicicletas”
es una subcategoría de “vehículos”, que también incluye la
clase “coches”. Por otra parte, el objeto también está
relacionado con la clase “actividades de ocio”. Si accedemos
a este objeto a través de su código de identificación único,
dispondremos directamente de todos sus métodos y atributos
BASES DE DATOS ORIENTADAS A
OBJETOS VS. RELACIONALES
Como hemos dicho, las bases de datos relacionales son el
estándar en programación y desarrollo web desde hace mucho
tiempo. En este modelo, la información se almacena en tablas
relacionadas entre sí. Las relaciones también permiten
almacenar y consultar información compleja compuesta por
varios elementos, al igual que en las bases de datos de objetos.
En las últimas, sin embargo, todos los atributos de cada objeto
están disponibles de inmediato y, además, los registros pueden
ser mucho más complejos. Por otra parte, con las bases de datos
relacionales, lo más habitual es intentar simplificar al máximo la
información que se introduce. Cuanto más complejo se vuelve el
conjunto de los datos, más extensas son las relaciones entre
ellos, lo que ralentiza la base de datos.
VENTAJAS E INCONVENIENTES DEL MODELO
DE BASE DE DATOS ORIENTADA A OBJETOS
 Se desea almacenar la información de una compañía aérea en
una base de datos relacional. La compañía aérea tiene tres
recursos principales: aviones, pilotos y miembros de tripulación.
De cada piloto se desea conocer su código, nombre y horas de
vuelo. De los miembros de tripulación sólo mantendremos su
código y nombre. Todos ellos (pilotos y miembros) tienen una
base a la que regresan después de los vuelos de una jornada. Un
vuelo que va desde un origen a un destino y a una hora
determinada, tiene un número de vuelo (por ejemplo, el vuelo de
Palma a Alicante de las 13:50 es el vuelo IB-8830). De cada
vuelo que se va a realizar durante los próximos tres meses, así
como de los vuelos que ya se han realizado, se desea saber el
avión en que se va a hacer o en el que se ha hecho, el piloto y
cada uno de los miembros de la tripulación. Cada avión tiene un
código, es de un tipo (por ejemplo, BOEING-747) y tiene una
base donde es sometido a las revisiones periódicas de
mantenimiento
 Una organización no gubernamental se encarga de enviar
ayuda material (medicamentos y alimentos) y ayuda
humanitaria (personal sanitario) a campos de refugiados. Esta
organización obtiene sus ingresos de las cuotas de los socios,
de los que se desea conocer los datos personales, la cuenta
bancaria en donde se realizan los cargos anuales, la fecha de
pago y el tipo de cuota. En la actualidad hay tres tipos de
cuotas, pudiendo variar en el futuro: mínima (10 euros
anuales), media (20 euros anuales) o máxima (30 euros
anuales).
 Cada socio pertenece a una de las sedes de la organización, cada una
de ellas ubicada en una ciudad distinta. De las sedes se desea conocer
el domicilio y el nombre de su director. La organización cuenta con
dos tipos de voluntarios: los que realizan labores humanitarias
(personal sanitario) y los que realizan labores administrativas
(personal administrativo). De los primeros se desea conocer su
profesión (médico, ATS, etc.), su disponibilidad actual (sí/no) y el
número de trabajos en los que ha participado. De todos los voluntarios
se desea conocer los datos personales y la sede en la que se
inscribieron. Cada envío tiene un destino y una fecha de salida. Para
identificar los envíos, se les asigna un código único. Además, cada
envío es organizado por una o varias sedes. Los envíos de ayuda
material pueden ser de alimentos, debiéndose conocer el número de
toneladas de cada alimento que se manda; o pueden ser de
medicamentos, debiéndose conocer el número de unidades de cada
medicamento. De los envíos de ayuda humanitaria se debe conocer el
número de voluntarios que se mandan de cada profesión (por ejemplo:
10 médicos, 20 ATS) y quienes son cada uno de ellos.

También podría gustarte