Sei sulla pagina 1di 20

El Modelo Relacional.

Dinmica
TEMA IV

Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid

Modelo Relacional. Dinmica

ndice
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

DINMICA DEL MODELO RELACIONAL


IV.1 IV.2 IV.3 IV.4 IV.5 INTRODUCCIN ALGEBRA RELACIONAL TRATAMIENTO DE VALORES NULOS CLCULO RELACIONAL OPTIMIZACIN DE CONSULTAS

Tema IV

FBD3 IV.2

Modelo Relacional. Dinmica

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

* la base de datos cambia de estado

Para obrar esos cambios, es necesario intervenir a travs de un lenguaje.


Tema IV
FBD3 IV.3

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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.

Tambin pueden dividirse en:


Operadores primitivos: aquellos operadores esenciales que no pueden obtenerse a partir de otros (convierten al lgebra relacional en un lenguaje completo) Operadores d i d O d derivados: pueden obtenerse aplicando varios d los d bt li d i de l primitivos.

Por ltimo, pueden clasificarse segn en nmero de operandos:


Unarios: el operador tiene una nica relacin como operando Binarios: el operador tiene dos relaciones como operandos.
Tema IV

FBD3 IV.6

Modelo Relacional. Dinmica

Operadores Primarios Unarios


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

2. lgebra Relacional.

SELECCIN(): Obtencin del subconjunto de tuplas de una


relacin que satisface una determinada expresin lgica o predicado de seleccin.

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

(se eligen filas)


FBD3 IV.7

Modelo Relacional. Dinmica

Operadores Primarios Unarios


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

2. lgebra Relacional.

PROYECCIN(): Se define sobre un subconjunto de atributos de


una relacin seleccionando nicamente valores no repetidos en relacin, todas las tuplas para esos atributos.

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

El Conde de Montecristo Dumas

(se eligen columnas)


FBD3 IV.8

Modelo Relacional. Dinmica

Operadores Primarios Binarios


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

2. lgebra Relacional.

UNIN(): Conjunto de todas las tuplas (sin repeticin) incluidos


en ambas relaciones. El esquema de relacin no se modifica. relaciones modifica

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

Modelo Relacional. Dinmica

Operadores Primarios Binarios


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

2. lgebra Relacional.

DIFERENCIA(-): Conjunto de todas las tuplas que pertenecen a


una relacin pero no a la otra. otra

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

Modelo Relacional. Dinmica

Operadores Primarios Binarios


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

2. lgebra Relacional.

PRODUCTO CARTESIANO(x): Conjunto formado por la


concatenacin de todas las tuplas de ambas relaciones relaciones.

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

Vinos Denominacin Rioja Rueda


Tema IV

Rioja Rueda Rioja Rueda Rioja Rueda


FBD3 IV.11

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

COMBINACIN(): Tuplas del producto cartesiano que cumplen


una condicin determinada determinada.

A A.crculo=B.crculo B

Personas Nombre Edad


Fulano Mengano Zutano 29 18 9

Personas Edad Calificacin Pelculas Nombre Ed d T l N b Edad Ttulo Calificacin C lifi i


Fulano Fulano Mengano Mengano Zutano 29 29 18 18 9 Matrix Slo tu Matrix Slo tu Slo tu 18 0 18 0 0

Pelculas Ttulo Calificacin


Matrix Slo tu Tema IV 18 0

FBD3 IV.12

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

COMBINACIN NATURAL(*): Tuplas del producto cartesiano


que cumplen la condicin de igualdad igualdad.

A *crculo B

Personas Nombre DNI


Fulano Mengano Zutano 569074 434848 383090

Personas DNI Coches Nombre DNI Marca


Fulano Zutano 569074 Seat Ibiza 383090 Ford Escort

Coches Marca
Ford Escort Seat Ibiza Tema IV

Dueo
383090 569074

observar que se elimina la columna repetida


FBD3 IV.13

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

INTERSECCIN(): Conjunto de tuplas que pertenecen a ambas


