Está en la página 1de 11

Universidad Nacional Abierta y a Distancia

Escuela De Ciencias Básicas Tecnología E Ingeniería

301125 Base de Datos Avanzado

Práctica No. 3:

Base de datos orientadas a objetos

Presentado Por:

Daniel Fernando Cordero Bayona

Grupo 18

Tutor:

Anivar Nestor Chaves

6 de mayo de 2014

Colombia

Introducción

El presente trabajo pretende dar solución al informe y al trabajo de la práctica 3 del curso
Base de Datos Avanzado que se imparte en la UNAD y que hace parte del programa
educativo de Tecnología de Sistemas.

La actividad se aborda estableciendo el trabajo individual como eje de la ejecución del


planteamiento de la necesidad y solución de base de datos orientada a objetos para una
empresa que maneja la venta de productos y servicios en varias locaciones en un país
construyendo un sistema de información que usa fragmentación de los datos para permitir
que cada una de las sedes en que se tiene operaciones pueda tener acceso a información
relevante y necesaria para la realización de sus operaciones sobre los clientes, los productos
y demás.

La solución al trabajo se hará de acuerdo al entrenamiento recibido por parte del material
proporcionado por la universidad y apoyado en el material de referencia y ejemplos de
consultados en la bibliografía.
 

1. Descripción del sistema

Prometeus es una empresa de comercialización de equipos de cómputo y soluciones


informáticas en general. Sus actividades consisten en la comercialización de diferentes
clases de equipos de cómputo, la instalación y configuración de redes y servidores, y el
servicio de mantenimiento preventivo y correctivo. Prometeus tiene agencias en las
principales ciudades del país.

Los usuarios de la información del sistema de gestión de la empresa Prometeus están


agrupados en sus diferentes sedes y los clientes de la empresa.

Cada sede mantiene su propio esquema de datos completo y realiza la creación de sus
registros en la base de datos usando una fragmentación horizontal que mediante los índices
principales de cada tabla ejecuta una división de registros basándose en el valor de este,
usando por ejemplo, para la sede A los valores de 0 a 99999999, para la sede B desde
100000000 hasta 199999999 y así para cada una de las cinco (5) sedes, permitiendo que
haya una división que no afecte la consistencia del esquema y maximice el rendimiento de
las consultas a nivel local, y dando un buen servicio a las consultas remotas reduciendo el
ancho de banda necesario para la comunicación de los datos.

Identificar los usuarios de la información

Los usuarios de la información del sistema de gestión de la empresa Prometeus está


agrupada entre los usuarios de Prometeus en sus diferentes sedes y los clientes de la
empresa.

Los usuarios de la información se refiere al equipo de ventas, de soporte técnico y la


administración, cada uno de ellos juega roles semejantes en poder consultar la información
del sistema.

2. Objetivos de la base de datos orientada a objetos

Esta empresa requiere mejorar la gestión de la información de manera que pueda acceder a
los datos de todas sus agencias de forma oportuna y con facilidad, gestionar la venta y
realización de productos y servicios a sus clientes de diferentes ciudades mediante la
tecnología de bases de datos orientadas a objetos.

Requisitos de información

El equipo de ventas requiere para el desarrollo de sus funciones los:


 Listados de clientes de las diferentes ciudades

 Listado de ciudades donde se opera

 Listado de sedes a nivel nacional

 Listado de pedidos y facturas

 Listado de los servicios y el hardware

El equipo de soporte técnico y servicios hace los trabajos que se deben llevar a cabo para los
clientes, para esto necesitan:

 Listado de pedidos

 Listado de los elementos de cada pedido

 Listado de hardware y servicios que tienen disponibles y deben realizar

El personal administrativo debe tener acceso a los recursos de los dos grupos anteriores y
también a:

 Listado de nómina de cada ciudad

 Listado de empleados

3. Diseño de la base de datos orientada a objetos y consultas

El sistema propuesto consiste en la implementación de una sistema de base de datos que


usa la información de las diferentes sedes y que es alimentado con los registros de las
ventas que son grabadas en las sedes y que está localizado en las instalaciones de la sede
A, mediante la conexión de red entre las bases de datos distribuidas se hace un envío de la
información de ventas justo cuando es grabada, la bodega de datos está especializada en las
ventas y clientes, no contempla información sobre detalles que no son relevantes para el
mercadeo (Cordero, 2014).

Del diagrama de las bases de datos distribuidas en el almacén de datos se usarán réplicas
de las tablas Cliente, PedidoFactura, ItemDetalle. Los campos de las tablas que almacenan
datos de otras relaciones y que son relevantes son insertados en el proceso de
transformación de los datos en la sede y son grabados en la bodega de datos reduciendo la
complejidad de los datos en la bodega.

La implementación de la base de datos se realizará mediante un servidor que implementa


conexión a Internet y tiene un SGBD orientado a objetos que usa la misma tecnología que las
bases de datos distribuidas, la sincronización de datos, el manejo de las réplicas y el
funcionamiento de las bases de datos distribuidas se implementarán mediante una aplicación
empresarial desarrollada en Java y usará RMI/CORBA 1 para la comunicación en red.

