El documento describe tres fragmentaciones diferentes de una base de datos de una escuela de conducción. La primera fragmentación separa las tablas de instructores y sucursales. La segunda toma las tablas de instructores, clientes, lecciones y coches. La tercera toma las tablas de instructores, clientes y notas. También describe dos fragmentaciones horizontales de la tabla de lecciones, una por tipo de lección y otra por horario.
1. 1:*
1:1
1:1
1:*
1:1
1:1
Ejercicio 22.18
Diagrama de Entidad Relación
a) Esquema de fragmentación adecuado para el sistema.
La primera fragmentación se utiliza las entidades instructor y sucursal porque realiza
transacciones buscando los nombres y números de cédula de los directores de las distintas
sucursales.
Fragmentación 1
1:1
Escoge
1:1
Lecciones
Recibe
Cliente
Instructor tiene Sucursal
InstructorSucursal tiene
1:1
Registra Nota
Cochetiene
tiene
tiene
ingresa
2. La fragmentación 2 se tomará las tablas Instructor, Cliente, Lecciones y coche para saber
aquellos que aprobaron y cuantos clientes existen en la escuela de conducción.
Fragmentación 2
La fragmentación 3 se utiliza, Instructor, cliente y la Nota que se almacenarán.
Fragmentación 3
Instructor Tiene Coche
tiene
n
Cliente
Escoge
Recibe
Lecciones
1:1
1.1
1:*
1:1
ingresa
NotaTiene
Instructor
Cliente
1:1
3. b) En el caso de una fragmentación horizontal principal, un conjunto mínimo de
predicados.
Debido a que se realiza mayor consultas sobre el tipo de lecciones de tipo individual o por
conjunto en la sucursal Bearsden en Glasgow tenemos la siguiente partición de la tabla.
S1 Ợtipo = ’Individual’ (Lecciones)
S2 Ợtipo = ’Conjunto’(Lecciones)
Fragmentación S1
ID Nombre Apellido Tipo_Leccion Sucursal
110456790 Pedro Castro Individual 001
110576389 Ivan Ruiz Individual 002
Fragmentación S1
ID Nombre Apellido Tipo_Leccion Sucursal
110756792 Carlos Ruiz Conjunto 003
110276381 Karen Castillo Conjunto 001
Otra consulta que se realiza es sobre aquellos horarios de lecciones que son en la mañana
o en la tarde en la tabla lecciones tenemos las siguientes particiones.
R1 Ợ Horario_Lec = ’Mañana´ (Lecciones)
R2 Ợ Horario_Lec = ’Tarde’ (Lecciones)
Fragmento R1
ID Nombre Apellido Horario_Lec Sucursal
110756792 Carlos Ruiz Mañana 003
110276381 Karen Castillo Mañana 001
Fragmento R2
ID Nombre Apellido Horario_Lec Sucursal
110756792 Carlos Ruiz Tarde 003
110276381 Karen Castillo Tarde 001
4. c) La reconstrucción de las relaciones globales a partir de los fragmentos.
SELECT *
FROM Instructor, Sucursal AT SITE 1
SELECT *
FROM Cliente, Lecciones, Coche, Instructor
WHERE Cliente.idCli = Lecciones.id_cliente AND Clientes.idCli = Instructor. id_cliente
AND Instructor.id_instructor = Coche.id_instructor. AT SITE 2
SELECT *
FROM Nota, Instructor, Cliente
WHERE Instructor.id_instructor = Nota.id_instructor AND Cliente.id_cliente = Nota.id_cliente