relaciones. relaciones

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

Signat. Ttulo Per-1 El Capitn Alatriste

FBD3 IV.14

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

DIVISIN(:): Conjunto de tuplas de la primera (R1) que


contienen a la segunda (R2) y sin sta ltima ltima.

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

Signat. Ttulo Dum-1 Los Tres Mosqueteros Dum-2 El Conde de Montecristo

FBD3 IV.15

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Derivados
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

OPERADORES DERIVADOS EXPRESADOS A TRAVS DE OPERADORES PRIMARIOS

Operador Derivado Interseccin Divisin Combinacin C bi i Combinacin Natural

Expresin a travs de Primarios A (A B) - (AxB) (A B) (AxB) (AxB)

Tema IV

FBD3 IV.16

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Adicionales
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

AGRUPACIN(Group By): Permite reunir tuplas con valores


comunes en subconjuntos, de manera que puedan aplicarse funciones de agregacin.

R
GROUP BY rombo COUNT

1 1 2

Personas Nombre Edad Nacionalidad


Fulano Mengano John Doe Smith Zutano Pelancejo Tema IV 29 49 73 14 3 25 Espaol Espaol Ingls Ingls Espaol Espaol

Group by
Espaol Ingls

Nacionalidad (Personas) Nacionalidad ... Avg(Edad) Count ... ... ... 26,5 43,5 4 2 ... ...

FBD3 IV.17

Modelo Relacional. Dinmica

2. lgebra Relacional.

Operadores Adicionales
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

CIERRE TRANSITIVO: Consiste en agregar a la relacin todas las


tuplas que se pueden derivar por transitividad.

Cierre

rombo-crculo

Personas (Nombre, Edad, Hijo) Personas Nombre Edad Hijo


Fulano Mengano Zutano Pelancejo Tema IV 29 49 3 25 Zutano Pelancejo Zutano

Cierre
Nombre
Fulano Mengano Mengano Zutano Pelancejo

Hijo

(Personas) Edad Hijo


29 49 49 3 25 Zutano Pelancejo Zutano Zutano
FBD3 IV.18

Modelo Relacional. Dinmica

3. Tratamiento de Valores Nulos


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

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

Modelo Relacional. Dinmica

3. Tratamiento de Valores Nulos


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

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
!!

El problema de la lgica trivaluada es su comportamiento con tautologas


Ejemplo: (edad<30) OR (edad>30) OR (edad=30) 1

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

Modelo Relacional. Dinmica

3. Tratamiento de Valores Nulos


Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Los operadores permitidos son: >,<, >=, <=, =

Tema IV

FBD3 IV.24

12

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

4. Clculo Relacional
Grupo de Bas de Datos Avanzadas Univ. Carlo III de Madrid ses os

Lenguajes orientados a tuplas


La estructura de las consultas es:

[Definicin de variables] OPERADOR OBJETIVO PREDICADO


OPERADOR: Accin a realizar sobre los datos seleccionados (recuperacin, insercin, borrado o modificacin) OBJETIVO: Indica OBJETIVO I di qu atributos de qu relaciones se van a t ib t d l i recuperar. PREDICADO: Condicin que deben verificar las tuplas seleccionadas (criterio de seleccin), construida a partir de los operadores del clculo relacional.
Tema IV
FBD3 IV.27

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Fases no repetidas en sistemas compilados

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Editorial Addison(AUTORxLIBRO) Editorial=Addison

LIBRO
FBD3 IV.37

Modelo Relacional. Dinmica

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.

En concreto, los objetivos perseguidos por la transformacin lgica son:


Estandarizacin. Definir un punto de partida estndar para que el optimizador sea portable a distintos sistemas. Simplificacin. Encontrar al menos una expresin no redundante, semnticamente equivalente a la de entrada. Preparacin. Seleccionar la expresin simplificada con mejor rendimiento.
Tema IV
FBD3 IV.38

19

Modelo Relacional. Dinmica

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

Modelo Relacional. Dinmica

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

Potrebbero piacerti anche