Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño Físico de Bases de Datos: Objetivos
Diseño Físico de Bases de Datos: Objetivos
Alternativa 2
de diseo fsico
Alternativa 3
de diseo fsico
Prototipos,
simulacin, ...
Estimaciones
Valor Promedio
y del Peor Caso
Alternativa 1
Estimaciones
Valor Promedio
y del Peor Caso
Alternativa 2
Tcnicas analticas
o experimentales
Estimaciones
Valor Promedio
y del Peor Caso
Alternativa 3
cumplen requisitos
de rendimiento?
Tema 10. Diseo fsico de bases de datos
Alternativa n
de diseo fsico
Estimaciones
Valor Promedio
y del Peor Caso
Alternativa n
lmites para el
promedio y peor caso
6
inicial
ESTRUCTURAS DE
ALMACENAMIENTO
Y CAMINOS DE
ACCESO
IMPLEMENTACIN
BD
Tema 10. Diseo fsico de bases de datos
Atributos de 2 y 3
candidatos para la definicin de estructuras de acceso
Tema 10. Diseo fsico de bases de datos
10
11
12
13
14
ESTUDIO DE ALTERNATIVAS
OFRECIDAS POR EL SGBD
PAUTAS DE
DISEO FSICO
DECISIONES DE
DISEO FSICO
ESTRUCTURAS DE
ALMACENAMIENTO
y CAMINOS DE
ACCESO
AJUSTE (tuning)
Nuevas consultas
y transacciones
IMPLEMENTACIN
BD
ESTADSTICAS
Bajo rendimiento
No cumplimiento de
requisitos del sistema
SUPERVISIN
DEL
RENDIMIENTO
REQUISITOS
DE
RENDIMIENTO
15
q Desnormalizacin
transacciones
16
(2)
17
(3)
18
(4)
19
(5)
20
10
(6)
21
(7)
J
Acelera la ejecucin de las reuniones entre las tablas
registros relacionados estn en el mismo bloque menos accesos a bloque
22
11
(8)
23
(10)
Sobre ndices
q Cundo emplear un ndice
La tabla es de tamao medio/grande
Se suele acceder a pequeos % del total de tuplas ( 20%)
Se desea evitar...
el recorrido de la tabla completa
el acceso al fichero para determinadas consultas
EXISTS, IN, ...
24
12
(9)
Sobre ndices
q Cundo indexar un atributo
Es una clave
Utilizado por consultas/transacciones en condiciones de
reunin o de seleccin
Suele aparecer en clusulas WHERE en comparaciones de igualdad
o rango de valores: =, >, <, BETWEEN...
Suele ser atributo de reunin de varias tablas (p.ej. claves externas)
Tiene gran variedad de valores (mayor discriminacin en bsquedas)
No es modificado muy a menudo
25
(11)
Sobre ndices
q Cundo evitar un ndice
La tabla es muy pequea
Sobre atributos...
26
13
(12)
Sobre ndices
q Consejos para la utilizacin de ndices
Mximo 4 ndices por tabla
ndices necesidad de espacio y velocidad al modificar
N el SGBD puede crear implcitamente ndices sobre las claves
Puede crearse ms si la tabla es rara vez actualizada (histrico)
27
(13)
Desnormalizacin
Desnormalizar, es decir, violar la normalizacin, slo tiene una excusa:
rendimiento ... y slo en algunas situaciones [Shasha, 1992]
28
14
(14)
Desnormalizacin
q Desnormalizar
29
(15)
Desnormalizacin: un ejemplo
EMPLEADO(codEmpleado, nombreEmp, nssEmp, codAloj)
OFICIO_EMPLEADO(codEmp, codOfi, calificacin)
OFICIO(codOficio, nombreOficio, descripcin)
ALOJAMIENTO(codAlojamiento, nombreAlojamiento, direccin, responsable)
Los requisitos indican que siempre que se necesita el perfil de cierto trabajador
(consulta muy frecuente), se requiere el nombre del responsable de donde est
alojado el trabajador.
para la mayora de las consultas, necesita reunir cuatro o ms tablas!!
SELECT E.nombreEmp, O.nombreOficio, R.nombreEmp
FROM Empleado E, Oficio_Empleado OE, Oficio O, Alojamiento A, Empleado R
WHERE E.codEmpleado = 3030 AND E.codEmpleado=OE.codEmp
AND OE.codOfi=O.codOficio AND E.codAloj=A.codAlojamiento
AND A.responsable=R.codEmpleado;
30
15
(y 16)
Desnormalizacin : un ejemplo
EMPLEADO (codEmpleado, nombreEmp, nssEmp, codAloj, nomResponsable)
OFICIO_EMPLEADO (codEmp, codOfi, nomOficio, calificacin)
(El resto de tablas permanece igual)
L Control de la redundancia
q Modificacin
31
AJUSTE DEL
DISEO FSICO
32
16
33
34
17
Crear ndices
Eliminar ndices
Cambiar de un ndice secundario a otro con agrupacin (primario o
de agrupamiento) o viceversa
Reconstruir ndices
i Debe suspenderse la actualizacin de las tablas para eliminar/crear
ndices
Tema 10. Diseo fsico de bases de datos
35
36
18
37
Algunos ejemplos
Consultas que se deben reescribir, debido a que el optimizador
no usa ndices existentes
El campo de indexacin participa en expresiones aritmticas
WHERE (salario / 365 >10) ...
El campo de indexacin aparece en comparaciones
con atributos de distinto tamao o precisin, o
con NULL, o
de subcadena
38
19
39
20