Este documento describe dos métodos para la fragmentación vertical de relaciones de bases de datos: agrupación y partición. La agrupación asigna atributos a fragmentos reuniendo fragmentos según una condición. La partición comienza con una relación completa y decide dividirla basándose en el comportamiento de acceso de aplicaciones a los atributos. Se presentan algoritmos como BEA para agrupación y uno recursivo para partición que buscan optimizar la medida de afinidad entre atributos.
www.modelado.pnfi.org
Los Casos de Uso (Ivar Jacobson) describen, bajo la forma de acciones y reacciones, el comportamiento de un sistema desde el punto de vista del usuario.
Permiten definir los límites del sistema y las relaciones entre el sistema y el entorno.
Los Casos de Uso son descripciones de la funcionalidad del negocio/sistema independientes de la implementación.
www.modelado.pnfi.org
Los Casos de Uso (Ivar Jacobson) describen, bajo la forma de acciones y reacciones, el comportamiento de un sistema desde el punto de vista del usuario.
Permiten definir los límites del sistema y las relaciones entre el sistema y el entorno.
Los Casos de Uso son descripciones de la funcionalidad del negocio/sistema independientes de la implementación.
Se detallan conceptos basicos sobre el modelado de datos, para posteriormente pasar a realizar el analisis y modelado de datos de FACTURACIÓN en forma general para poder ser aplicada en cualquier organizacion, se muestra el diagrama de casos de uso de FACTURACIÓN.
Estilos y paradigmas de la Interacción Humano-ComputadorPercy Negrete
En esta presentación podrá encontrar una corta explicación sobre los paradigmas de los que se derivan todos los sistemas de interacción y sus diferentes estilos o maneras que las personas interactúan con un computador.
Evolución de la interacción
Estilos de interacción
- Interfaz por líneas de comandos
- Menús de navegación
- Manipulación directa e
- Interacción asistida
- Lenguaje natural
Paradigmas de interacción
- El computador de sobremesa
- Computación Ubicua
- Realidad Virtual
- Realidad Aumentada
Más información sobre esta presentación en: http://blog.pucp.edu.pe/
Reglas doradas
Análisis y diseño de la interfaz de usuario.
Análisis de la Interfaz.
Etapas del diseño.
Diseño de una interfaz para aplicaciones Web.
Evaluación del diseño.
Se detallan conceptos basicos sobre el modelado de datos, para posteriormente pasar a realizar el analisis y modelado de datos de FACTURACIÓN en forma general para poder ser aplicada en cualquier organizacion, se muestra el diagrama de casos de uso de FACTURACIÓN.
Estilos y paradigmas de la Interacción Humano-ComputadorPercy Negrete
En esta presentación podrá encontrar una corta explicación sobre los paradigmas de los que se derivan todos los sistemas de interacción y sus diferentes estilos o maneras que las personas interactúan con un computador.
Evolución de la interacción
Estilos de interacción
- Interfaz por líneas de comandos
- Menús de navegación
- Manipulación directa e
- Interacción asistida
- Lenguaje natural
Paradigmas de interacción
- El computador de sobremesa
- Computación Ubicua
- Realidad Virtual
- Realidad Aumentada
Más información sobre esta presentación en: http://blog.pucp.edu.pe/
Reglas doradas
Análisis y diseño de la interfaz de usuario.
Análisis de la Interfaz.
Etapas del diseño.
Diseño de una interfaz para aplicaciones Web.
Evaluación del diseño.
Relaciones y Grafos
Producto cartesiano
Relación binaria
Representaciones de Relaciones
Diagrama de flechas
Propiedades de las relaciones (reflexiva, irreflexiva, simétrica, asimétrica, anti simétrica, transitiva)
Relaciones de equivalencia (cerraduras, clases de equivalencia, particiones)
Funciones (inyectiva, suprayectiva, biyectiva)
Descripción general de los 13 diagramas UML así como sus componentes y principales funciones, es útil para exponer o dar una clase introductoria de este tema.
2. FRAGMENTACIÓN VERTICAL
Cada fragmento vertical de una relación R produce
los fragmentos R1, R2, …, Rn donde cada uno de
ellos contiene un subconjunto de atributos de R así
como la llave primaria.
Objetivo: Particionar la relación en partes más
pequeñas para que las aplicaciones de usuario
corran sobre un solo fragmento.
3. FRAGMENTACIÓN VERTICAL
Existen dos acercamientos heurísticos para la
fragmentación vertical de relaciones globales:
Agrupar: Asignar cada atributo a algún fragmento,
y en cada paso, reunir algunos fragmentos hasta
que algún tipo de condición sea satisfecha.
Dividir: Comienza con una relación y decide
particionar basándose en el comportamiento de
accesos de aplicaciones a los atributos.
Dividir sólo se aplica a aquellos atributos que no son
llave.
4. REQUERIMIENTOS DE INFORMACIÓN
Necesitamos algún valor que pueda medir la noción de
“pertenencia” entre los atributos que son accedidos con
mayor frecuencia (afinidad de atributos).
El principal requerimiento de información es la
frecuencia de acceso.
Sea Q={q1, q2, …, qq} un conjunto de consultas que
acceden a la relación R(A1, A2, …, An). Entonces para
consulta qi y cada atributo Aj, asociamos un valor de uso
de atributo, denotado por uso(qi, Aj) y definido como:
1 si el atributo Aj es referenciado por la
uso(qi, Aj)= consulta qi
0 de otra manera
5. REQUERIMIENTOS DE INFORMACIÓN
Ejemplo: Considere la relación PROJ. Asuma que las
siguientes relaciones están definidas para correr en
esta relación.
q1: Encontrar el presupuesto de un proyecto, dado su
número de identificación
q2: Encontrar los nombres y presupuestos de todos
los proyectos.
q3: Encontrar los nombres de proyectos localizados
en una cierta ciudad.
q4: Encontrar el total del presupuesto de un proyecto
dada una ciudad.
7. REQUERIMIENTOS DE INFORMACIÓN
Necesitamos, además, la medida de frecuencia
que mide el vínculo entre dos atributos de una
relación y como son accedidos por las
aplicaciones.
La medida de afinidad entre dos atributos Ai y
Aj de una relación R(A1, A2, …, An) con respecto al
conjunto de aplicaciones Q={q1, q2, …, qq} es definida
por:
8. REQUERIMIENTOS DE INFORMACIÓN
donde refl(qk) es el número de accesos a los atributos
(Ai, Aj) para cada ejecución de la aplicación qk en el
sitio Sl y accl(qk) es la medida de la frecuencia de
acceso de la aplicación previamente definida y
modificada para incluir frecuencias en diferentes
sitios.
9. REQUERIMIENTOS DE INFORMACIÓN
Continuemos con el ejemplo anterior. Por simplicidad,
asumamos que refl(qk)=1 para toda qk y Sl. Si las
frecuencias de aplicación son:
entonces la medida de afinidad entre los atributos A1
y A3 puede ser medida como:
11. ALGORITMO DE AGRUPACIÓN
La tarea principal en el diseño de un algoritmo
de fragmentación vertical es encontrar alguna
característica para agrupar los atributos de una
relación basada en los valores de afinidad de
atributos (AA).
Lo que se pretende es maximizar la siguiente
medida de afinidad global (AM):
12. ALGORITMO DE AGRUPACIÓN
Como la matriz de afinidad de atributos
(AA) es simétrica, la función objetivo se reduce
a:
donde
14. ALGORITMO BEA
1. Inicialización: Posicionar una de las columnas de
AA arbitrariamente en CA.
2. Iteración: Escoger una de las columnas restantes
y tratar de establecerla en alguna de las
posiciones restantes de la matriz CA.
3. Orden de las filas: Una vez que el orden de las
columnas esté definido, la posición de las filas
debe cambiar de tal manera que sus posiciones
concuerden con las posiciones de las columnas.
15. ALGORITMO BEA
Para la segunda parte del algoritmo definimos
Pero también debemos definir el vínculo entre dos
atributos como
17. ALGORITMO BEA
Consideremos el ejemplo anterior y estudiemos la
contribución de mover el atributo A4 entre los
atributos A1 y A2, dado por la fórmula
Cont(A1, A4, A2) =
2bond(A1, A4)+2bond(A4, A2) – 2bond(A1, A2)
bond(A1, A4)=135
bond(A4, A2)=11865
bond(A1, A2)=225
Cont(A1, A4, A2)=23550
18. ALGORITMO BEA
Cuando se desarrolla el algoritmo utilizando la
fórmula Cont es necesario determinar las
características inherentes de posicionar un atributo lo
más a la derecha o lo más a la izquierda posible
dentro de la matriz de agrupamiento. Para el ejemplo
el primer paso es posicionar el atributo A1 en la
primera columna, a partir de aquí podemos
establecer A2 tanto a la izquierda como a la derecha
de A1, sin embargo su vínculo es independiente de la
posición en la que se encuentren. Por tanto
continuamos con el atributo A3, el cual podemos
poner a la izquierda de A1, entre A1 y A2, o a la
derecha de A2.
19.
20. ALGORITMO DE PARTICIÓN VERTICAL
El objetivo de la división es encontrar
conjuntos de atributos que sean accedidos
únicamente, o para la mayoría de las partes, por
distintos conjuntos de aplicaciones.
23. ALGORITMO DE PARTICIÓN VERTICAL
Maximizar el acceso a
un solo fragmento y
minimizar el acceso a
varios (ambos).
Notas del editor
SELECT BUDGET
FROM PROJ
WHERE PNO=Value.
SELECT PNAME, BUDGET
FROM PROJ.
SELECT PNAME
FROM PROJ
WHERE LOC=Value.
SELECT SUM(BUDGET)
FROM PROJ
WHERE LOC=Value