La principal ventaja para la organización es que le va a permitir hacer análisis de los datos de
ventas y de clientes de todas las sedes a nivel nacional, con la posibilidad de usar esta
información para perfilar sus clientes y encontrar información y tendencias en las ventas y
mejorar la atención buscando incentivar el comercio y las ganancias económicas.

La base de datos da un caso general que incorpora los elementos básicos de interacción
entre la empresa y los clientes:

Para la implementación del esquema de trabajo de la base de datos y en especial debido a la


necesidad que tendría cada una de las sedes a nivel nacional de tener acceso constante y
frecuente a todos los datos relativos a su entorno, se tiene que se va a consultar y a escribir
muchos registros en todas las tablas de la base de datos, y se va a tener un bajo nivel de
accesos a los datos de otras sedes, por lo que se tiene que pueden existir dos escenarios
óptimos para la implementación:

En el caso de la implementación actual se usará el segundo escenario por ajustarse a los


requisitos del problema y porque disminuye el riesgo de falla de los datos en caso que
estuvieran complemente centralizados (Cordero, 2014).

Las relaciones que se fragmentan según el id de identidad son:

 Nómina

 Empleado

 ItemDetalle

 PedidoFactura

 Cliente

Las relaciones que se replican con copia exacta en todas las sedes son:
 HardwareServicio

 SedePrometeus

 Ciudad

Las clases del sistema básicamente son las que se muestran a continuación, se han omitido
clases auxiliares que no competen al modelo del negocio.

 Nomina: Representa un conjunto de empleados para una sede particular de la


empresa

 Empleado: Representa una persona que hace trabajos para la organización

 HardwareServicio: Son los productos y servicios que comercializa la empresa

 SedePrometeus: Representa cada una de las diferentes sedes a nivel nacional que
tiene la empresa

 ItemDetalle: Significa cada uno de los elementos de un pedido/factura que se haga

 Ciudad: Son las diferentes localidades del país donde están localizados los clientes y
las sedes de la empresa

 PedidoFactura: Representa cada una de las ordenes de gestión que se hacen para
satisfacer las necesidades de los clientes

 Cliente: Representa cada una de las personas o empresas a las que se les brindan
servicios a cambio de un valor

El diagrama UML de clases siguiente muestra las relaciones entre los tipos de objetos del
modelo, no se diagraman getters, setters, buscadores o constructores, con el propósito de
simplificar el proceso.
Las operaciones se detallan a continuación:

