icon picker
Laboratorio 10 - Fragmentacion Horizontal y Vertical

Laboratorio 10: Ejercicios de Fragmentación Horizontal y Vertical

Prof. Heider SanchezACLs: Ana María Accilio, Sebastián Loza

P1 (4 pts): Fragmentación de la Tabla Estudiante

Dada la siguiente tabla Estudiante con los datos:
alt text

1. Fragmentación por Términos Mínimos

Dado que el 60% de las consultas se realizan sobre el campo GRUPO y el 35% sobre EDAD, utilice la técnica de términos mínimos para determinar los fragmentos finales. Considere el vector de partición de EDAD: [18, 22].

2. Distribución de Fragmentos

Asumiendo que se dispone de tres servidores de bases de datos, indique cómo se distribuirían los fragmentos:
Servidor 1:
Servidor 2:
Servidor 3:

3. Fragmentación Vertical

Se sabe que:
El área de Control Escolar consulta los campos: NOMBRE, DIR, GRUPO
El área de Estadística consulta los campos: PROMEDIO, EDAD, SEXO
a. Realizar la fragmentación vertical usando notación formal.
b. Crear una consulta SQL para unir los fragmentos y verificar que se cumple la propiedad de Join sin Pérdida.

P2 (8 pts): Fragmentación Horizontal Derivada

Dado el siguiente esquema de base de datos:
alt text

1. Fragmentación Horizontal

Fragmentar la tabla Almacén por el atributo CodPostal con los rangos: [3500, 70000].
Fragmentar la tabla Libro por el atributo Precio con los rangos: [30, 60, 120].

2. Fragmentación Derivada

Realizar la fragmentación horizontal derivada de la tabla Existencias respecto a la fragmentación de Almacén.
Indicar cómo sería la creación de esta fragmentación derivada en código SQL.

3. Asignación de Fragmentos

Dado que se dispone de tres servidores, distribuya los fragmentos según criterio:
Asignación:ServidorLibroAlmacénExistenciasServidor 1Servidor 2Servidor 3

4. Subconsultas Distribuidas

En base a la asignación anterior ¿Qué subconsultas se generan al ejecutar la siguiente consulta en cada servidor?
SELECT Codigo, TotalExistencias
FROM Libro
WHERE Precio > 20 AND Precio < 45;

P3 (8 pts): Fragmentación Vertical

Se tienen las consultas Q1, Q2, Q3 y Q4 que trabajan sobre la tabla:
T(C, C1, C2, C3, C4) -- donde C es la clave primaria
Las operaciones que realiza cada aplicación son:
Q1: SELECT C1 FROM T WHERE C4 = 90;
Q2: SELECT C4 FROM T;
Q3: UPDATE T SET C3 = 20 WHERE C2 = 50;
Q4: UPDATE T SET C1 = 10 WHERE C3 = 20;
Además, se proporciona las frecuencias de acceso de las aplicaciones a los atributos de la siguiente forma:
acc1(AP1)=1 acc2(AP1)=0 acc3(AP1)=2 acc4(AP1)=0
acc1(AP2)=0 acc2(AP2)=4 acc3(AP2)=3 acc4(AP2)=0
acc1(AP3)=0 acc2(AP3)=0 acc3(AP3)=4 acc4(AP3)=0
acc1(AP4)=3 acc2(AP4)=0 acc3(AP4)=0 acc4(AP4)=0

Tareas:

Construya la matriz de usos.
Construya la matriz de afinidad.
Agrupe la matriz de afinidad.
Determine la fragmentación vertical resultante.
Plasme esta técnica en un programa en Python
Entregable: Documento en formato PDF con todos los resultados solicitados.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.