SlideShare una empresa de Scribd logo
1 de 44
Administración de Base de Datos
Procesamiento y Optimización
de Consultas
Prof Mercy Ospina Torres
mercy.ospinat@gmail.com
Prof Renny A. Hernandez
renny.hernandez@ciens.ucv.ve
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Contenido
Marzo 2012 Administración de Base de Datos 2
• Modelo de costos
– Factor de selectividad
– Costo de los operadores del Algebra Relacional
• Select
• Project.
• Join
• Order
• Árbol de ejecución físico
– Evaluar el árbol de ejecución físico.
• Materialización
• Encausamiento
Concurrencia
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Modelo de Costos
Marzo 2012 Administración de Base de Datos 3
• Es una herramienta estadística formal
para evaluar el costo de un plan físico de
ejecución.
• Se mide en función del tiempo y puede
expresarse en términos de:
– Accesos a disco
– Tiempo del CPU
– Costo de comunicación (Sist. Dist)
– Tiempo de respuesta para un plan de
evaluación de una consulta.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Modelo de Costo
Marzo 2012 Administración de Base de Datos 4
¿Cuál es el costo más importante en las
bases de datos centralizadas?
Acceso a disco
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Marzo 2012 Administración de Base de Datos 5
• Para calcular el costo de acceso a disco
necesitamos.
– Tamaño a cada archivo de datos y vistas
• Número de registros
• Tamaño de los atributos y los registros
• Tamaño de los bloques
– Factor de selectividad
• Número de valores distintos,
• mínimo y máximo de los atributos de búsqueda,
– Métodos de acceso (organización del archivo)
– Índices del archivo
• números de niveles (altura)
• Tipo (primario, secundario, agrupado)
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Cálculo del espacio en disco
requerido por una relación
Marzo 2012 Administración de Base de Datos 6
1. Registros de longitud fija y no extensible
N: el número de registro del archivo A
Ra: el tamaño en bytes de cada registro
B: Tamaño en bytes de cada bloque







a
R
B
fdb 






