Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODULO
CONTENIDO
Temas Pág.
Introducción 8
UNIDAD 1
BASES DE DATOS RELACIONALES 1
CAPÍTULO 2. Transacciones 24
CAPÍTULO 3. Consultas 29
3.1 Recuperación 29
3.2 Cálculo relacional
31
3.3 Optimización de consultas
32
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
UNIDAD 2 34
CAPITULO 4. Catalogo 82
4.1. Conceptos básicos 82
4.2. Centralizado 82
4.3. Completamente replicado 82
4.4. Dividido 82
4.5. Combinación de centralizado y dividido 82
UNIDAD 3 86
1.1 Introducción 86
1.2 Conceptos básicos 87
1.3 Arquitectura de administrador de sistemas de BDOO. 89
1.4 Ssistema administradores de bases de datos orientadas a objetos
(SABD-OO) 91
1.5 El sistema Postgres 92
1.6 Lenguaje de modelado unificado (UML) 92
1.6.1 Introducción 92
1.6.2 UML, ¿Método o Lenguaje de Modelado? 94
1.6.3 Una perspectiva de uml 95
1.6.4 Diagramas de Secuencia 99
1.6.5. Diagramas de Colaboración 100
1.6.6. Modelando el comportamiento de las Clases con Diagramas de
Estado 101
1.6.7. Diagramas de Actividad 102
1.6.8 Modelando Componentes de Software 103
1.6.9 Modelando la Distribución y la Implementación 104
1.6.10 Diseño de Bases de Datos Relacionales -- Una extensión informal
de UML 105
1.7 Consultas orientadas a objetos 107
LISTA DE FIGURAS
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
FIGURAS Pág.
Figura 36: Relación caso de uso Extiende (extends) frente a relación de caso
Usa (uses). 109
LISTA DE TABLAS
Pág.
INTRODUCCIÓN
UNIDAD 1
BASES DE DATOS RELACIONALES
Hoy en día un dato, como recurso, se acepta por ser importante para la evolución
satisfactoria de la organización como lo son los recursos financieros, humanos y
físicos.
Convenciones
En todo momento se deben aplicar convenciones rigurosas, estándares y
directrices, incluyendo los conceptos de normalización de datos.
Definición mínima
Se debería definir o modelizar cualquier información o concepto de datos sólo de
una forma, y a continuación configurar asociaciones para los objetos
relacionados. Como por ejemplo, se debería definir una vez una cosa
denominada “Pedido de compra” y a continuación relacionarlo con el
departamento, los productos, las funciones de autorización y así sucesivamente,
como se requiera.
Patrones genéricos
Deberían buscarse patrones genéricos de datos para permitir a los usuarios
utilizarlos en su gestión, además de tener la oportunidad de perfeccionar la forma
de procesar sus datos y de sugerir estructuras más rentables y flexibles para los
diseñadores de bases de datos.
Actitud y calidad
Los modelizadores deben comenzar aplicar las convenciones automáticas y
velozmente, pero sin sacrificar el rigor. También debe aprovechar cualquier
oportunidad con los usuarios para mejorar la precisión de los modelos.
Comunicación
Debe haber comunicación con los usuarios finales, en términos que ellos puedan
entender auque debe seguir siendo técnicamente riguroso. Estas técnicas de
modelización se han utilizado durante muchos años para ayudar a altos
ejecutivos, directores y a otros a comprender su gestión. Es esencial utilizar un
lenguaje claro, sin abreviaturas, para lograr su comprensión. Con un usuario final
no deberíamos utilizar la palabra entidad.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Relevancia
Los requisitos de información solamente pueden tener valor si aportan las
necesidades funcionales de la organización, dentro del marco de trabajo de los
objetivos y propósitos de la empresa.
Un medio, no un fin
Aunque el modelo entidad relación es muy potente, ofrecer una idea increíble de
la compañía y actuar como un marco de trabajo para el diseño de los datos, solo
es una técnica intermedia, aunque desde luego importante.
1.3.1 Entidad
Se define como entidad a cualquier objeto real o abstracto, que existe en un
contexto determinado o puede llegar a existir y del cual deseamos guardar
información.
Reglas para definir una entidad: Cualquier objeto sólo puede ser representado
por una entidad. Es decir las entidades son mutuamente exclusivas en todos los
casos. Cada entidad debe ser identificada en forma única. Es decir, cada instancia
(aparición) de una entidad debe encontrarse separada e identificable claramente
de todas las demás instancias de ese tipo de entidad.
1.3.2. Relación
Se entiende por relación a la asociación, vinculación o correspondencia entre
entidades. Por ejemplo entre la entidad PROFESOR y la entidad CURSO
podemos establecer la relación IMPARTE porque el profesor imparte cursos.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
uno
Muchos opcional
obligatorio
Es útil pensar acerca de una relación de uno a muchos como una relación padre
a hijo, con la existencia del hijo encontrándose en una forma dependiente de su
padre.
nombre- extremo-1
nombre-extremo-2
y de derecha a izquierda:
para
mostrado en
Explicación: Cada TIQUETE debe ser para uno y sólo un PASAJERO y derecha a
izquierda, cada PASAJERO se puede observar en uno o más TIQUETES.
1.3.3. Atributos
Las entidades se componen de atributos que son cada una de las propiedades o
características que tienen las entidades. Cada ejemplar de una misma entidad
posee los mismos atributos, tanto en nombre como en número, diferenciándose
cada uno de los ejemplares por los valores que toman dichos atributos. Ejemplo si
consideramos la entidad PROFESOR y definimos los atributos Nombre, Teléfono,
Salario; podríamos obtener lo siguiente:
Juan Pérez Rodríguez, 4253250, 800.000
Martha López Jiménez, 8553260, 600.000
de !" #
"$% & !'
clasificación de
En este informe, la línea aérea puede que haya adquirido sólo cuatro o cinco tipos
de aviones diferentes, pero puede tener cien o más aviones reales. El número de
registro de atributo tendría un único valor para cada instancia de la entidad
AVION.
Esto puede ser obvio, pero es el error más común que se encuentra en los
atributos. Por ejemplo. ¿El "número de asiento" es un atributo de un cupón,
billete, tarjeta de embarque, avión o asiento de un avión? Obviamente es un
atributo de ASIENTO, pero en la vida real el número a menudo se ve duplicado
muchas veces; por ejemplo, en una tarjeta de embarque, que se muestra como
una entidad en la Figura 8.
Para que sirva de guía la mayoría de las entidades sólo se describirán manejando
entre dos y ocho atributos. Si se tienen más, probablemente existirán muchas
relaciones y/o entidades perdidas.
emitido para
'+,$
($ )* utilizado mediante
en
compuesto de
No hay que utilizar el nombre de la entidad como parte del nombre del atributo.
Sería redundante, ya que el atributo sólo describe la entidad. En el ejemplo
anterior, el “el número asiento” realmente ayudó a identificar una entidad perdida
llamada ASIENTO que se podría describir con el atributo ’número’ y quizás con
otros atributos como ‘tipo’.
Para leer atributos que se nombren de esta manera, se pueden utilizar de una de
las dos formas:
Una entidad que sólo tenga un valor para un atributo en cualquier momento. Si
son esenciales muchos valores, se debe crear una entidad nueva para
mantenerlos en la relación muchos a uno unidos con la entidad original.
*% $' -
Esta es una norma o regla que se llama normalmente ’Primera forma normal’
Cada entidad debe ser identificable únicamente por una combinación de atributo
y/o relación. De esta forma se podría buscar siempre cualquier atributo candidato
que ayude a identificar una entidad.
1.3.4.5. El valor del atributo debe ser dependiente de todo el identificador único.
(segunda forma normal)
Hay que quitar los atributos por los que los valores son dependientes sólo de parte
del identificador único. Esto se conoce como ’Segunda forma normal’ . Dichos
atributos normalmente suponen una entidad perdida, pero relacionada.
Hay que quitar los atributos que no sean dependientes directamente del
identificador único de la entidad. Esto se conoce como ‘Tercera forma normal’. En
el subtema tres se profundizara el concepto de normalización.
1.4.1. Definición
Cada entidad debe ser únicamente identificable de forma que cada instancia de la
entidad esté separada y sea claramente identificable de todas las otras instancias
de ese tipo de entidad. El identificador único puede ser un atributo, una
combinación de relaciones o una combinación de atributos y relaciones.
TIQUETE DE
EMBARQUE emitida para
# * fecha emitida # * número
# . hora emitida
usado mediante
emitida para en
utilizado compuesto de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
mediante
de
planificado
como
/ /
# . '+,$ "$
0 $1
Las normas simples del diseño que siguen a continuación se han definido para
que el diagrama sea fácil de leer, aplicable para personas que necesiten trabajar
con ellas y para maximizar la calidad y la precisión.
Hay que organizar el diagrama de forma que los recuadros de las entidades
estén alineados y que las líneas de las relaciones sean rectas en sentido
horizontal o vertical. Hay que dibujar el menor número de líneas cruzadas
posible.
Hay que evitar Construir un diagrama que tenga demasiadas líneas paralelas
que estén muy juntas. Hay que utilizar el mayor espacio en blanco que se pueda
para evitar el sentimiento de congestión y utilice de vez en cuando la línea en
diagonal para ayudar a la estética del diagrama.
1.4.2.4. Texto
Hay que asegurarse de que el texto no sea ambiguo. Hay que evitar las
abreviaturas y las jergas. Hay que utilizar las convenciones de lectura descritas
anteriormente y leer todo el diagrama para asegurarse de que es completo y
preciso. Un buen diagrama entidad relación debería ser semánticamente
completo. Para mejorar la comprensión y la precisión al leerlo, hay que añadir
adjetivos y ejemplos cuando sea necesario.
2
clasificado por
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
clasificado para
2. Álgebra relacional
Los Esquemas de relaciones que se pueden construir a partir de este modelo son
los siguientes:
Dueño = {rut, nombre, teléfono, dirección, vigencia}
Chofer = {rut, nombre, teléfono, dirección, fecha_licencia_desde, fecha_licencia_hasta, vigencia}
Vale = {correlativo, hora_desde, hora_hasta, metraje_total, tarifa_total}
Móvil = {patente, rut_dueño, rut_chofer, marca, modelo, año}
Viaje = {correlativo_vale, patente_movil, Hora_Desde, hora_hasta, origen, destino, tarifa, metraje}
2.1. Selección.
El operador de selección opta por tuplas que satisfagan cierto predicado, se utiliza
la letra griega sigma minúscula ( ) para señalar la selección. El predicado aparece
como subíndice de . La Relación que constituye el argumento se da entre
paréntesis después de la .
Ejemplos :
2.2. Proyección.
Ejemplos :
2.3. Producto
En álgebra relacional el producto de dos relaciones A y B es:
A Veces B o A X B
Ejemplos:
Dueño x Móvil
2.4. Unión.
[1]
En álgebra relacional la unión de dos relaciones compatibles A y B es:
A UNION B o A B
Ejemplo :
4 $5 6 4 ) ($ 6
Π 30#$' * Π 30#$' *
Devuelve todos los Dueños y los Chóferes.
2.5. Intersección.
En álgebra relacional la intersección de dos relaciones compatibles A y B
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
A INTERSECCION B o A 7 B
Ejemplo:
4 $5 6 4 ) ($ 6
Π 30#$' * ∩Π 30#$' *
Devuelve todos los dueños que también son chóferes
2.6. Diferencia
En álgebra relacional la diferencia entre dos relaciones compatibles A y B
A MENOS B o A – B
Ejemplo:
4 $5 6 4 ) ($ 6
Π 30#$' * Π 30#$' *
Ejemplo :
2.8. División
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
A DIVIDIDO POR B o A / B
produce la relación C con un sólo atributo X, tal que cada valor de x de C.X
aparece como un valor de A.X, y el par de valores (x, y) aparece en A para todos
los valores y que aparecen en B.
Ejemplo:
1% $% 1*" % "$ *"* ' "$ 1% $8$,&1% *" % $' $% $ $,* $% 9' *1
('*1"$1, " 1 , ' *'$:
3. Normalización de datos
La normalización de datos es un procedimiento que asegura que un modelo de
datos se ajusta a algunos estándares útiles. Para los datos y los modelos entidad-
relación, estos estándares se han definido para minimizar la duplicación de datos,
proporcionar la flexibilidad necesaria para soportar requisitos funcionales y para
permitir que el modelo se estructure sobre una amplia variedad de diseños
alternativos de base de datos.
3.2 Normalización
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
/
/ B @ ($ )*
&* * @) *
.' , $ @ '+,$ "$ 0 $1
. ( ' !' & 1*" & ' , $ "$ *$ 1 A'$*
' , $ *$ & $
& "$ *0!'
*&* "*" "$ *% $' %
Eliminar los atributos dependientes de atributos que no son parte del identificador
único.
&* * /
/ B @ ($ )*
' , $ & 1*" & @) *
( ' !'
"$
&1
*' ( *"
,
@'+,$ "$ 0 $1
' , $ *$ 1 A'$*
' , $ *$ & $
& "$ *0!'
*&* "*" "$ *% $' %
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
%$ 0" &
&$ *" % $
* $3 ' ' " ' * * *%$ C% $,3D$" - " %% ' E $%1$C 1%)'#
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Capítulo 2. Transacciones
Atomicidad:
Asegura que o bien todos los efectos de la transacción se reflejan en la base de
datos, o bien ninguno de ellos; un fallo no puede dejar a la base de datos en un
estado en el cual una transacción se haya ejecutado parcialmente.
Consistencia:
Asegura que si la base de datos es consistente inicialmente, la ejecución de la
transacción deja la base de datos en un estado consistente.
Aislamiento:
Asegura que en la ejecución concurrente de transacciones, estas están aisladas
unas de otras, de tal manera que cada una tiene la impresión de que ninguna otra
transacción se ejecuta concurrentemente con ella.
Durabilidad:
Asegura que una vez que la transacción se ha comprometido, las actualizaciones
hechas por la transacción no se pierden, incluso si hay un fallo en el sistema.
Una transacción que termina con éxito se dice que está comprometida
(commited), una transacción que haya sido comprometida llevará a la base de
datos a un nuevo estado consistente que debe permanecer incluso si hay un fallo
en el sistema. En cualquier momento una transacción sólo puede estar en uno de
los siguientes estados:
2.2. Concurrencia
Existen varios esquemas de control de concurrencia que aseguran la
secuencialidad, todos estos esquemas o bien retrasan una operación o bien
abortan la transacción que ha realizado la operación. Los más conocidos son los
protocolos de bloqueo, el esquema de ordenación por marcas temporales, las
técnicas de validación, el esquema de granularidad múltiple y los esquemas
multiversión.
Los fallos que ocurren en un computador pueden darse por diferentes motivos
(fallos de disco, cortes de energía o fallos en el software). En cada uno de estos
casos puede perderse información concerniente a la base de datos. Existen varios
tipos de fallas, a considerar:
Fallo de disco, para el cual sólo sirve la recuperación por medio de copias
existentes en medios de almacenamiento secundario como cintas magnéticas.
[4]
Comúnmente llamado log de transacciones
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Capítulo 3. Consultas
3.1 Recuperación
Una de las ventajas principales del modelo relacional presentado por Codd en
1970 es la que tiene relación con la independencia de los datos que se entiende
aquí como la separación entre el modelo (lógico) y la implementación (física). Esta
separación nos permite desarrollar una poderosa semántica lógica independiente
de una implementación física particular.
Por otro lado, aunque una consulta simple pueda ser ejecutada miles de veces, no
existe un camino mecánico que garantice que el plan de ejecución elegido
satisfaga la consulta que se quiere implementar, puesto que:
{ t | P(t)},
Es decir, son el conjunto de tuplas t tales que se cumple el predicado P para cada
t. Siguiendo la misma notación, se utiliza t[A] para el valor de la tupla t en el
atributo A.
"Conjunto de todas las tuplas t tales que existe una tupla s en la relación Dueño
para la que los valores de t y de s son iguales en el atributo Nombre y el valor de s
para el atributo vigencia = ‘S’ ". La variable de tupla t se define sólo en el atributo
Nombre, puesto que éste es el único atributo para el que se especifica una
condición para t. Así, el resultado es una relación sobre (Nombre).
Si lo que se desea es obtener las tarifas de todos los viajes que ha efectuado
todos los móviles de marca “chevrolet”, la consulta requiere de dos cláusulas
“Existe” conectadas por el operador de conjunción lógica “y”.
;
* $3 ' " !' * 1% % $,*% "$ *%$% "$ * %3 $' $ F*11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Que se lee como el conjunto de todas las tuplas (tarifa) correspondientes a los
viajes que han hecho todos los móviles de marca “chevrolet”.
Considérese ahora la consulta “obtener todos los RUT de los dueños de móviles,
cuyos móviles no hayan efectuado nunca un viaje”:
que ocupa la cláusula “Existe” para exigir que el dueño posea un móvil y la
cláusula “no existe” para eliminar a aquellos móviles que tengan viajes realizados.
Dado este nivel de generalidad, el optimizador puede ser visto como el generador
de código de un compilador para el lenguaje SQL, que produce el código que será
interpretado por el motor de ejecución de consultas, excepto que el optimizador
marca énfasis en la capacidad de producir el código más eficiente, haciendo uso
para tales efectos del catálogo de la base de datos, de donde obtiene información
estadística de las relaciones referenciadas por la consulta, algo que los lenguajes
de programación tradicionales no hacen.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
UNIDAD 2
BASES DE DATOS DISTRIBUIDAS
// 2
2
2
// 2
2
2
El enfoque de arriba hacia abajo (top-down). Este enfoque es más apropiado para
aplicaciones nuevas y para sistemas homogéneos. Consiste en partir desde el
análisis de requerimientos para definir el diseño conceptual y las vistas de usuario.
A partir de ellas se define un esquema conceptual global y los esquemas externos
necesarios. Se prosigue con el diseño de la fragmentación de la base de datos, y
de aquí se continúa con la localización de los fragmentos en los sitios, creando las
imágenes físicas. Esta aproximación se completa ejecutando, en cada sitio, "el
diseño físico" de los datos, que se localizan en éste. En la Figura 21 se presenta
un diagrama con la estructura general del enfoque top-down.
El diseño de una base de datos distribuida, cualquiera sea el enfoque que se siga,
debe responder satisfactoriamente las siguientes preguntas:
1.4 Fragmentación
J:
JNO PRESUPUESTO
J1 150000
J2 135000
J3 250000
J4 310000
J5 1500000
J1 Instrumentación Guajira
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Requerimientos de información:
Fragmentación horizontal
Fragmentación vertical
Fragmentación híbrida
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
En las siguientes secciones revisaremos de manera informal cada uno de los tipos
mencionados. Más adelante, se presentará de manera más formal la construcción
de los diferentes tipos de fragmentación.
EMP = EMP1 (JN empnum) EMP2 porque empnum es una clave de EMP
Las siguientes son para obtener una fragmentación mixta, aplicando la vertical
seguida de la horizontal:
2 Copia fuera de línea, esta opción permite que una vez registrada la
transacción en el sitio donde ella se genera, pueda pasar un tiempo para
actualizar las copias de la información almacenadas en otros lugares.
Con estos dos tipos de replicación, es posible definir varios modelos de sistemas
de replica:
1. Maestro - maestro, hace que una vez generada y registrada una transacción en
un sitio del sistema, inmediatamente se actualicen las copias de la información
que se guardan en los otros sitios. Este modelo, aumenta la opción de acceso a
datos desde cualquier punto, aumentando la disponibilidad del sistema. El mayor
problema de este modelo es que debe garantizarse canales de comunicación
entre los nodos en todo momento, de tal manera que se asegure la copia de los
fragmentos cuando la transacción se realice, de lo contrario el sistema cae en un
estado de invalidez de información.
Este modelo reduce los costos de canales de datos, pero debe asegurarse que el
sitio de la bodega siempre se encuentre accesible.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
La diferencia entre una buena estrategia y una mala, en términos del número de
accesos a disco requeridos y el coste de transmisión de datos en la red, a menudo
es importante, y puede tener varios órdenes de magnitud. Así pues, el tiempo
empleado en elegir una estrategia de procesamiento de consultas merece la pena
incluso para una consulta que se ejecuta sólo una vez.
depósito1 ∪ depósito2
La expresión que resulta del esquema de traducción de nombres es
σNombre-sucursal = “Riverside” (depósito1 ∪ depósito2)
Suponemos que ninguna de las tres relaciones esté repetida o fragmentada y que
cliente está almacenada en la localidad Lc, depósito en la Ld y sucursal en la Lb.
Sea Li la localidad donde se originó la consulta. El sistema debe producir el
resultado en la localidad Li. Entre las posibles estrategias para procesar posibles
estrategias para procesar esta consulta se encuentran en las siguientes:
Enviar copia de las tres relaciones a la localidad Li. Escoger una estrategia
para procesar en forma local la consulta completa en Li.
Enviar una copia de la relación cliente a la localidad Ld y calcular cliente |x|
depósito de Ld. Enviar cliente |x| depósito de Ld a Lb, donde se calcula
(cliente |x| deposito) |x| sucursal. El resultado de esta operación es enviado
a Li.
Pueden elaborarse estrategias similares a la anterior al intercambiar los
papeles de Lc, Ld y Lb.
No puede garantizarse que una estrategia sea la mejor en todos los casos. Entre
los factores que deben tener en cuenta están la cantidad de datos que debe
transmitirse, el costo de transmitir un bloque de datos entre dos localidades
determinadas y la velocidad de procesamiento relativa en cada localidad.
Considerar las dos primeras estrategias mencionadas. Si se envían las tres
relaciones a Li y existen índices para ellas, puede ser necesario volver a crear
esos índices en Li. Esto requiere tiempo extra de procesamiento y más accesos al
disco. Sin embargo, la segunda estrategia tiene la desventaja de que una relación
potencialmente grande (cliente |x| deposito) debe transmitirse desde Ld a Lb. Esta
relación repite los datos del domicilio de un cliente una vez por cada cuenta que
tenga el cliente. Así, la segunda estrategia puede requerir la transmisión de un
volumen mayor que la primera estrategia.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Una vez que se ha traducido la consulta a una forma interna del álgebra, empieza
el proceso de optimización. La primera fase de la optimización se lleva a cabo en
el nivel del álgebra relacional. Se hace un intento para encontrar una expresión
que sea equivalente a la expresión dada, pero que pueda ejecutarse de manera
eficiente. La siguiente fase implica la selección de una estrategia detallada para
procesar la consulta. Debe tomarse una decisión acerca de la manera exacta en
que se va a ejecutar la consulta. Se deben elegir los índices específicos que se
van a usar. Se debe determinar el orden en que se van a procesar las tuplas. La
elección final de una estrategia se basa principalmente en el número de accesos a
disco que se requieran.
Dada una consulta, generalmente existe una variedad de métodos para calcular la
respuesta. Cada forma de expresar la consulta “sugiere” una estrategia para
encontrar la respuesta. Sin embargo, no esperamos que los usuarios escriban sus
consultas de una forma que sugiera la estrategia más eficiente. Así pues, el
sistema debe encargarse de transformar la consulta como la introdujo el usuario
en una consulta equivalente que pueda calcularse de manera más eficiente. Esta
“optimización”, o más exactamente, mejora de la estrategia para procesar una
consulta se llama optimización de consultas. Existe una analogía entre la
optimización de consultas por un sistema de base de datos.
Hasta este momento, las primitivas básicas de acceso que se han considerado
son las consultas (queries). Sin embargo, no se ha discutido qué pasa cuando, por
ejemplo, dos consultas tratan de actualizar el mismo elemento de datos, o si
ocurre una falla del sistema durante la ejecución de una consulta. Dada la
naturaleza de una consulta, de lectura o actualización, a veces no se puede
simplemente reactivar la ejecución de una consulta, puesto que algunos datos
pueden haber sido modificados antes la falla. El no tomar en cuenta esos factores
puede conducir a que la información en la base de datos contenga datos
incorrectos.
El concepto fundamental aquí es la noción de "ejecución consistente" o
"procesamiento confiable" asociada con el concepto de una consulta. El concepto
de una transacción es usado dentro del dominio de la base de datos como una
unidad básica de cómputo consistente y confiable.
UPDATE J
SET BUDGET = BUDGET*1.1
WHERE JNAME = "CAD/CAM"
Esta consulta puede ser especificada, usando la notación de SQL, como una
transacción otorgándole un nombre:
Begin_transaction ACTUALIZA_PRESUPUESTO
begin
UPDATE J
SET BUDGET = BUDGET*1.1
WHERE JNAME = "CAD/CAM"
end.
♦
Ejemplo 3.2. Considere una agencia de reservaciones para líneas aéreas con
las siguientes relaciones:
Begin_transaction Reservación
begin
input( flight_no, date, customer_name );
EXEC SQL UPDATE FLIGHT
SET STSOLD = STSOLD + 1
WHERE FNO = flight_no
AND DATE = date
EXEC SQL INSERT
INTO FC( FNAME, DATE, CNAME, SPECIAL )
VALUES (flight_no, date, customer_name, null )
output("reservación terminada");
end.
Begin_transaction Reservación
begin
input( flight_no, date, customer_name );
INTO temp1, temp2
EXEC SQL SELECT STSOLD, CAP
FROM FLIGHT
WHERE FNO = flight_no AND DATE = date
if temp1 = temp2 then
output( "no hay asientos libres" )
Abort
else
EXEC SQL UPDATE FLIGHT
SET STSOLD = STSOLD + 1
WHERE FNO = flight_no AND DATE = date
EXEC SQL INSERT
INTO FC( FNAME, DATE, CNAME, SPECIAL )
VALUES (flight_no, date, customer_name, null )
Commit
output("reservación terminada");
endif
end.
Observe que en el ejemplo anterior las transacciones leen y escriben datos. Estas
acciones se utilizan como base para caracterizar a las transacciones. Los
elementos de datos que lee una transacción se dice que constituyen el conjunto
de lectura (RS). Similarmente, los elementos de datos que una transacción
escribe se les denomina el conjunto de escritura (WS). Note que los conjuntos de
lectura y escritura no tienen que ser necesariamente disjuntos. La unión de ambos
conjuntos se le conoce como el conjunto base de la transacción (BS = RS U WS).
Atomicidad. Se refiere al hecho de que una transacción se trata como una unidad
de operación. Por lo tanto, o todas las acciones de la transacción se realizan o
ninguna de ellas se lleva a cabo. La atomicidad requiere que si una transacción se
interrumpe por una falla, sus resultados parciales deben ser deshechos. La
actividad referente a preservar la atomicidad de transacciones en presencia de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Durabilidad. Es la propiedad de las transacciones que asegura que una vez que
una transacción hace su commit, sus resultados son permanentes y no pueden
ser borrados de la base de datos. Por lo tanto, los DBMS aseguran que los
resultados de una transacción sobrevivirán a fallas del sistema. Esta propiedad
motiva el aspecto de recuperación de bases de datos, el cual trata sobre como
recuperar la base de datos a un estado consistente en donde todas las acciones
que han hecho un commit queden reflejadas.
En resumen, las transacciones proporcionan una ejecución atómica y confiable en
presencia de fallas, una ejecución correcta en presencia de accesos de usuario
múltiples y un manejo correcto de réplicas (en el caso de que se soporten).
Las transacciones pueden pertenecer a varias clases. Aun cuando los problemas
fundamentales son los mismos para las diferentes clases, los algoritmos y
técnicas que se usan para tratarlas pueden ser considerablemente diferentes. Las
transacciones pueden ser agrupadas a lo largo de las siguientes dimensiones:
Begin_transaction Reservación
...
end.
Begin_transaction Reservación
...
Begin_transaction Vuelo
...
end. {Vuelo}
...
Begin_transaction Hotel
...
end.
...
end.
Ejemplo 3.6. Los siguientes son algunos ejemplos de los modelos de transacción
mencionados antes.
Begin_transaction.
Read.
Write.
Commit.
Abort.
para una ejecución distribuida se pueden apreciar en las Figura 26b. En esta
última figura se presentan también los protocolos de comunicación necesarios
para el manejo de transacciones distribuidas
3.10.2 Robustez
Por tanto, para que el sistema sea robusto, es necesario que detecte cualquiera
de estos fallos, que reconfigure el sistema de manera que pueda reanudarse el
proceso y que se recupere una vez que haya sido reparado el procesador o la
línea de comunicación afectados.
T1: Read( x ) T2: Write( x ) T3: Read( x ) Write( x ) Write( y ) Read( y ) Commit
Read( z ) Read( z ) Commit Commit Una calendarización de las acciones de
las tres transacciones anteriores puede ser:
H1 = { W2(x), R1(x), R3(x), W1(x), C1, W2(y), R3(y), R2(z), C2, R3(z), C3 }
HS = { W2(x), W2(y), R2(z), C2, R1(x), W1(x), C1, R3(x), R3(y), R3(z), C3 }
HS = { W2(x), W2(y), R2(z), C2, R1(x), W1(x), C1, R3(x), R3(y), R3(z), C3 }
H1 = { W2(x), R1(x), R3(x), W1(x), C1, W2(y), R3(y), R2(z), C2, R3(z), C3 }
HS = { W2(x), W2(y), R2(z), C2, R1(x), W1(x), C1, R3(x), R3(y), R3(z), C3 }
H2 = { W2(x), R1(x), W1(x), C1, R3(x), W2(y), R3(y), R2(z), C2, R3(z), C3 }
Por lo tanto, es preferible que cada nodo asigne de manera autónoma las
estampas de tiempos basándose en un contador local. Para obtener la unicidad,
cada nodo le agrega al contador su propio identificador. Así, la estampa de tiempo
es un par de la forma:
Regla TO: dadas dos operaciones en conflicto, Oij y Okl, perteneciendo a las
transacciones Ti y Tk, respectivamente, Oij es ejecutada antes de Okl, si y
solamente si, ts(Ti) < ts(Tk). En este caso Ti se dice ser una transacción más
vieja y Tk se dice ser una transacción más joven.
for Ri(x) do begin if ts(Ti) < wts( x ) then reject Ri(x) else accept Ri(x) rts(x) ←
ts(Ti) endfor Wi(x) do begin if ts(Ti) < rts(x) and ts(Ti) < wts(x) then reject Wi(x)
else accept Wi(x) wts(x) ← ts(Ti) end. La acción de rechazar una operación,
significa que la transacción que la envió necesita reiniciarse para obtener la
estampa de tiempo más reciente del dato e intentar hacer nuevamente la
operación sobre el dato.
Si todas las transacciones Tk, tales que, ts( Tk ) < ts( Tij ), han terminado su fase
de escritura antes que Tij ha iniciado su fase de lectura entonces la validación
tiene éxito. En este caso la ejecución de las transacciones es completamente
serial como se muestra en la Figura 7a.
Si existe alguna transacción Tk, tal que, ts( Tk ) < ts( Tij ) y la cual completa su
fase de escritura mientras Tij está en su fase de lectura, entonces, la validación
tiene éxito si WS(Tk ) ∩ RS(Tij ) G ∅ En este caso, las fases de lectura y escritura
se traslapan, como se muestra en la Figura 7b, pero Tij no lee datos que son
escritos por Tk.
Si existe alguna transacción Tk, tal que, ts( Tk ) < ts( Tij ) y la cual completa su
fase de lectura antes que Tij termine su fase de lectura, entonces, la validación
tiene éxito si WS(Tk ) ∩ RS(Tij ) = ∅ y WS(Tk 6 ∩ WS(Tij ) = ∅ En este caso, las
fases de lectura se traslapan, como se muestra en la Figura 33, pero las
transacciones no accesan datos comunes.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Capitulo 4. Catalogo
4.2. Centralizado
4.4. Dividido
Cada sitio mantiene su propio catálogo de los objetivos que están almacenados
en ese sitio. El catálogo total es la unión de todos los catálogos locales disjuntos.
Cada sitio mantiene su propio catálogo local, como en el punto 4.4; además, un
único sitio central mantiene una copia unificada de todos esos catálogos locales,
como en punto 4.2
autonomía, ya que cada actualización del catálogo tiene que ser propagada por
cada uno de los sitios. El enfoque dividido eleva el costo de operaciones que no
son locales. La combinación de centralizado y dividido es más eficiente que el
dividido, pero viola nuevamente el objetivo de no dependencia de un sitio central,
por lo tanto, en la práctica los sistemas no usan ninguno de los enfoque antes
mencionados. A manera de ejemplo describimos el enfoque usado en R* (donde
R* es un prototipo tomado como referencia).
Los IDs de usuario son únicos dentro del sito en el cual y los IDs del sitio son
únicos a nivel global. Por lo tanto, el nombre a nivel de sistema de
Los usuarios se refieren normalmente a los objetos por su nombre común. Este
nombre se usa sin calificativos, ya sea el componente “nombre local” del nombre
a nivel sistema (STATS en el ejemplo anterior) o un sinónimo para ese nombre a
nivel de sistema, definido por medio de la instrucción especial de SQL, R*
CREATE SYNONYM. En el ejemplo en cuestión:
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
En el primer caso (al usar el nombre local), el sistema infiere el nombre a nivel
sistema suponiendo todos los valores predeterminados obvios; es decir que el
objeto fue creado por este usuario, que fue creado en este sitio y que fue
guardado inicialmente en este sitio.
Supongamos que ahora el usuario emite una solicitud que hace referencia al
sinónimo MSTATS. Primero, el sistema busca el nombre a nivel sistema
correspondiente en la tabla de sinónimos adecuada (una simple búsqueda local),
Ahora ya sabe el sitio de nacimiento(es decir Londres en el ejemplo) y puede
consultar el catálogo de Londres (y se supone, de manera general, que será una
búsqueda renota; el primer acceso remoto). El catálogo de Londres contendrá una
entrada para ese objeto gracias al punto 1 anterior. Si el objeto está todavía en
Londres ya habrá sido encontrado. Sin embargo, si el objeto ha emigrado
(digamos) a Los Ángeles, entonces la entrada de catálogo en Londres lo dirá y por
lo tanto, el sistema podrá ahora consultar al catálogo de Los Ángeles (segundo
acceso remoto). Y el catálogo de los Ángeles contendrá una entrada para los
objetos gracias al punto 2 anterior. Por lo tanto, ha sido encontrado en, como
máximo, dos accesos remotos.
El efecto neto es que el objeto todavía puede ser encontrado en dos accesos
remotos, como máximo. Y este es un esquema completamente distribuido; no hay
un sitio con catálogo central y no hay punto alguno de falla dentro del sistema.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
UNIDAD 3
1.1 Introducción
Los sistemas de bases de datos orientados a objetos tienen sus orígenes en los
lenguajes de programación orientados a objetos. La idea fundamental es que el
usuario no debería tener que batallar con construcciones orientadas al
computador tales como registros y campos, sino más bien debería poder manejar
objetos (y operaciones) que se asemejen más a sus equivalentes en el mundo
real. Por ejemplo, en vez de pensar en términos de una tupla DEPTO junto con un
conjunto de tuplas EMP, las cuales incluyen valores de clave ajena que hacen
referencia a esa tupla DEPTO, el usuario debería poder pensar directamente en
un "objeto" departamento que contenga en realidad un conjunto de "objetos"
empleado. Y en vez de (por ejemplo) tener que insertar una tupla en la relación
EMP con un valor apropiado de NUMDEPTO (la clave ajena), el usuario debería
ser capaz de crear en forma directa un nuevo objeto empleado e incluirlo en el
objeto departamento pertinente también en forma directa. Dicho de otro modo, la
idea fundamental es elevar el nivel de abstracción.
Objeto variable
Clase tipo
Método función
Mensaje llamada
Jerarquía de clases jerarquía de tipos
1.2.1 Objetos
Todo objeto tiene un tipo (el término en objetos es clase). A los objetos
individuales con frecuencia se les llama específicamente ejemplares (instancias)
de objeto, para distinguirlos con claridad del tipo o clase del objeto
correspondiente. El término tipo se utiliza en su sentido usual de lenguaje de
programación; por lo tanto, en particular en este término se incluye el conjunto de
operadores (el término en el entorno de objetos es métodos) que pueden ser
aplicados a los objetos de ese tipo.
1.2.2 Polimorfismo.
1.2.3 Herencia.
1.2.4 Encapsulación.
La estructura física hace que sea posible utilizar registros de longitud fija para
implementar una base de datos orientada a objetos, aunque la modificación del
esquema puede complicar esto.
Datos de texto. El texto, normalmente se trata como una cadena de bytes que
manipulan los editores y formateadores.
Datos de audio. Comúnmente, los datos de audio son una representación
comprimida digitalizada del habla que manejan aplicaciones de software
separadas.
Datos de video y gráficos. Los datos de video pueden representarse como un
mapa de bytes o como un conjunto de líneas, cajas y otros objetos geométricos.
Aunque algunos datos gráficos a menudo se gestionan dentro del sistema de
base de datos, en muchos casos se utilizan aplicaciones de software especiales.
Las variables que contienen datos de los tipos anteriores, con frecuencia se
denominan campos largos, debido a que una implementación relacional de
objetos que contengan estas variables requiere registros que contengan campos
cuya longitud pueda ser de varios mega bites. Un campo largo se almacena en un
archivo especial (o conjunto de archivos) reservado para almacenamiento de
campos largos.
Por otra parte, en ese mismo año, la compañía Hewlett Packard implementa un
proyecto bajo el nombre de Iris.
De esta forma, un SAGD-OO debe satisfacer las reglas que aparecen en la figura
siguiente:
Para referenciar uno de los productos que trabajan este tipo de bases de datos
hemos tomado el proyecto Postgres. El proyecto Postgres- Post Ingres- inicia en
1986 como una extensión del SABD Ingres. Ha sido escrito en el lenguaje de
programación C y consta de 180000 líneas de código (STON91)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Una base datos en Postgres se puede ver como un conjunto de tablas. El tipo de
un atributo puede ser atómico: entero, punto flotante, booleano, date, o bien
estructurado: arreglos o procedimientos.
Entre los objetivos principales del sistema Postgres de pueden mencionar los
siguientes:
1.6.1 Introducción
Diagramas: Los diagramas son las gráficas que describen el contenido de una
vista. UML tiene nueve tipos de diagramas que son utilizados en combinación
para proveer todas las vistas de un sistema: diagramas de caso de uso, de clases,
de objetos, de estados, de secuencia, de colaboración, de actividad, de
componentes y de distribución.
objetos, tales como clases, objetos y mensajes, y las relaciones entre estos
conceptos incluyendo la asociación, dependencia y generalización. Un elemento
de modelo es utilizado en varios diagramas diferentes, pero siempre tiene el
mismo significado y simbología.
post- del escenario --- condiciones que existen antes de que el escenario
comience, y condiciones que existen después de que el escenario se completa.
Los Diagramas de Actividad ofrecen una herramienta gráfica para modelar el
proceso de un Caso de Uso. Ver fig. 35
Figura 36: Relación caso de uso Extiende (extends) frente a relación de caso
Usa (uses).
2.1 Introducción
Hoy en día se habla mucho del tema de Data Warehousing o Bodega de Datos,
que permite la utilización de los datos de una Organización o un conjunto de ellas,
como soporte en la toma de decisiones.
Estas son las preguntas a las que la Bodega de Datos tiene respuestas. Sin
embargo vale la pena aclarar que Bodega de Datos no es un proyecto de
implementación de una herramienta de mercadeo. Es una forma de operar dentro
de una organización.
distribuida a lo largo del país o del mundo puede necesitar de una gran Base de
Datos distribuida.
El repositorio sirve como un sitio para almacenar los datos de los activos de
información de una organización. Abarca todos los datos de la organización, sin
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
El repositorio sirve como una guía para definir un ambiente de migración de datos.
Contiene:
Se debe tener un claro concepto desde una perspectiva técnica de los Sistemas
de Información de la Organización. En este análisis se debe tener claridad del
ambiente técnico actual y futuro a nivel de detalle. Se debe incluir tanto el
aspecto de ambiente hardware: mainframes, servidores, redes., así como
aplicativos y herramientas. Se dará gran foco a los Sistemas de soporte en la
decisión, si existe en la actualidad, como operan, etc.
4.2 Piloto
En la construcción de una Bodega de Datos, se debe observar especial cuidado
porque es la primera fase del proyecto en el cual el equipo de Bodega de Datos
utilizará los métodos, técnicas y herramientas que será la base para una Bodega
de Datos completa. Por esta razón el proyecto piloto de Bodega de Datos debe
tener un pequeño alcance y tiempo adicional comparativamente con los esfuerzos
sucesivos de Bodega de Datos.
Por esta razón se debe utilizar una serie de Data Marts para proveer a los
usuarios finales con fácil acceso a sus datos. Los Data Marts deben consistir en
Datos extraídos del corazón de la Bodega de Datos y reorganizados y/o
reformateados para hacer más fácil su uso para diferentes propósitos. Pero fofo
que esos propósitos específicos pueden cambiar en el tiempo, los Data Marts
deben ser concebidos con estructuras de Datos temporales. Cuando los usuarios
no ven más los datos como están presentados por un Data Mart en particular, este
Data Mart debe ser removido. Y mientras los usuarios desarrollan nuevas formas
de hacer búsquedas y mirar los datos, deben ser creados nuevos Data Marts para
hacer sus búsquedas más simples y con un mejor desempeño.
Los Data Mart pueden incluir una gran variedad de estilos de tablas. Algunas
pueden ser simplemente un subconjunto de datos de la Bodega de Datos,
conteniendo solamente datos para una particular zona geográfica, un período
específico de tiempo, una unidad de negocios.
Es crítico que los usuarios sean provistos del método apropiado para utilizar la
información de las Bodegas de Datos. No se debe esperar que un usuario novato
negocie una compleja y poderosa herramienta sólo para hacer una simple
pregunta de la Bodega de Datos. Similarmente un usuario adelantado
rápidamente quedará frustrado con la Bodega de Datos si el o ella esperan hacer
un complejo análisis de negocio usando una herramienta de acceso con menos
poder del que se necesita. Es importante reconocer que hay diferentes estilos de
usuarios finales cada uno con su propio nivel de conocimiento y necesidades,
para así proveer de apropiados mecanismos de acceso para cada clase de
usuarios.
5. Minería de Datos
5.1. Introducción
Esta unidad tiene como propósito introducir al lector en los conceptos
fundamentales de la minería de datos y su relación con las bodegas de datos, no
es la intención de profundizar en cada uno de los temas, estos pueden ser
ampliados en la bibliografía recomendada, es necesario que el lector tenga
conocimientos en base de datos relacionales y distribuidas para una mejor
comprensión del tema.
modelos. Las computadoras son cargadas con mucha información acerca de una
variedad de situaciones donde una respuesta es conocida y luego el software de
Data Mining en la computadora debe correr a través de los datos y distinguir las
características de los datos que llevarán al modelo. Una vez que el modelo se
construyó, puede ser usado en situaciones similares donde usted no conoce la
respuesta.
Si alguien le dice que tiene un modelo que puede predecir el uso de los clientes,
¿Cómo puede saber si es realmente un buen modelo? La primera cosa que puede
probar es pedirle que aplique el modelo a su base de clientes - donde usted ya
conoce la respuesta. Con Data Mining, la mejor manera para realizar esto es
dejando de lado ciertos datos para aislarlos del proceso de Data Mining. Una vez
que el proceso está completo, los resultados pueden ser testeados contra los
datos excluidos para confirmar la validez del modelo. Si el modelo funciona, las
observaciones deben mantenerse para los datos excluidos.
Método del vecino más cercano: una técnica que clasifica cada registro en
un conjunto de datos basado en una combinación de las clases del/de los k
registro (s) más similar/es a él en un conjunto de datos históricos (donde k 1).
Algunas veces se llama la técnica del vecino≥ k-más cercano.
D
F$ '9'"$P *11 C %3 ' " !' * 1* , '$ A* "$ "* %
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
Datos anormales: Datos que resultan de errores (por ej.: errores en el tipeado
durante la carga) o que representan eventos inusuales.
Modelo lineal: Un modelo analítico que asume relaciones lineales entre una
variable seleccionada (dependiente) y sus predictores (variables
independientes).
Modelo no lineal: Un modelo analítico que no asume una relación lineal en los
coeficientes de las variables que son estudiadas.
Regresión logística: Una regresión lineal que predice las proporciones de una
variable seleccionada categórica, tal como Tipo de Consumidor, en una
población.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
!" # $%
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.
CIBERGRAFIA
ANEXO
"&
, $ $1T( ' $ !' >$ )*U1 $' >$ )*U1 $' #$' *
' *U"$%"$ *U)*% *
(
, $ $1T( ' $ !' #$' *
VD ;DN *' *1"T% DV N *N@N
-V -DN $" T$P 11 @ ;W D; & W ' D
- N ;D * * %%* VND D@N -
;DN / %* >$ '9'"$P ; NDVN - 11;D @ W ;
NDV -V / %* 9$P ;WWDN V - 11VW@ W
# )
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
3$1 $% 1*" $%
, $ $ !'
*' *1"T% *N@N
$" T$P 11 @ ;W D; & W ' D
* * %%* D@ N -
/ %* >$ '9'"$P 11;D @ W ;
/ %* 9$P 11VW @ W
<
#$' *
VD ;DN
DV N ;
-V -DN
V -DN D
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
( *# )
, $ $1T( ' $ !' #$' * $' $ * * "$1 5
*
VD ; *' *1"T% DV N *N @N F/ D ; %%*' $' * -
DN
-V -D $" T$P 11 @ ;W D; & W ' D F/ D ; %%*' $' * -
N
- N * * %%* VND D@ N - F/ D ; %%*' $' * -
;D
;DN / %* ; NDVN - 1
1;D @ W ; F/ D ; %%*' $' * -
>$ '9'"$P
NDV - / %* 9$P ;WWDN V - 1
1VW @ W F/ D ; %%*' $' * -
V
VD ; *' *1"T% DV N *N@ N D C * 11
* -V
DN
-V -D $" T$P 11 @ ;W D; & W ' D D C * 11
* -V
N
- N * * %%* VND D@N- D C * 11
* -V
;D
;DN / %* ; NDVN - 1
1;D @ W ; D C * 11
* -V
>$ '9'"$P
NDV - / %* 9$P ;WWDN V - 1
1VW@ W D C * 11
* -V
V
VD ; *' *1"T% DV N *N@N E NWW $'* 1 1 WWN
DN
-V -D $" T$P 11 @ ;W D; & W ' E NWW $'* 1 1 WWN
N D
- N * * %%* VND D@N - E NWW $'* 1 1 WWN
;D
;DN / %* ; NDVN - 1
1;D @ W ; E NWW $'* 1 1 WWN
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
>$ '9'"$P
NDV - / %* 9$P ;WWDN V - 1
1VW@ W E NWW $'* 1 1 WWN
V
VD ; *' *1"T% DV N *N@N V- $'* 1 $#*'$ WW;
DN
-V -D $" T$P 11 @ ;W D; & W ' D V- $'* 1 $#*'$ WW;
N
- N * * %%* VND D@N - V- $'* 1 $#*'$ WW;
;D
;DN / %* ; NDVN - 1
1;D @ W ; V- $'* 1 $#*'$ WW;
>$ '9'"$P
NDV - / %* 9$P ;WWDN V - 1
1VW@ W V- $'* 1 $#*'$ WW;
V
VD ; *' *1"T% DV N *N@N YW ; $'* 1 D -V
DN
-V -D $" T$P 11 @ ;W D; & W ' D YW ; $'* 1 D -V
N
- N * * %%* VND D@N- YW ; $'* 1 D -V
;D
;DN / %* ; NDVN - 1
1;D @ W ; YW ; $'* 1 D -V
>$ '9'"$P
NDV - / %* 9$P ;WWDN V - 1
1VW@ W YW ; $'* 1 D -V
V
* $' $ * * "$1 5
F/ D ; %%*' $' * -
D C * 11* -V
E NWW $'* 1 1 WWN
V- $'* 1 $#*'$ WW;
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
YW ; $'* 1 D -V
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
4 $5 6 4 ) ($ 6
Π 30#$' * Π 30#$' *
#$' *
'
VD ;DN
DV N ;
-V -DN
V -DN D
- N ;D
;DN
NDV -V
- (. -"& .
Π +), ∩Π +),
1 $% 1*" "$ 1* &$ * !' ' $ %$ !' $%<
#$' *
'
VD ;DN
-V -DN
- (. -"& .
Π +), /Π +),
NDV / %* ;WWDN V 1
1VW@ $'* 1 $#*'$ WW;
-V 9$P - W V-
NDV / %* ;WWDN V 1
1VW@ $'* 1 $#*'$ WW;
-V 9$P - W V-
;-
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
Programa de Ingeniería de Sistemas
DW