Nomina{

agregarEmpleado( Empleado e){

//Este método agrega un Empleado a la nómina

quitarEmpleado(Empleado e){

//Este método quita un Empleado de la nómina

}
SedePrometeus{

agregarEditarPedido(Pedido p){

//Este método agrega un Pedido a la lista de pedidos de una sede

quitarPedido(Pedido p){

//Este método quita un Pedido de la lista de pedidos de una sede

PedidoFactura{

agregarEditarItem(ItemDetalle i){

//Este método agrega un ItemDetalle a un pedido

quitarItem(ItemDetalle i){

//Este método quita un ItemDetalle de un pedido

Los atributos de las clases en el diagrama no se detallan al ser demasiado obvios los datos
que guardan. Cada instancia de cada clase tiene un identificador único de tipo numérico
auto-incrementado que no se pone en las clases por asumirse su necesidad. Sin embargo en
las relaciones que tienen múltiples hijos las relaciones son hechas mediante listas numéricas
que guardan el identificador de la instancia a la que hace referencia.

A continuación se muestran fragmentos de código que ilustran el proceso de lectura,


búsqueda y grabado de datos a una base de datos orientada a objetos usando el sistema del
datastore de Google App Engine y el lenguaje de programación Java implementando el
marco datanucleus.
Conexión a la base de datos:

// abrir datastore

PersistenceManager pm = PMF.getPersistenceManager();

// actualizar el resumen de encuesta

Búsqueda y lectura de registros:

Query q = pm.newQuery(ResumenEncuesta.class);

q.setFilter(“ID == idParam”);

q.declareParameters(“Integer idParam”);

ResumenEncuesta resumenEncuesta = null;

try {

@SuppressWarnings(“unchecked”)

List<ResumenEncuesta> results = (List<ResumenEncuesta>)


q.execute(ResumenEncuesta.serialVersionUID);

if (!results.isEmpty()) {

for (ResumenEncuesta p : results) {

// reconstrucción de la entidad

resumenEncuesta = p;

} else {

Grabado de datos:

// Handle “no results” case

// crear el primer ResumenEncuesta


resumenEncuesta = new ResumenEncuesta();

pm.makePersistent(resumenEncuesta);

System.out.println(“Se ha creado el registro inicial de encuestas, vuelva intentarlo”);

} finally {

q.closeAll();

pm.close();

Conclusiones

Para el desarrollo del problema de la situación que se presenta a la empresa es muy


importante contar con conocimiento sobre el modo de operación de los diferentes
departamentos que la conforman para lograr plasmar los requisitos del cliente en un diseño
de datos que solucione las necesidades.

Es necesario el dominio de la notación de entidades y relaciones y la habilidad de simplificar


el modelo ayudándose de los avances y la información de referencia publicada por otros
autores sobre la mejor manera de solucionar los problemas, en especial sobre las base de
datos fragmentadas y el rendimiento de sus componentes en situaciones de recursos
limitados.

El conocimiento del manejo de un sistema gestor de base de datos es fundamental para la


construcción de un diagrama de entidades contemplado dentro del modelado orientado a
objetos que pueda ser llevado a funcionamiento entendiendo las limitaciones del software
disponible para solucionar las áreas que se salen del alcance del SGBDOO.

Para la construcción de bases de datos fragmentadas se requieren habilidades de


programación y de arquitectura de sistemas que implican seguridad, usuarios, autenticación
y supervisión remota, como también otras, y la manera de implementarlos de acuerdo a los
conocimientos del analista.

Para la construcción de bases de datos fragmentadas se requieren habilidades de


programación y de arquitectura de sistemas que implican seguridad, usuarios, autenticación
y supervisión remota, como también otras, y la manera de implementarlos de acuerdo a los
conocimientos del analista.
Para la implementación de bodegas de datos se deben tener habilidades multidisciplinarias
debido a que la tarea de construcción de sistemas de base de datos apoyados por software
distribuido requiere una gran cantidad de conocimiento en áreas como mercadeo, gerencia
de proyectos, desarrollo de software y administración de redes.

Las bases de datos orientadas a objetos son un repositorio de información que permite a las
organizaciones mejorar sus procesos de negocio mediante el análisis de la información
histórica de sus operaciones y facilita que se tenga mejores servicios y respuestas a las
necesidades de los clientes mediante la persistencia de datos para su uso y análisis
posterior.

Referentes / Bibliografía

SÁNCHEZ, M. 301330 Módulo Bases de Datos Básico. UNAD. Julio de 2011

BERNAL, R. 301330 Módulo Bases de Datos Avanzado. UNAD. 2005

Bases de datos Avanzada. UNAD. Colombia. Consultado el 20 de Marzo de 2014, en la


página web:

http://66.165.175.211/campus13_20141/mod/resource/view.php?id=2108

CABRERA, H. et al. Módulo Lenguaje Unificado de Modelado UML, UNAD. 2013.

JAMES, S. Análisis y Diseño de Sistemas de Información. Editorial Mc Graw Hill.

BATINI C.; Ceri S.; Navathe S. Diseño conceptual de bases de datos. Un enfoque de
entidades-interrelaciones. 1994. Ed. Addison-Wesley.

CASTAÑO A.; Piattini M. Fundamentos y modelos de bases de datos. 1999. Ed. Alfaomega.
Segunda edición.

CERI S, Pelagatti G.,Distributed databases principles & systems.. Ed. MacGraw-Hill. 1985.

DATE, C. J, Introducción a los sistemas de bases de datos. Ed. Prentice Hall. Séptima
edición.

DORSEY, P, Hudicka Oracle8. Diseño de bases de datos con UML. J. Ed. Oracle press.
1999.

KROENKE,D. Procesamiento de bases de datos. Fundamentos, diseño e implementación.


2003. Ed. Pearson Education. Octava edición .
SILVERSCHATZ, Korth y Sudarshan, Fundamentos de bases de datos, Ed MacGraw- Hill.
Cuarta edición .

OTZU, Valduriez, Distributed databases, Ed. MacGraw-Hill.

ULLMAN, J Principles of database systems, Ed. Computer science press, 1982.

301330 Módulo Bases de Datos Básico. Maria Dora Alba Sánchez Gómez. UNAD. Julio de
2011

301330 Módulo Bases de Datos Avanzado. Rogelio Vasquez Bernal. UNAD. 2005

Bases de datos Avanzada. UNAD. Colombia. Consultado el 20 de Marzo de 2014, en la


página web:

http://66.165.175.211/campus13_20141/mod/resource/view.php?id=2108

Harold Emilio Cabrera Meza. Módulo Lenguaje Unificado de Modelado. UNAD. 2013 Material
didáctico. UNAD. Colombia. Consultado el 12 de marzo de 2013, en la página web:

http://datateca.unad.edu.co/contenidos/200609/exeuml/

Módulo Lenguaje Unificado de Modelado UML, Harold Emilio Cabrera Meza et al, UNAD.
2013.

El proceso Unificado de desarrollo de software, Booch Graby, Rumbaugh James, Jacobson


Ivar, Edit Addison Wesly, 2002

Análisis y Diseño de Sistemas de Información, Senn James, Editorial Mc Graw Hill

Práctica No. 1: Actividad de reconocimiento. Cordero, Daniel. 2014.

Práctica No. 2: Bodegas de datos. Cordero, Daniel. 2014.

1Tecnología de comunicación mediante la red para servidores de aplicaciones.


http://www.oracle.com/technetwork/articles/javase/rmi-corba-136641.html

También podría gustarte