Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Dinmica
TEMA IV
ndice
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Tema IV
FBD3 IV.2
1. Introduccin
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
La componente dinmica del Modelo Relacional permite la transformacin entre estados de la BD. Se entiende una relacin como un conjunto (de tuplas sin repeticin) Una BD es una coleccin de esos conjuntos (ms alguna restriccin). Si las operaciones estn alterando las relaciones en el tiempo, se puede decir que son cambios en el estado de la Base de Datos (transiciones):
O(BDi) = BDj
1. Introduccin
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Los lenguajes relacionales son de especificacin (frente a los navegacionales). Se distinguen dos tipos: Algebraicos: los cambios se describen mediante las operaciones que sufre la BD lgebra relacional Predicativos: se describe el estado final de la BD deseado, deseado sin especificar cmo alcanzarlo clculo relacional, se dividen a su vez en dos tipos:
Orientados a tuplas Orientados a dominios
Tema IV
FBD3 IV.4
2. lgebra Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
El lgebra Relacional lo componen un conjunto de operaciones extradas del lgebra de Conjuntos. Estos operadores (O) se aplicarn sobre relaciones (conjuntos) y darn lugar a nuevas relaciones (nuevos conjuntos): O: esqR1 x esqR2 esqR3 ,,O(R1,R2) = R3 Los operadores se aplican a una extensin r de una relacin R, no a un esquema de relacin. Los operadores definidos permitirn expresar la componente de seleccin de las operaciones del LMD.
Tema IV
FBD3 IV.5
2. lgebra Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
CLASIFICACIONES DE OPERADORES
CODD distingui dos grupos con cuatro operadores cada uno:
Operadores tradicionales de conjuntos: unin, interseccin, diferencia y producto cartesiano. Operadores relacionales especiales: seleccin, proyeccin, combinacin y divisin.
FBD3 IV.6
2. lgebra Relacional.
rombo=negro
Libros Signat. Ttulo Autor Dum-1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Asi-1 El Fin de la Eternidad Asimov Dum-2 El Conde de Montecristo Dumas
Tema IV
autor=Dumas (Libros)) (
Signat. Ttulo Autor Dum-1 Los Tres Mosqueteros Dumas Dum-2 El Conde de Montecristo Dumas
2. lgebra Relacional.
rombo
Libros Signat. Signat Ttulo Autor Dum-1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Asi-1 El Fin de la Eternidad Asimov Dum-2 El Conde de Montecristo Dumas
Tema IV
ttulo,autor (Libros)
Ttulo
Los Tres Mosqueteros El Capitn Alatriste El Fin de la Eternidad
Autor
Dumas
P-Reverte
Asimov
2. lgebra Relacional.
A B
Aventuras
Aventuras Signat. Ttulo Autor Dum-1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Dum-2 El Conde de Montecristo Dumas Lecturas Signat. Ttulo Autor Ner-1 Veinte poemas de amor Neruda Asi-1 El Fin de la Eternidad Asimov
Tema IV
Lecturas
Signat. Ttulo g Autor Dum-1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Asi-1 El Fin de la Eternidad Asimov Dum-2 El Conde de Montecristo Dumas Ner-1 Veinte poemas de amor Neruda
FBD3 IV.9
2. lgebra Relacional.
A-B
Aventuras Signat. Ttulo Autor Dum-1 Dum 1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Dum-2 El Conde de Montecristo Dumas Lecturas Signat. Ttulo Autor Ner-1 Veinte poemas de amor Neruda P-Reverte Per-1 El Capitn Alatriste
Tema IV
Aventuras
Lecturas
Signat. Ttulo Autor Dum-1 Los Tres Mosqueteros Dumas Dum-2 El Conde de Montecristo Dumas
FBD3 IV.10
2. lgebra Relacional.
AxB
R
Comidas x Vinos i i Especialidad E i lid d Regin Denominacin R i D
Gazpacho Gazpacho Cocido Cocido Pote Pote Andaluca Andaluca Castilla Castilla Galicia Galicia
Comidas Especialidad
Gazpacho Cocido Pote
Regin
Andaluca Castilla Galicia
2. lgebra Relacional.
Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
A A.crculo=B.crculo B
FBD3 IV.12
2. lgebra Relacional.
Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
A *crculo B
Coches Marca
Ford Escort Seat Ibiza Tema IV
Dueo
383090 569074
2. lgebra Relacional.
Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
A B
Aventuras Signat. Ttulo Autor Dum-1 Dum 1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Dum-2 El Conde de Montecristo Dumas Lecturas Signat. Ttulo Autor Ner-1 Veinte poemas de amor Neruda P-Reverte Per-1 El Capitn Alatriste
Tema IV
Aventuras
Lecturas Autor
P-Reverte
FBD3 IV.14
2. lgebra Relacional.
Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
A B
Libros Signat. Ttulo g Autor Dum-1 Los Tres Mosqueteros Dumas P-Reverte Per-1 El Capitn Alatriste Dum-2 El Conde de Montecristo Dumas Autores Autor
Dumas Tema IV
Libros
Autores
FBD3 IV.15
2. lgebra Relacional.
Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Tema IV
FBD3 IV.16
2. lgebra Relacional.
Operadores Adicionales
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
R
GROUP BY rombo COUNT
1 1 2
Group by
Espaol Ingls
Nacionalidad (Personas) Nacionalidad ... Avg(Edad) Count ... ... ... 26,5 43,5 4 2 ... ...
FBD3 IV.17
2. lgebra Relacional.
Operadores Adicionales
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Cierre
rombo-crculo
Cierre
Nombre
Fulano Mengano Mengano Zutano Pelancejo
Hijo
VALOR NULO Seal o marca utilizada para representar informacin l l d f desconocida, inaplicable, inexistente, no vlida, no proporcionada, etc. Ejemplo:
coche(matrcula, marca, modelo, ..., tipo de carburador, ...) puede que no sepa de qu tipo es el carburador, pero que me interese mantener el resto de la informacin algunas ocurrencias pueden no tener carburador (ni tipo), pero deben tener cabida en la relacin si quiero aadir un atributo nuevo a la relacin, qu valor deben adoptar las tuplas existentes para ese nuevo atributo?
Para cubrir esta necesidad se considera un smbolo especial: el valor nulo. Pero cmo se opera con l?
Tema IV
FBD3 IV.19
comparacin (de un valor con un valor nulo): el resultado es impredecible. Esto f t E t afecta a las operaciones lgicas: ya no hay slo dos valores l i l i h l d l (T/F), sino que se aade el impredecible (Q) Se introduce la lgica trivaluada, con los siguientes operadores:
AND T Q F
T T Q F Q Q Q F F F F F
OR T Q F
T T T T Q T Q Q F T Q F
NOT
T F Q Q F T
!!
Para poder precisar el valor indecidible, se introduce la lgica cuatrivaluada, que desdobla ese valor en otros dos: desconocido e inaplicable.
Tema IV
FBD3 IV.20
10
operaciones algebraicas: hay que decidir cmo tratar lo impredecible (cmo seleccionar condiciones impredecibles, cundo dos tuplas son la misma etc.) misma, etc ) operaciones aritmticas (+, -, *, ): el resultado de operar cualquier cosa con un valor nulo es nulo operaciones de agregacin: hay que decidir cmo agregar lo nulo (por defecto, se cuenta como una tupla que no afecta en la operacin de agregacin, salvo para la operacin de calcular la cardinalidad)
Count: cardinalidad de la relacin (contando nulos como un valor) Mx (Mn): el mximo del resto (sin nulos) o nulo. Avg: la media del resto (sin nulos) o nulo ...
operaciones especiales : Is Null: comprueba que el valor cuestionado sea nulo If Null: derivada de la anterior, seala un valor para sustituir nulos.
Tema IV
FBD3 IV.21
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Propuesto por CODD como alternativa al lgebra. Es un lenguaje predicativo: slo es necesario indicar el resultado a obtener, expresado mediante predicados de primer orden. Pueden ser de dos tipos:
Orientados a tuplas: se definen variables que hacen referencia a tuplas de la relacin Orientados a dominios: se definen variables que representan valores de un dominio
Tema IV
FBD3 IV.22
11
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a tuplas Las variables se asocian a tuplas de la relacin y abarcan una determinada relacin de la base de datos. Las constantes son valores de los dominios sobre los que se definen los atributos Una consulta simple en clculo d tuplas tiene l l l l l de l la forma:
{t|COND(t)} Ej.: {t|EMPLEADO(t) and SALARIO>50000}
Tema IV
FBD3 IV.23
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a tuplas Una condicin o frmula est formada por tomos conectados mediante los operadores and, or y not. Un tomo puede ser:
R(ti) ti.A oper tj.B A B ti.A oper c c oper tj.B
Tema IV
FBD3 IV.24
12
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a tuplas Operadores especiales: Cuantificador Existencial, Cuantificador Universal, Si F es una frmula, (t)(F) tambin lo es, y toma valor TRUE si F es TRUE para alguna tupla asignada a t. Si F es una frmula, (t)(F) tambin lo es, y toma valor TRUE si F es TRUE para toda tupla asignada a t.
Tema IV
FBD3 IV.25
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a tuplas Ejemplo de consulta: Obtener el nombre y la direccin de todos los empleados que trabajan para el departamento de Investigacin {t.NombreP, t.Apellido, t.Direccin | EMPLEADO(t) and (( d) (DEPARTAMENTO(d) and d.NombreD=Investigacin and d.Nmero=t.ND))}
Tema IV
FBD3 IV.26
13
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a tuplas EJEMPLO Lenguaje ALPHA (no dispone de implementacin pero constituy la base del lenguaje QUEL de INGRES). Los operadores definidos son: GET, PUT, DELETE, DROP, UPDATE, HOLD y RELEASE. Ejemplo d consulta en ALPHA: l de l
GET RESULTADO (AUTOR.nombre, LIBRO.editorial): AUTOR.nombre = LIBRO.autor
Tema IV
FBD3 IV.28
14
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a dominios Las variables abarcan valores individuales de los dominios de los atributos Si se quiere formar una relacin de grado n como resultado de una consulta, sern necesarias n variables de dominio. Una consulta simple en clculo d d l l l l de dominios tiene la forma:
{x1, x2, , xn|COND(x1,x2,,xn,xn+1,,xn+m)}
Tema IV
FBD3 IV.29
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a dominios Los tomos se definen de forma equivalente a los tomos del clculo relacional de tuplas. Se aplican los mismos operadores para combinar los tomos: >,<, >=, <=, = Tambin se consideran los cuantificadores existencial ( ) y universal ( ) l () l ()
Tema IV
FBD3 IV.30
15
4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Lenguajes orientados a dominios Ejemplo de consulta: Obtener la fecha de nacimiento y la direccin del empleado cuyo nombre es Jos Prez {uv | (q)(r) (EMPLEADO(qrstuvwxyz) and q=Jos and r=Prez)} El nico lenguaje comercial basado en el clculo relacional de dominios es QBE (Query By Example)
Tema IV
FBD3 IV.31
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Los lenguajes relacionales son poco procedimentales, el usuario indica qu quiere obtener pero no como. Esto implica que el sistema debe escoger el camino ms apropiado para acceder a los datos de modo eficiente. Optimizador: Mdulo incluido en el SGBD capaz de seleccionar una estrategia ptima de acceso a los datos. Es necesario indicar qu parmetros se desean optimizar (compromiso entre recursos utilizados y tiempo de respuesta) Los sistemas relacionales son ms fcilmente optimizables que los no relacionales.
Tema IV
FBD3 IV.32
16
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Los sistemas actuales tienden a minimizar el tiempo de respuesta a la consulta, aunque hay que tener en cuenta el ahorro de otros recursos:
Costes de comunicacin Acceso a almacenamiento secundario Almacenamiento Computacin
Todos estos factores intervienen en la funcin de coste a optimizar. Actualmente, los algoritmos de optimizacin son fijos, el administrador no puede actuar sobre ellos.
Tema IV
FBD3 IV.33
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Sistemas compilados vs. Sistemas interpretados Los sistemas compilados generan cdigo mquina antes de ejecutar la consulta, aumentando el rendimiento. En los sistemas interpretados, las consultas se interpretan antes de su ejecucin. Los productos actuales suelen ofrecer ambas alternativas. Por ejemplo, procedimientos almacenados (Stored ejemplo Procedures), que se conservan como parte del diccionario de datos. En sistemas compilados existe un mdulo compilador del LMD, del que forma parte el optimizador de consultas.
Tema IV
FBD3 IV.34
17
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Sistemas compilados. Fases de procesado de una consulta. Anlisis sintctico Traduccin de nombres Comprobacin de autorizaciones Eleccin de la estrategia de g acceso Generacin de Cdigo Ejecucin
Tema IV
FBD3 IV.35
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Optimizacin de consultas simples El p procedimiento de optimizacin consta de 4 fases: p 1. Llevar la consulta a una representacin interna 2. Aplicar a la representacin interna una serie de transformaciones lgicas 3. Convertir la consulta transformada en un conjunto de planes de acceso 4. Elegir el plan de acceso ptimo Las Fases 1 y 2 son independientes de los datos, al contrario que las fases 3 y 4. Es necesario mantener informacin de la estructura de la base de datos e informacin estadstica sobre su contenido.
Tema IV
FBD3 IV.36
18
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Fase 1. Representacin interna Elimina aspectos especficos del lenguaje que se est empleando y prepara la consulta para las siguientes etapas del proceso. Suele representarse la consulta a travs de un rbol sintctico. Resultado
Editorial=Adison Adi
AUTOR.Nombre=LIBRO.Autor AUTOR
Tema IV
LIBRO
FBD3 IV.37
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Fase 2. Transformaciones Lgicas Objetivo: Construir expresiones semnticamente equivalentes a la expresin de consulta, con el fin de:
eliminar redundancias, evitando esfuerzos duplicados. facilitar los siguientes pasos en el proceso de normalizacin.
19
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Fase 3. Evaluacin de los componentes de una consulta Hace referencia al proceso de extraccin de las tuplas de acuerdo a los criterios de seleccin. Existen distintas estrategias dirigidas a reducir el nmero de evaluaciones. Por ejemplo, en la expresin:
Seleccionar Ttulo de LIBRO donde Num_copias > 5 y Idioma=Ingls
Si para una tupla Num_copias > 5 es falso, no tiene sentido verificar la restriccin de idioma. Para decidir qu condicin verificar primero, puede recurrirse a las estadsticas de la BD.
Si la operacin implica a dos relaciones pueden tenerse en cuenta otros heursticos. Ejemplo: si se recorren ambas relaciones en un bucle, el bucle externo debe recorrer la relacin con menor nmero de tuplas.
Tema IV
FBD3 IV.39
5. Optimizacin de Consultas
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os
Fase 4. Plan de acceso El procedimiento para obtener el plan de acceso ser el siguiente:
Generar todos los planes de acceso razonables. Incluir en cada plan detalles de la representacin fsica de los datos, ordenaciones, informacin estadstica, etc. Escoger el p g plan ms eficiente. El problema radica en cmo p estimar el coste de cierto plan.
TODO el proceso de optimizacin (las 4 fases) debe realizarse en un tiempo rentable respecto a la mejora de rendimiento a obtener.
Tema IV
FBD3 IV.40
20