fdb
N
A
NumBloques )
(
Se usa para las tablas base
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Estimación de costos
Marzo 2012 Administración de Base de Datos 7
2. Extensibles / Tamaño Fijo





 

B
R
N
A
NumBloques a
)
(
Se usa para las tablas vista o resultados
intermedios
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Estimación de Costos
Marzo 2012 Administración de Base de Datos 8
4. Tamaño variable
se usan las mismas fórmulas pero se
calcula un promedio de tamaño del
registro
muestreo.
de
as
con técnic
A,
registro
un
de
promedio
tamaño

A
R
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Costo de operadores físicos
Marzo 2012 Administración de Base de Datos 9
• Selección
• Ordenamiento
• Proyección
• Reunión
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Estimación de costos en
operaciones físicas: Selección
Marzo 2012 Administración de Base de Datos 10
• Operación Selección
 Selección sin índices
 Selección con índices
 Selección de igualdad
 Selección de comparación
 Selecciones complejas (Conjuntivas o
Disyuntivas)
)
(R
condicion

El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección sin índices
Marzo 2012 Administración de Base de Datos 11
• Considere una operación selección sobre
un archivo A y:
disco
a
acceso
de
tiempo
:
disco
de
bloques
en
A
relación
la
ocupa
que
tamaño
:
D
TBA
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección sin índices
Marzo 2012 Administración de Base de Datos 12
• Búsqueda lineal
A
A
TB
Costo
TB
Costo








:
clave
la
sobre
es
no
condición
la
Si
2
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección sin índice
Marzo 2012 Administración de Base de Datos 13
• Busqueda binaria
– Si el archivo se ordena según el atributo clave
y la condición es una igualdad.
– Si la selección no es de igualdad, o no es
sobre un atributo clave (y el archivo está
ordenado según éste atributo)
)
(
log2 A
TB
Costo 
fs)
con
calculan
(se
condición
la
con
cumplen
que
bloques
de
Número
:
)
1
(
)
(
log2
f
f
A
TB
TB
TB
Costo 


El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección con índices
Marzo 2012 Administración de Base de Datos 14
• Existe un índice sobre alguno de los
atributos que forman la condición en la
consulta
– Select * from t1 where att1= v1 and att2= v2
• Asumimos que los índices son de tipo
árbol B+ y la longitud del camino es
siempre la altura del árbol.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección de igualdad
Marzo 2012 Administración de Base de Datos 15
Select a1, a2, .. An
From t1, t2, … tm
Where a3=v1 and ...
• Índice primario
– Si se usa un índice primario es porque la
igualdad es sobre un atributo clave y solo
existe un valor posible
– Costo:
Se obtiene el número de niveles de índice (h) + 1
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección de igualdad
Marzo 2012 Administración de Base de Datos 16
• Índice agrupado
– Existen varios registros que cumplen la
condición y ellos están ordenados físicamente.
• Índice secundario
indexación
de
atributo
del
selección
de
ad
Cardinalid
:
)
,
(
cos
s
nr
R
c
fs
s
h
fdb
s
to










h
s
to 

cos R
cond
fs
s *
)
(

Cantidad de
bloques que
ocupan los
registros
seleccionados
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección de comparación
Marzo 2012 Administración de Base de Datos 17
• Índice primario o agrupado
– Si la comparación es Att > v o Att ≥ v se
puede obtener el primer valor de v en el
archivo de datos, de allí se explora hasta el
final
– Si la comparación Att < v o Att ≤ v no es
necesario usar el índice.
h
fdb
s
to 







cos







fdb
s
to
cos
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selección de comparación
Marzo 2012 Administración de Base de Datos 18
• Índice primario o agrupado
– Si la comparación es Att > v o Att ≥ v se
puede obtener el primer valor de v en el
archivo de datos, de allí se explora hasta el
final
– Si la comparación Att < v o Att ≤ v no es
necesario usar el índice.
• Índice secundario
– Sólo es necesario hallar el primer apuntador a
v y recorrer la lista formada por las hojas para
obtener los apuntadores a los diferentes
bloques del archivo de datos.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selecciones complejas
Marzo 2012 Administración de Base de Datos 19
• Conjuntivas (c1 and c2)
- Índices Simples (índices diferentes por cada
atributo)
- Se verifica si hay un índice sobre alguno de los
atributos, se busca sobre éste y se verifica si
cumple las demás condiciones
- El más económico es el que tiene el fs más bajo
- Si hay un índice por cada atributo, se utilizan los
distintos índices, se recuperan los elementos y
luego se interceptan los tres conjuntos
obtenidos.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Selecciones Complejas
Marzo 2012 Administración de Base de Datos 20
• Conjuntivas (Cont)
• Índices Compuestos
• Sólo puede utilizarse si cada uno de los
atributos están en la condición de selección
• El tipo de índice determina el uso de algoritmos
de selección simples
• Disyuntiva (c1 or c2)
– Se realiza una búsqueda y se realiza la unión
de éstas.
– El hecho de que un sólo atributo no tenga
índice implica una búsqueda lineal de datos.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Proyección
Marzo 2012 Administración de Base de Datos 21
• Con duplicados
For each tupla t in B
Guardar en B’ < t.At1, t.At2, …, t.Ati >
End
Resultado tabla o relación con registros
duplicados
• Costo = TBB (recorrer la tabla B)
• Costo de almacenamiento
– TBB’ (guardar la tabla proyectada)
B
B’
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Proyección
Marzo 2012 Administración de Base de Datos 22
• Sin duplicados
• Basado en ordenamiento
For each tupla t in B
Guardar en B’ < t.At1, t.At2, …, t.Ati >
End
Ordenar B’ en base a los atributos de proyección
For each tupla t in B’
Guardar t en B’’ sii no existe t en B’’
End
Resultado tabla o relación donde los duplicados
son eliminados
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Proyección
Marzo 2012 Administración de Base de Datos 23
• Costo de proyección
• Costo de almacenamiento
)
log( '
'
' B
B
B
B TB
TB
TB
TB 

Recorrer B
Generar B’
Ordenar B’
'
'
B
TB Tabla proyectada sin duplicados
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Proyección
Marzo 2012 Administración de Base de Datos 24
• Basado en HASH
Se crea B’
For each tupla tj in B’
Aplicar f(tj) #se contruye una tabla hash
en mp
si tupla tj en f(ti) / ti = tj
Descartar ti
sino
Guardar ti en f(ti)
fsi
Retornar tuplas en tabla hash
end
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Proyección
Marzo 2012 Administración de Base de Datos 25
• Basado en HASH (costo)
– Suponiendo que
– se puede almacenar en la tabla hash
Sino
Aunque este costo puede ser menor que el de
ordenamiento, requiere memoria principal
+ Costo de almacenar B’’
'
'
3 B
B
B
B
TB
TB
TB
TB
B




El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Operación Join
Marzo 2012 Administración de Base de Datos 26
• El operador Join se puede evaluar de
varias maneras distintas
– Nested loop join
– Block Nested Loop Join
– Merge sort join
– Index Join
– Hash Join
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Nested Loop Join
Marzo 2012 Administración de Base de Datos 27
For each tupla tA in A
For each tupla tB in B
If satisfy (tA, tB, Cond)
Return (tA. tB)
End
End
End
Costo = TBA + RA*TBB
RA = cantidad de
registro de A
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Block Nested Loop Join
Marzo 2012 Administración de Base de Datos 28
Este algorito se puede mejorar si se aprovechan los
bloques de memoria disponibles
Si se carga A por bloques el costo seria
Costo = TBA + TBA*TBB
Si se tienen T bloques disponibles se dejan dos para
entrada/salida
A B
B
A
A *TB
T-
TB
TB
Costo 







2
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Sort-Merge Join
Marzo 2012 Administración de Base de Datos 29
Si ambas tablas están ordenadas sobre los atributos
del Join, el costo es el menor
Costo = TBA + TBB
Si no hay que agregar el costo de ordenación
Costo = TBA Log(TBA )+ TBB Log(TBB ) +TBA +TBB
A B
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Index Join
Marzo 2012 Administración de Base de Datos 30
Se usa si la tabla de la derecha tiene un índice sobre el
atributo del Join, el costo es el de leer A y buscar cada
registro de A por el índice
Costo = TB(A) + CostoBuscar*Ra
El costo de buscar depende del indice (ver operador
select)
A B
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Hash Join
Marzo 2012 Administración de Base de Datos 31
• Se dividen las tuplas de cada relación
utilizando una función hash tal que:
)
(
)
(
.
.
)
,
(
)
,
(
/
, b
a
b
a
b
a t
h
t
h
e
i
t
B
part
t
A
part
B
t
A
t 




El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Hash Join
Marzo 2012 Administración de Base de Datos 32
• h es una función que asigna a los atributos de join
los valores {0,1,..,n-1}
• Ha0 .. Ha(n-1) denota las particiones de A
inicialmente vacías. Se colocan las tuplas en Hai
con i = h(ta[atributos join])
• Hb0 .. Hb(n-1) denota las particiones de B
inicialmente vacías. Se colocan las tuplas en Hbi
con i = h(tb[atributos join])
• Al aplicar la misma función para ambos
particionamientos, cada tupla de A y B que tengan
resultados iguales de la función de asociación,
estarán en la misma partición
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Hash Join
Marzo 2012 Administración de Base de Datos 33
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Video Join
Marzo 2012 Administración de Base de Datos 34
• Videos
– Video 1
– Video 2
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Calcular el costo de un árbol
de ejecución
Marzo 2012 Administración de Base de Datos 35
• Una vez que el árbol este optimizado
– Se cambian los operadores lógicos por físicos
p.e join por index join
– Si hay mas de un operador posible se debe
verificar el menos costoso
– Se calculan los costos de las operaciones por
nodo, y el costo de almacenar resultados
intermedios
– Se suman los costos de todos los nodos
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Ejercicio
Marzo 2012 Administración de Base de Datos 36
Jugador (DI, Nombre, Apellidos,
FechaNac, Direccion)
DI: 9 bytes
Nombre: 40 bytes
Apellidos: 40 bytes
FechaNac: 8 bytes
Direccion: 50 bytes
Num registros: 250.000
Equipo( CodEq, NombreEq, FechaFund,
Ciudad, Liga, Estadio)
CodEq: 4 bytes
NombreEq: 40 bytes
FechaFund: 8 bytes
Liga: 2 bytes (Nacional =0, Americana=1)
Estadio: 50 bytes
Num registros: 30
Juegos(CodEq1, CodEq2, Temporada,
Fecha, Resultado, CodEquipoGana)
CodEq1: 4 bytes
CodEq2: 4 bytes
Temporada: 4 bytes, min : 1902, máximo
2011, valores diferentes, 110
Fecha: 8 bytes (162 valores distintos)
Resultado: 8 bytes
CodEquipoGana: 4 bytes (INDICE)
Num registros: 18.000
Juega (DIJugador, CodEq, FechaIni,
FechaFin, Posicion)
DIJugador: 9 bytes
CodEq: 4 bytes
FechaIni: 8 bytes (un promedio de 20 jug
por año)
FechaFin: 10 bytes
Posición: 20 bytes (9 valores distintos)
Num registros: 875.000
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Marzo 2012 Administración de Base de Datos 37
• Consulta: Nombre, apellido y equipo de
los jugadores que han participado en la
temporada 2009 en juegos ganados, y
que han jugado en primera base.
– Dé el árbol canónico para q.
– Dé el árbol optimizado heurísticamente.
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Marzo 2012 Administración de Base de Datos 38
• Suponga que el SMBD se caracteriza por
– Disponer de 20 bloques de memoria principal
para las operaciones AR
– Cada bloque ocupa 1024 bytes
– Disponer de los operadores físicos vistos en
clase
– Materializar los resultados intermedios. Asuma
registros fijos extensibles para las tablas
intermedias y no extensibles para las relaciones
base
– Indices primarios para las claves primarias,
todos tienen 4 de altura
El DBA
Concurrencia
Diccionario Datos
Integridad
Seguridad
Proc. Consultas
El SMBD
Manejo de Memoria
Restauración
Ejemplo de plan de ejecución
Caso Oracle
Marzo 2012 Administración de Base de Datos 39
SELECT e.employee_id, e.last_name, e.salary,
d.department_name, l.city
FROM employees e, departments d, locations l
WHERE e.department_id = d.department_id
AND d.location_id = l.location_id
AND l.city = 'Oxford'
AND e.salary > 10500 AND e.last_name LIKE '%e%';
Ejemplo de plan de ejecución
Caso Oracle
Marzo 2012 Administración de Base de Datos 40
Búsqueda
usando
índice
Marzo 2012 Administración de Base de Datos 41
Ordenamiento
en memoria
Marzo 2012 Administración de Base de Datos 42
Búsqueda
lineal
Marzo 2012 Administración de Base de Datos 43
Sort merge
join
Marzo 2012 Administración de Base de Datos 44
Block
nested loop
join

Más contenido relacionado

Similar a Abd procesamiento consultas (parte 3)

unidad13_Procesamiento_de_consultas1.ppt
unidad13_Procesamiento_de_consultas1.pptunidad13_Procesamiento_de_consultas1.ppt
unidad13_Procesamiento_de_consultas1.pptAnaHolgado5
 
Diseño físico y rendimiento de la bd2
Diseño físico y rendimiento de la bd2Diseño físico y rendimiento de la bd2
Diseño físico y rendimiento de la bd2Luis Jherry
 
Diseño físico y rendimiento de la bd
Diseño físico y rendimiento de la bdDiseño físico y rendimiento de la bd
Diseño físico y rendimiento de la bdLuis Jherry
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionSergio, Chávez
 
Optimizacion de Consultas en SQL (Base datos).ppt
Optimizacion de Consultas en SQL (Base datos).pptOptimizacion de Consultas en SQL (Base datos).ppt
Optimizacion de Consultas en SQL (Base datos).pptanali77
 
SQLSaturday 322 Guatemala 2014 Cubes Performance
SQLSaturday 322 Guatemala 2014 Cubes PerformanceSQLSaturday 322 Guatemala 2014 Cubes Performance
SQLSaturday 322 Guatemala 2014 Cubes PerformanceMarco Tulio Gómez Reyes
 
Clase 2 ciclo de vida bd ac
Clase 2 ciclo de vida bd acClase 2 ciclo de vida bd ac
Clase 2 ciclo de vida bd acLuis Jherry
 
1 process
1 process1 process
1 processsalilor
 
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1Guillermo Taylor
 
INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS JoelChoquetacna
 

Similar a Abd procesamiento consultas (parte 3) (20)

unidad13_Procesamiento_de_consultas1.ppt
unidad13_Procesamiento_de_consultas1.pptunidad13_Procesamiento_de_consultas1.ppt
unidad13_Procesamiento_de_consultas1.ppt
 
Abd tema4 dd
Abd tema4 ddAbd tema4 dd
Abd tema4 dd
 
Diseño físico y rendimiento de la bd2
Diseño físico y rendimiento de la bd2Diseño físico y rendimiento de la bd2
Diseño físico y rendimiento de la bd2
 
Diseño físico y rendimiento de la bd
Diseño físico y rendimiento de la bdDiseño físico y rendimiento de la bd
Diseño físico y rendimiento de la bd
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacion
 
Bases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big DataBases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big Data
 
Diseño físico
Diseño físicoDiseño físico
Diseño físico
 
GuíA Para La OptimizacióN De Consultas
GuíA Para La OptimizacióN De ConsultasGuíA Para La OptimizacióN De Consultas
GuíA Para La OptimizacióN De Consultas
 
Optimizacion de Consultas en SQL (Base datos).ppt
Optimizacion de Consultas en SQL (Base datos).pptOptimizacion de Consultas en SQL (Base datos).ppt
Optimizacion de Consultas en SQL (Base datos).ppt
 
SQLSaturday 322 Guatemala 2014 Cubes Performance
SQLSaturday 322 Guatemala 2014 Cubes PerformanceSQLSaturday 322 Guatemala 2014 Cubes Performance
SQLSaturday 322 Guatemala 2014 Cubes Performance
 
Clase 2 ciclo de vida bd ac
Clase 2 ciclo de vida bd acClase 2 ciclo de vida bd ac
Clase 2 ciclo de vida bd ac
 
Bases de Datos II: El entorno
Bases de Datos II: El entornoBases de Datos II: El entorno
Bases de Datos II: El entorno
 
Basededatosconceptosbasicos
BasededatosconceptosbasicosBasededatosconceptosbasicos
Basededatosconceptosbasicos
 
Concepto de bd
Concepto de bdConcepto de bd
Concepto de bd
 
Abd1 intro
Abd1 introAbd1 intro
Abd1 intro
 
POC SQL 2014
POC SQL 2014POC SQL 2014
POC SQL 2014
 
1 process
1 process1 process
1 process
 
Comparación SMBD
Comparación SMBDComparación SMBD
Comparación SMBD
 
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
 
INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS
 

Más de Escuela de Computación UCV (18)

Recuperacion ABD UCV
Recuperacion ABD UCVRecuperacion ABD UCV
Recuperacion ABD UCV
 
Concurrencia 2 ABD UCV
Concurrencia 2 ABD UCVConcurrencia 2 ABD UCV
Concurrencia 2 ABD UCV
 
Concurrencia 1 ABD UCV
Concurrencia 1 ABD UCVConcurrencia 1 ABD UCV
Concurrencia 1 ABD UCV
 
Integridad de datos
Integridad de datosIntegridad de datos
Integridad de datos
 
Seguridad datos i
Seguridad datos i Seguridad datos i
Seguridad datos i
 
Seguridad datos ii vii
Seguridad datos ii viiSeguridad datos ii vii
Seguridad datos ii vii
 
Abd manejo memoria III
Abd manejo memoria IIIAbd manejo memoria III
Abd manejo memoria III
 
Abd manejo memoria II
Abd manejo memoria IIAbd manejo memoria II
Abd manejo memoria II
 
Abd manejo memoria Parte I
Abd manejo memoria Parte IAbd manejo memoria Parte I
Abd manejo memoria Parte I
 
Bd no sq ldocumento
Bd no sq ldocumentoBd no sq ldocumento
Bd no sq ldocumento
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Bd nosql tecnicas III
Bd nosql tecnicas IIIBd nosql tecnicas III
Bd nosql tecnicas III
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Bd no sql tecnicas
Bd no sql tecnicasBd no sql tecnicas
Bd no sql tecnicas
 
Bd no sqlcb2
Bd no sqlcb2Bd no sqlcb2
Bd no sqlcb2
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Abd tema1 parteii
Abd tema1 parteiiAbd tema1 parteii
Abd tema1 parteii
 
Abd tema3
Abd tema3Abd tema3
Abd tema3
 

Último

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 

Abd procesamiento consultas (parte 3)

  • 1. Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres mercy.ospinat@gmail.com Prof Renny A. Hernandez renny.hernandez@ciens.ucv.ve
  • 2. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Contenido Marzo 2012 Administración de Base de Datos 2 • Modelo de costos – Factor de selectividad – Costo de los operadores del Algebra Relacional • Select • Project. • Join • Order • Árbol de ejecución físico – Evaluar el árbol de ejecución físico. • Materialización • Encausamiento Concurrencia
  • 3. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Modelo de Costos Marzo 2012 Administración de Base de Datos 3 • Es una herramienta estadística formal para evaluar el costo de un plan físico de ejecución. • Se mide en función del tiempo y puede expresarse en términos de: – Accesos a disco – Tiempo del CPU – Costo de comunicación (Sist. Dist) – Tiempo de respuesta para un plan de evaluación de una consulta.
  • 4. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Modelo de Costo Marzo 2012 Administración de Base de Datos 4 ¿Cuál es el costo más importante en las bases de datos centralizadas? Acceso a disco
  • 5. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Marzo 2012 Administración de Base de Datos 5 • Para calcular el costo de acceso a disco necesitamos. – Tamaño a cada archivo de datos y vistas • Número de registros • Tamaño de los atributos y los registros • Tamaño de los bloques – Factor de selectividad • Número de valores distintos, • mínimo y máximo de los atributos de búsqueda, – Métodos de acceso (organización del archivo) – Índices del archivo • números de niveles (altura) • Tipo (primario, secundario, agrupado)
  • 6. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Cálculo del espacio en disco requerido por una relación Marzo 2012 Administración de Base de Datos 6 1. Registros de longitud fija y no extensible N: el número de registro del archivo A Ra: el tamaño en bytes de cada registro B: Tamaño en bytes de cada bloque        a R B fdb        fdb N A NumBloques ) ( Se usa para las tablas base
  • 7. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Estimación de costos Marzo 2012 Administración de Base de Datos 7 2. Extensibles / Tamaño Fijo         B R N A NumBloques a ) ( Se usa para las tablas vista o resultados intermedios
  • 8. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Estimación de Costos Marzo 2012 Administración de Base de Datos 8 4. Tamaño variable se usan las mismas fórmulas pero se calcula un promedio de tamaño del registro muestreo. de as con técnic A, registro un de promedio tamaño  A R
  • 9. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Costo de operadores físicos Marzo 2012 Administración de Base de Datos 9 • Selección • Ordenamiento • Proyección • Reunión
  • 10. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Estimación de costos en operaciones físicas: Selección Marzo 2012 Administración de Base de Datos 10 • Operación Selección  Selección sin índices  Selección con índices  Selección de igualdad  Selección de comparación  Selecciones complejas (Conjuntivas o Disyuntivas) ) (R condicion 
  • 11. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección sin índices Marzo 2012 Administración de Base de Datos 11 • Considere una operación selección sobre un archivo A y: disco a acceso de tiempo : disco de bloques en A relación la ocupa que tamaño : D TBA
  • 12. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección sin índices Marzo 2012 Administración de Base de Datos 12 • Búsqueda lineal A A TB Costo TB Costo         : clave la sobre es no condición la Si 2
  • 13. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección sin índice Marzo 2012 Administración de Base de Datos 13 • Busqueda binaria – Si el archivo se ordena según el atributo clave y la condición es una igualdad. – Si la selección no es de igualdad, o no es sobre un atributo clave (y el archivo está ordenado según éste atributo) ) ( log2 A TB Costo  fs) con calculan (se condición la con cumplen que bloques de Número : ) 1 ( ) ( log2 f f A TB TB TB Costo   
  • 14. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección con índices Marzo 2012 Administración de Base de Datos 14 • Existe un índice sobre alguno de los atributos que forman la condición en la consulta – Select * from t1 where att1= v1 and att2= v2 • Asumimos que los índices son de tipo árbol B+ y la longitud del camino es siempre la altura del árbol.
  • 15. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección de igualdad Marzo 2012 Administración de Base de Datos 15 Select a1, a2, .. An From t1, t2, … tm Where a3=v1 and ... • Índice primario – Si se usa un índice primario es porque la igualdad es sobre un atributo clave y solo existe un valor posible – Costo: Se obtiene el número de niveles de índice (h) + 1
  • 16. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección de igualdad Marzo 2012 Administración de Base de Datos 16 • Índice agrupado – Existen varios registros que cumplen la condición y ellos están ordenados físicamente. • Índice secundario indexación de atributo del selección de ad Cardinalid : ) , ( cos s nr R c fs s h fdb s to           h s to   cos R cond fs s * ) (  Cantidad de bloques que ocupan los registros seleccionados
  • 17. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección de comparación Marzo 2012 Administración de Base de Datos 17 • Índice primario o agrupado – Si la comparación es Att > v o Att ≥ v se puede obtener el primer valor de v en el archivo de datos, de allí se explora hasta el final – Si la comparación Att < v o Att ≤ v no es necesario usar el índice. h fdb s to         cos        fdb s to cos
  • 18. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selección de comparación Marzo 2012 Administración de Base de Datos 18 • Índice primario o agrupado – Si la comparación es Att > v o Att ≥ v se puede obtener el primer valor de v en el archivo de datos, de allí se explora hasta el final – Si la comparación Att < v o Att ≤ v no es necesario usar el índice. • Índice secundario – Sólo es necesario hallar el primer apuntador a v y recorrer la lista formada por las hojas para obtener los apuntadores a los diferentes bloques del archivo de datos.
  • 19. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selecciones complejas Marzo 2012 Administración de Base de Datos 19 • Conjuntivas (c1 and c2) - Índices Simples (índices diferentes por cada atributo) - Se verifica si hay un índice sobre alguno de los atributos, se busca sobre éste y se verifica si cumple las demás condiciones - El más económico es el que tiene el fs más bajo - Si hay un índice por cada atributo, se utilizan los distintos índices, se recuperan los elementos y luego se interceptan los tres conjuntos obtenidos.
  • 20. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Selecciones Complejas Marzo 2012 Administración de Base de Datos 20 • Conjuntivas (Cont) • Índices Compuestos • Sólo puede utilizarse si cada uno de los atributos están en la condición de selección • El tipo de índice determina el uso de algoritmos de selección simples • Disyuntiva (c1 or c2) – Se realiza una búsqueda y se realiza la unión de éstas. – El hecho de que un sólo atributo no tenga índice implica una búsqueda lineal de datos.
  • 21. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Proyección Marzo 2012 Administración de Base de Datos 21 • Con duplicados For each tupla t in B Guardar en B’ < t.At1, t.At2, …, t.Ati > End Resultado tabla o relación con registros duplicados • Costo = TBB (recorrer la tabla B) • Costo de almacenamiento – TBB’ (guardar la tabla proyectada) B B’
  • 22. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Proyección Marzo 2012 Administración de Base de Datos 22 • Sin duplicados • Basado en ordenamiento For each tupla t in B Guardar en B’ < t.At1, t.At2, …, t.Ati > End Ordenar B’ en base a los atributos de proyección For each tupla t in B’ Guardar t en B’’ sii no existe t en B’’ End Resultado tabla o relación donde los duplicados son eliminados
  • 23. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Proyección Marzo 2012 Administración de Base de Datos 23 • Costo de proyección • Costo de almacenamiento ) log( ' ' ' B B B B TB TB TB TB   Recorrer B Generar B’ Ordenar B’ ' ' B TB Tabla proyectada sin duplicados
  • 24. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Proyección Marzo 2012 Administración de Base de Datos 24 • Basado en HASH Se crea B’ For each tupla tj in B’ Aplicar f(tj) #se contruye una tabla hash en mp si tupla tj en f(ti) / ti = tj Descartar ti sino Guardar ti en f(ti) fsi Retornar tuplas en tabla hash end
  • 25. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Proyección Marzo 2012 Administración de Base de Datos 25 • Basado en HASH (costo) – Suponiendo que – se puede almacenar en la tabla hash Sino Aunque este costo puede ser menor que el de ordenamiento, requiere memoria principal + Costo de almacenar B’’ ' ' 3 B B B B TB TB TB TB B    
  • 26. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Operación Join Marzo 2012 Administración de Base de Datos 26 • El operador Join se puede evaluar de varias maneras distintas – Nested loop join – Block Nested Loop Join – Merge sort join – Index Join – Hash Join
  • 27. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Nested Loop Join Marzo 2012 Administración de Base de Datos 27 For each tupla tA in A For each tupla tB in B If satisfy (tA, tB, Cond) Return (tA. tB) End End End Costo = TBA + RA*TBB RA = cantidad de registro de A
  • 28. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Block Nested Loop Join Marzo 2012 Administración de Base de Datos 28 Este algorito se puede mejorar si se aprovechan los bloques de memoria disponibles Si se carga A por bloques el costo seria Costo = TBA + TBA*TBB Si se tienen T bloques disponibles se dejan dos para entrada/salida A B B A A *TB T- TB TB Costo         2
  • 29. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Sort-Merge Join Marzo 2012 Administración de Base de Datos 29 Si ambas tablas están ordenadas sobre los atributos del Join, el costo es el menor Costo = TBA + TBB Si no hay que agregar el costo de ordenación Costo = TBA Log(TBA )+ TBB Log(TBB ) +TBA +TBB A B
  • 30. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Index Join Marzo 2012 Administración de Base de Datos 30 Se usa si la tabla de la derecha tiene un índice sobre el atributo del Join, el costo es el de leer A y buscar cada registro de A por el índice Costo = TB(A) + CostoBuscar*Ra El costo de buscar depende del indice (ver operador select) A B
  • 31. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Hash Join Marzo 2012 Administración de Base de Datos 31 • Se dividen las tuplas de cada relación utilizando una función hash tal que: ) ( ) ( . . ) , ( ) , ( / , b a b a b a t h t h e i t B part t A part B t A t     
  • 32. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Hash Join Marzo 2012 Administración de Base de Datos 32 • h es una función que asigna a los atributos de join los valores {0,1,..,n-1} • Ha0 .. Ha(n-1) denota las particiones de A inicialmente vacías. Se colocan las tuplas en Hai con i = h(ta[atributos join]) • Hb0 .. Hb(n-1) denota las particiones de B inicialmente vacías. Se colocan las tuplas en Hbi con i = h(tb[atributos join]) • Al aplicar la misma función para ambos particionamientos, cada tupla de A y B que tengan resultados iguales de la función de asociación, estarán en la misma partición
  • 33. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Hash Join Marzo 2012 Administración de Base de Datos 33
  • 34. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Video Join Marzo 2012 Administración de Base de Datos 34 • Videos – Video 1 – Video 2
  • 35. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Calcular el costo de un árbol de ejecución Marzo 2012 Administración de Base de Datos 35 • Una vez que el árbol este optimizado – Se cambian los operadores lógicos por físicos p.e join por index join – Si hay mas de un operador posible se debe verificar el menos costoso – Se calculan los costos de las operaciones por nodo, y el costo de almacenar resultados intermedios – Se suman los costos de todos los nodos
  • 36. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Ejercicio Marzo 2012 Administración de Base de Datos 36 Jugador (DI, Nombre, Apellidos, FechaNac, Direccion) DI: 9 bytes Nombre: 40 bytes Apellidos: 40 bytes FechaNac: 8 bytes Direccion: 50 bytes Num registros: 250.000 Equipo( CodEq, NombreEq, FechaFund, Ciudad, Liga, Estadio) CodEq: 4 bytes NombreEq: 40 bytes FechaFund: 8 bytes Liga: 2 bytes (Nacional =0, Americana=1) Estadio: 50 bytes Num registros: 30 Juegos(CodEq1, CodEq2, Temporada, Fecha, Resultado, CodEquipoGana) CodEq1: 4 bytes CodEq2: 4 bytes Temporada: 4 bytes, min : 1902, máximo 2011, valores diferentes, 110 Fecha: 8 bytes (162 valores distintos) Resultado: 8 bytes CodEquipoGana: 4 bytes (INDICE) Num registros: 18.000 Juega (DIJugador, CodEq, FechaIni, FechaFin, Posicion) DIJugador: 9 bytes CodEq: 4 bytes FechaIni: 8 bytes (un promedio de 20 jug por año) FechaFin: 10 bytes Posición: 20 bytes (9 valores distintos) Num registros: 875.000
  • 37. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Marzo 2012 Administración de Base de Datos 37 • Consulta: Nombre, apellido y equipo de los jugadores que han participado en la temporada 2009 en juegos ganados, y que han jugado en primera base. – Dé el árbol canónico para q. – Dé el árbol optimizado heurísticamente.
  • 38. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Marzo 2012 Administración de Base de Datos 38 • Suponga que el SMBD se caracteriza por – Disponer de 20 bloques de memoria principal para las operaciones AR – Cada bloque ocupa 1024 bytes – Disponer de los operadores físicos vistos en clase – Materializar los resultados intermedios. Asuma registros fijos extensibles para las tablas intermedias y no extensibles para las relaciones base – Indices primarios para las claves primarias, todos tienen 4 de altura
  • 39. El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Ejemplo de plan de ejecución Caso Oracle Marzo 2012 Administración de Base de Datos 39 SELECT e.employee_id, e.last_name, e.salary, d.department_name, l.city FROM employees e, departments d, locations l WHERE e.department_id = d.department_id AND d.location_id = l.location_id AND l.city = 'Oxford' AND e.salary > 10500 AND e.last_name LIKE '%e%';
  • 40. Ejemplo de plan de ejecución Caso Oracle Marzo 2012 Administración de Base de Datos 40 Búsqueda usando índice
  • 41. Marzo 2012 Administración de Base de Datos 41 Ordenamiento en memoria
  • 42. Marzo 2012 Administración de Base de Datos 42 Búsqueda lineal
  • 43. Marzo 2012 Administración de Base de Datos 43 Sort merge join
  • 44. Marzo 2012 Administración de Base de Datos 44 Block nested loop join