Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BIBLIOGRAFA
UNIDAD I: INTRODUCCIN
ORIENTADAS A OBJETOS
LAS
BASE
DE
DATOS
=
=
=
=
=
=
(i1,
(i2,
(i3,
(i4,
(i5,
(i6,
son idnticos, aunque los propios objetos no lo son porque tienen OIDs
distintos. De forma parecida, aunque los estados de O4 y O5 son idnticos,
los objetos reales O4 y O5 son iguales pero no idnticos, porque tienen OIDs
distintos.
Constructores de tipo
objetos de una base de datos grande que incluye miles de objetos, por lo
que la mayora de los objetos se hacen persistentes utilizando el segundo
mecanismo, denominado nocin de alcance. Este otro mecanismo
funciona haciendo que el objeto sea alcanzable desde algn objeto
persistente. Se dice que un objeto B es alcanzable desde un objeto A si una
secuencia de referencias en el grfico del objeto conduce desde el objeto A
al objeto B.
Ejemplo:
3. Objetos complejos
Una motivacin importante que llev al desarrollo de sistemas OO fue el
deseo de representar objetos complejos. Hay dos tipos principales de
objetos complejos: estructurados y no estructurados. Un objeto
complejo estructurado est formado por componentes y se define aplicando
los constructores de tipo disponibles recursivamente a varios niveles. Un
objeto complejo no estructurado normalmente es un tipo de datos que
requiere una gran cantidad de almacenamiento, como el tipo de datos que
representa una imagen o un objeto de texto grande.
Los objetos y los literales son los bloques constructivos bsicos del modelo
de objeto. La principal diferencia entre los dos es que un objeto tiene un
identificador de objeto y un estado (o valor actual), mientras que un literal
tiene un valor pero no un identificador de objeto. En todo caso, el valor
puede tener una estructura compleja. El estado de un objeto puede cambiar
con el transcurso del tiempo modificando el valor del objeto. Un literal es
bsicamente un valor constante, posiblemente con una estructura compleja
que no cambia.
Un objeto queda descrito por cuatro caractersticas: identificador, nombre,
tiempo de vida (ciclo de vida) y estructura.
El identificador de objeto es un identificador nico para todo el
sistema (u Object_ld). Todo objeto debe tener un identificador de
objeto.
Adems del Object_ld, opcionalmente podemos asignar un nombre
nico a algunos objetos dentro de la base de datos particular. Estos
nombres se utilizan como puntos de entrada a la base de datos, es
decir que localizando esos objetos por su nombre nico, el usuario
puede localizar despus otros objetos a los que se hace referencia
desde esos objetos.
El tiempo de vida de un objeto especifica si es un objeto persistente
o un objeto transitorio.
Por ltimo, la estructura de un objeto especifica cmo se construye
el objeto utilizando los constructores de tipos. La estructura
especifica si un objeto es atmico o un conjunto coleccin. El trmino
objeto atmico es diferente a la definicin que dimos para constructor
atmico. En el modelo ODMG, un objeto atmico es cualquier objeto
que no es una coleccin; por consiguiente, esto abarca los objetos
estructurados creados con el constructor struct (constructor de tupla).
En un modelo de objeto, un literal es un valor que no tiene un identificador
de objeto. Sin embargo, el valor puede tener una estructura simple o
compleja. Hay tres tipos de literales: atmico, coleccin y estructurado.
Los literales atmicos corresponden a los valores de los tipos de
datos bsicos y estn predefinidos. Los tipos de datos bsicos del
modelo de objeto son long, short, unsigned long, unsigned short,
float, double, boolean, char, string, enum, adems de otros.
Los literales estructurados se corresponden aproximadamente con
los valores que se construyen utilizando el constructor de tupla.
Incluyen la fecha, el intervalo, la hora y la marca de tiempo como
estructuras integradas, as como cualquier estructura de tipo definida
por el usuario adicional que cada aplicacin necesite. Las estructuras
definidas por el usuario se crean utilizando la palabra clave struct de
ODL, al igual que en los lenguajes de programacin C y C++.
ODL est diseado para dar soporte a las construcciones semnticas del
modelo de objeto ODMG y es independiente de cualquier otro lenguaje de
programacin. Se utiliza principalmente para crear especificaciones de
objetos (es decir, clases e interfaces). Por tanto, ODL no es un lenguaje de
programacin completo. Un usuario puede especificar en ODL un esquema
de base de datos independientemente de cualquier lenguaje de
programacin, y despus utilizar las vinculaciones con lenguajes concretos
para especificar cmo pueden asignarse las construcciones de ODL a las
construcciones de esos lenguajes de programacin concretos.
select D.NombreDpto
from D In DEPARTAMENTOS
where O.Facultad= 'Ingeniarla';
C1A: CC_DEPARTAMENTO;
Una vez especificado un punto de entrada, el concepto de expresin de
ruta puede utilizar para especificar una ruta de acceso a los atributos y los
objetos relacionados. Una expresin de ruta normalmente empieza con el
nombre de un objeto persistente, o con la variable iteradora que recorre los
objetos individuales de una coleccin. Este nombre ir seguido por ninguno
o ms nombres de relacin o nombres de atributo conectados mediante un
punto
C2: CC_DEPARTAMENTO.Director;
C2A: CC_DEPARTAMENTO.Director.Rango;
C28: CC_DEPARTAMENTO.Tlene_docentes;
Las expresiones de ruta C2 y C2A devuelven valores sencillos, porque los
atributos Director (de DEPARTAMENTO) y Rango (de DOCENTE) son de un
solo valor y se aplican a un solo objeto. La tercera expresin C2B, es
diferente, devuelve un objeto de tipo set<DOCENTE>.
Problemas de ambigedad:
C3': CC _DEPARTAMENTO.Tiene_ docentes. Rango;
No est claro si el objeto devuelto sera de tipo set<strlng> o de tipo
bag<strlng>. Debido a este problema de ambigedad, OQL no permite
expresiones como las de C3'. En su lugar, es preciso utilizar una variable
iteradota sobre estas colecciones, como en C3A o C3B:
C3A:
select F.Rango
from F In CC_DEPARTAMENTO.Tlene_ docentes;
C38: select distinct F.Rango
from F In CC_DEPARTAMENTO.Tlene_ docentes;
Aqu, C3A devuelve bag<strlng> (en el resultado aparecen valores de rango
duplicados), mientras que C3B devuelve set<strlng> (los duplicados se
eliminan gracias a la palabra clave distinct).
En general, una consulta OQL puede devolver un resultado con una
estructura compleja especificada en la propia consulta utilizando struct.
Consideremos los siguientes ejemplos:
C4:
CC_DEPARTAMENTO.Dlrector.Tutorlza;
puede crear en una o en las dos direcciones. Si una relacin binaria est
representada por referencias en las dos direcciones, declare las referencias
para que sean propiedades de la relacin inversas entre s, si existe tal
posibilidad. Si una relacin binaria est representada por una referencia en
una sola direccin, declare la referencia para que sea un atributo en la clase
de referencia cuyo tipo es el nombre de la clase referenciada.
En1 funcin de la razn de cardinalidad de la relacin binaria, las
propiedades de relacin o los atributos de referencia pueden ser tipos
monovalor o colecciones. Sern monovalor para las relaciones binarias en
las direcciones 1: 1 o N: 1; sern tipos coleccin (conjunto o lista) para las
relaciones en la direccin 1:N o M:N.
Si existen atributos de relacin, puede utilizar un constructor de tupla
(struct) para crear una estructura de la forma <referencia, atributos
relacin>, que puede incluir en sustitucin del atributo de referencia. Sin
embargo, esto no permite el uso de la restriccin inversa. Adems, si
representa esta opcin en las dos direcciones, los valores de atributo se
representarn dos veces, lo que dar lugar a redundancia.
Paso 3: Incluya las operaciones adecuadas para cada clase. No estn
disponibles a partir del esquema DER y debe aadirlas al diseo de la base
de datos haciendo referencia a los requisitos originales. Un mtodo
constructor debe incluir cdigo de programa que compruebe las
restricciones que deban mantenerse cuando se crea un objeto. Un mtodo
destructor debe comprobar las restricciones que pueden violarse al eliminar
un objeto.
Otros mtodos deben incluir cualquier restriccin posterior que sea
relevante.
Paso 4: Una clase ODL que corresponda a una subclase del esquema EER
hereda (a travs de EXTENDS) el tipo y los mtodos de su superclase en el
esquema ODL. Debe especificar sus atributos (no heredados) especficos,
referencias de relacin y operaciones, como explicamos en los pasos 1, 2 y
3.
Paso 5: Los tipos de entidad dbiles se pueden mapear de la misma forma
que los tipos de entidad normales. Es posible un mapeado alternativo para
los tipos de entidad dbiles que no participan en ninguna relacin, excepto
su relacin de identificacin; puede mapearlos como si fueran atributos
multivalor compuestos del tipo de entidad propietario, utilizando los
constructores set<struct<. .. >>o llst<struct< ... >>. Los atributos de la
entidad dbil se incluyen en la construccin struct< ... >, que corresponde a
un constructor de tupla. Los atributos se mapean como explicamos en los
pasos 1 y 2.
Paso 6: Las categoras (tipos de unin) de un esquema DER son difciles de
mapear a ODL. Es posible crear un mapeado parecido al mapeado DER-arelacional, declarando una clase que represente la categora y definiendo
relaciones 1: 1 entre la categora y cada una de sus superclases. Otra
opcin es utilizar un tipo unin, si lo hay.
Paso 7: Una relacin n-aria con un grado n > 2 se puede mapear en dos
clases separadas, con las referencias apropiadas a cada clase participante.
Esas referencias estn basadas en el mapeado de una relacin 1:N desde
cada clase que representa un tipo de entidad participante a la clase que
2. Data Warehouse:
Un almacn de datos (del ingls data Warehouse) es una coleccin de datos
orientada a un determinado mbito (empresa, organizacin, etc.), integrado,
no voltil y variable en el tiempo, que ayuda a la toma de decisiones en la
entidad en la que se utiliza.
Usuarios limitados.
rea especfica.
Tiene un propsito especfico.
Tiene una funcin de apoyo.
3 Modelado:
3.1. Procesamiento analtico (OLAP).
Los data warehouse soportan el procesamiento analtico en lnea, conocido
como OLAP (On-Line Analytical Processing). OLAP rene un gran nmero de
operaciones (solamente de consulta), en las se cruzan gran cantidad de
informacin con el objetivo final de crear informes y resmenes que sean
tiles en la toma de decisiones. Los algoritmos que utiliza estn
implementados para optimizar los tiempos de respuesta a las consultas,
logrando eficiencia y almacenando los datos en estructuras especializadas.
OLAP fue creado bajo las siguientes ideas:
Lograr rapidez de respuesta: entregar la informacin a los usuarios
finales en el menor tiempo posible, de 0 a 5 segundos.
Posibilitar el anlisis: ofrecer anlisis numrico y estadstico de los
datos, con valores agregados. Esto permite analizar tendencias,
causas, detectar variables de inters y descender hasta los niveles
Copo de nieve
Un esquema en copo de nieve es una estructura algo ms compleja que
el esquema en estrella. Se da cuando alguna de las dimensiones se
implementa con ms de una tabla de datos. La finalidad es normalizar las
tablas y as reducir el espacio de almacenamiento al eliminar la redundancia
de datos; pero tiene la contrapartida de generar peores rendimientos al
tener que crear ms tablas de dimensiones y ms relaciones entre las tablas
(JOINS) lo que tiene un impacto directo sobre el rendimiento. A favor de los
esquemas en copo de nieve es que al estar normalizadas las tablas de
dimensiones, se evita la redundancia de datos y con ello se ahorra espacio.
Constelacin
El esquema de constelacin est compuesto por una serie de esquemas
en estrella, posee una tabla de hechos principal y una o ms tablas de
hechos auxiliares. Dichas tablas yacen en el centro del modelo y estn
relacionadas con sus respectivas tablas de dimensiones.
No es necesario que las diferentes tablas de hechos compartan las mismas
tablas de dimensiones, ya que, las tablas de hechos auxiliares pueden
vincularse con solo algunas de las tablas de dimensiones asignadas a la
tabla de hechos principal, y tambin pueden hacerlo con nuevas tablas de
dimensiones.
Su diseo y cualidades son muy similares a las del esquema en estrella,
pero posee una serie de diferencias con el mismo, que son precisamente las
que lo destacan y caracterizan. Entre ellas se pueden mencionar:
Permite tener ms de una tabla de hechos, por lo cual se podrn
analizar ms aspectos claves del negocio con un mnimo esfuerzo
adicional de diseo.
Contribuye a la reutilizacin de las tablas de dimensiones, ya que una
misma tabla de dimensin puede utilizarse para varias tablas de
hechos.
No es soportado por todas las herramientas de consulta y anlisis.
Base de Datos
Transaccional
Operaciones diarias.
Soporte a las
aplicaciones.
Datos de funcionamiento
de la organizacin.
Datos de
funcionamiento,
cambiantes, internos,
incompletos.
Almacn de Datos
Recuperacin de informacin,
informes, anlisis y minera de
datos.
Datos tiles para el anlisis, la
sumarizacin, etc.
Datos histricos, datos
internos y externos, datos
descriptivos.
Modelo de
datos
Datos normalizados.
Nmero y tipo
de usuarios
Cientos/miles:
aplicaciones, operarios,
administrador de la base
de datos.
Decenas: directores,
ejecutivos, analistas.
Acceso
1.2. Granularidad.
La granularidad representa el nivel de detalle al que se desea almacenar
la informacin sobre el negocio que se est analizando. Por ejemplo, los
datos referentes a ventas o compras realizadas por una empresa, pueden
registrarse da a da, en cambio, los datos pertinentes a pagos de sueldos o
cuotas de socios, podrn almacenarse a nivel de mes.
Mientras mayor sea el nivel de detalle de los datos, se tendrn mayores
posibilidades analticas, ya que los mismos podrn ser resumidos o
sumarizados. Es decir, los datos que posean granularidad fina (nivel de
detalle) podrn ser resumidos hasta obtener una granularidad media o
gruesa. No sucede lo mismo en sentido contrario, ya que por ejemplo, los
datos almacenados con granularidad media podrn resumirse, pero no
tendrn la facultad de ser analizados a nivel de detalle. O sea, si la
granularidad con que se guardan los registros es a nivel de da, estos datos
podrn sumarizarse por semana, mes, semestre y ao, en cambio, si estos
1.3. Operaciones
Las operaciones que se pueden realizar sobre modelos multidimensionales y
que son las que verdaderamente les permitirn a los usuarios explorar e
investigar los datos en busca de respuestas, son:
2. Ciclo de Desarrollo: