Tema 36
Tema 36
Tema 36
OPTIMIZACION DE CONSULTA
*
Valores nulos
SQL no interactivo
*
Completitud del SQL
*
SQL Inmerso
*
Procedimientos en la BD
*
SQL Dinamico
4.-Opimizacion de consultas
4.1.-Optimizacion en SGBDR
Optimizacion dependiente del usuario
Optimizacion a cargo del sistema
*
Necesidad de la optimizacion
*
Proceso de optimizacion
Representacion interna
Conversiones
Eleccion de procedimientos de bajo nivel
Seleccion del plan de consulta.
*
Optimizacion semantica
5.-Bibliografia
-
2-1.-Operaciones fundamentales
Son las siguientes:union,diferencia y produto cartesiano.Les aadio la seleccion y
proyeccion
1.-Seleccion
Operacion unaria que devuelve una nueva relacion s con las tuplas de la relacion r que
cumple la condicion especificada en el predicado.
Se admiten los operadores relacionales y los conectores logicos
2.-Proyeccion
Operacion unaria que devuelve la relacion s construida a partir de r pero limitando los
atributos a los que aparecen como subindices
3.Producto cartesiano
Operacion binaria donde a relacon que se obtiene contiene todas las tuplas t para las
que se cumple que existe una tupla t1 de R1 con una tupla t2 de R2 tales que
t1[R1]=t2[R2].
4.Union
Resultado de unor el conjunto de tuplas s y el conjutno de tuplas u.Deben cumplirse
dos restricciones
a)s y u deben tener el mismo numero de atributos
b)Los dominios del atributo i-esismo de s y del atributo i-esimo de u deben ser iguales
5.Diferencia
Operador binario tras cuya aplicacion r contendra las tuplas que estan en s pero no en
a.Deben cumplirse las mismas condiciones que para la union.
5.Renombrar
Devuelve la relacion r pero con nombre s
2.2.Operaciones adicionales
Se pueden sustituir por una combiancion de operaciones fundamentales.
1.-Interseccion
Devuelve las tuplas presentes simultaneamente en ambas relaciones.
que se
,predicado que se
Miembro
Para usar las ordenes de borrado y modificado de registros es preciso aadir la particula
FOR UPDATE a la orden FIND.
Ordenes de actualizacion de conjuntos.
La orden CONNECT permite asociar un registro a un conjunto.
CONNECT <tipo de registro > TO <tipo de conjunto>
El proceso completo de inserccion de un registro asociado a un conjunto
conlleva los siguientes pasos.
1) Crear el registro nuevo con la orden STORE
2) Buscar el padre adecuado para el nuevo registro.
3) Conectar el registro hijo al padre hallado.
Modelo jerarquico.
Los conceptos basicos del modelo jerarquico son
Descripcion de la base de datos.Hace las funciones de nivel conceptual y niel
interno.
Bloque de especificacion de programa.Equivale al subesquema vista de
usuario
Tipo de segmento :equivale al concepto de tipo de registro del modelo de red
Tipo de interrelacion padee-hijo:
Otra peculiaridad es la existencia de un tipo de segmento raizz que siempre
existe y que solo participa como padre de nivel superior
Los operadores de manipulacion de DL/I procesa los registros de uno en un y tambien
han de estar inmerso en un lenguaje anfitrion.Las ordenes asicas del DML de DL/I son:
Ordenes de recuperacion :GET
Ordenes de actualizacion de registros :INSERT,REPLACE,DELETE.
La sintaxis usual para DL/I es :
Orden <tipo de segmento> [WHERE <condicion>]
Operaciones de conjuntos
SQL incluye las operaciones unio ,intersect y minus que operan sobre relaciones y
corresponde a las operaciones del algebra relacional.
Se emplea la orden order by para la ordenacion de registros.Por omision SQL lista los
elementos en orden ascendente,podemos indicar desc para ordenar descendete o asc
para orden ascendente.
*
Producto.
Para realizar un producto cartesiano en SQL se ha de utlizar la clausula from indicando
a continuacion las tablas que se usaran en el producto indicando o no la clausula cross
join.
*
Subconsulta.
Una subconsulta es una sentencia select que aparece dentro de un predicado y donde
el dominio del resultado tiene que coincidr con el que se espera en funcion de los
atributos que se incluyen en el predicado y del tipo de predicado.
Uno de los usos de las subconsultas es simplificar expresiones complejas de acceso a
datos o permitir una codificacion alternativa de sentencias.
*
Variales de tupla.
SQL incluye un operador de compaacion between para simplifcar clausulas where que
especifiquen que un valor que sea menor o igual que un valor dado y mayor o igual que
otro valor dado.
Promedio avg
Minimo min
Maximo max
Total sum.
Contar count.
3.-Actualizaciones
Deseamos cambiar un valor en una tupla si cambiar todos los valores en la
tupla.Usamos la sentencia update
La clausula where de la sentencia update puede contener cualquier constriccion
legal en la clausula where de la sentencia slect.
4.-Valores nulos
Es posible que para las tuplas insertadas se den valores unicamente en algunos atributos
del esquema.El resto de los atributos son asignados a valores nulos representados por
null.