Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BASE DE DATOS
Estructura de contenidos
INTRODUCCIÓN........................................................................3
2. LA OPTIMIZACIÓN DE CONSULTAS...........................................9
2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
INTRODUCCIÓN
Las técnicas que permiten optimizar el diseño de una base de datos han
evolucionado a medida que se desarrollan más aplicaciones. Las técnicas
se basan en la aplicación de la normalización para el desarrollo de bases
de datos, junto con una estrecha colaboración entre los administradores
de bases y desarrolladores de aplicaciones, así como técnicas de trabajo,
tanto en pre-producción como en los sistemas terminados.
1.1.1 Introducción
3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Alumnos
Nombres
NoMatricula
FechaNacimiento
NombrePapa
NombreMama
Una tabla con esta estructura presentan varios problemas. Por ejemplo,
si una pareja tiene más de un niño en la misma institución, debemos
4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
introducir el nombre del Padre y la Madre varias veces por cada niño.
Esto forma un grupo de repetición. Por otra parte se puede presentar un
error tipográfico en el nombre del Padre, si no se introduce exactamente
el mismo nombre todo el tiempo, se pueden causar problemas cuando
ejecuten búsquedas así como en la presentación de informes.
Alumnos Padres
1
Documento Codigo
Nombre Nombrepadre
NoMatricula Nombremadre
FechaNacimiento Direccion
Padres Telefono
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Cursos
NoMatricula
CodCurso
Nombre
Descripcion
Esta tabla tiene una clave primaria compuesta y no está en segunda forma
normal.
Para solucionar esta situación: “se divide la tabla que no está en la segunda
forma normal en otras dos tablas, como se muestra en la siguiente figura,
y las dos tablas resultantes se encuentran en segunda forma normal.
Matriculas Cursos
NoMatricula CodCurso
CodCurso Descripcion
Nombre
6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Funcionarios
NoMatricula
NomFuncionario
CodCargo
DescripCargo
Para solucionar este problema se debe dividir la tabla en otras dos, como
se indica en la siguiente figura. Las dos tablas resultantes se encuentran
en tercera forma normal.
7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Funcionarios Cursos
NoMatricula CodCurso
NomFuncionario DescripCargo
CodCurso
8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
2. LA OPTIMIZACIÓN DE CONSULTAS
9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Es una técnica para ahorro de tiempo en las consulta a través del algebra
relacional
2.1.1.1 Proyección
Ejemplo
10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
PRODUCTOS
Nombre Marca Precio
procesador AMD $500.000
procesador INTEL $600.000
procesador INTEL $50.000
Memoria USB OCZ $50.000
R1 R2
PRODUCTOS
Nombre
procesador
Memoria USB
PRODUCTOS
Nombre Marca
procesador AMD
procesador INTEL
Memoria USB OCZ
11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
2.1.1.2 Selección
Ejemplo:
PRODUCTOS
Especies Categoría Embalaje
Rosa Preservar Frasco
Rosa Seco Frasco
Sombrilla Costos Caja
Rosa Seco La bolsa de plástico
R3
PRODUCTOS
Especies Categoría Embalaje
Rosa Seco Frasco
Rosa Seco La bolsa de plástico
12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Permite seleccionar sólo las tuplas que cumplen una condición que se
expresa utilizando los operadores aritméticos (=,>, <,> =, <=, <>) o la
lógica básica (AND, OR y NOT).
Notación:
Ejemplo:
PRODUCTOS DETALLE
CodPrd Descripción Precio por unidad No. CodPrd Cantidad
590A HD 1.6 GB $ 161.500 97001 590A 2
588J Escáner HP $ 170.000 97002 515J 4
515J LBP 660 $ 182.000 97003 515J 3
R = JOIN (PRODUCTO,DETALLE,producto.codprd=detalle.codprd)
13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
R JOIN (PRODUCTO,DETALLE,producto.codprd=detalle.codprd)
2.1.1.3 Intersección
Ejemplo:
14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Profesores Profesores
Código Nombre Sindicales
1 DIEGO
Código Nombre
3 DURAND 1 DIEGO
4 MARTIN 4 MARTIN
5 BERTRAND 6 MICHEL
R2
Profesores
Código Nombre
1 DIEGO
4 MARTIN
2.1.1.4 Diferencia
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
R = DIFERENCIA (R, S)
Ejemplo:
Profesores Profesores
Código Nombre Sindicales
Código Nombre
1 DIEGO
3 DURAND 1 DIEGO
4 MARTIN 4 MARTIN
5 BERTRAND 6 MICHEL
R3
Profesores
Código Nombre
3 DURAND
5 BERTRAND
R3 (E1, E2)
16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
2.1.1.6 Producto
Ejemplo:
Estudiantes Pruebas
Código Nombre Curso Crédi
101 DURAND Informática 2
102 MARTIN Matemáticas 3
Financiera 5
Producto
Código Nombre Curso Créditos
101 DURAN Informática 2
101 DURAN Matemáticas 3
101 DURAN Financiera 5
102 MARTIN Informática 2
102 MARTIN Matemáticas 3
102 MARTIN Financiera 5
17
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
El resultado tiene relación con los atributos de cada una de las relaciones
de origen y sus tuplas se forman mediante la concatenación de cada tupla
de la primera relación con todas las tuplas de la segunda.
Si bien un índice ahorra tiempo en las consultas sobre los datos, aumenta
el costo de inserción y actualización.
18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
Ejemplo:
SELECT *
FROM Empleado
WHERE FUNCION (fecha) > 100
En el ejemplo siguiente, el índice no se utilizaría porque la
columna es parte de una expresión:
SELECT *
FROM Empleado
WHERE fecha+7=”30-jun-2012”
Si no hay índices en las columnas que sirven para llevar a cabo la unión
equivalente, se realiza una operación de SORT / MERGE para responder a
la consulta. Esto significa que cada tabla se ordena por separado, y luego
las dos se unen.
19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos
20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO
21
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
BIBLIOGRAFÍA
22
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construcción Objeto de Aprendizaje
Diseño e Implementación de Cubos de Datos
Desarrollador de contenido Alejandro Pinzón Roberto
Experto temático
Asesor pedagógico Rafael Neftalí Lizcano Reyes
Producción Multimedia Luis Fernando Botero Mendoza
Victor Hugo Tabares
Programadores Daniel Eduardo Martínez
Grateful Dead Montaño Sierra
Líder expertos temáticos Ana Yaqueline Chavarro Parra
Líder línea de producción Santiago Lozada Garcés
23
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje