LENGUAJES
FORMALES DE CONSULTA
Existe un sistema de DML conocido como algebra
relacional que permite especificar operaciones de consulta a traves
de pasos intermedios de generación de tablas utilizando formatos especiales. En
el algebra relacional no son validos los operadores logicos.
Existen dos clasificaciones de procesos en algebra
relacional; en cada uno de ellos se toma una o dos tablas como entrada y se
obtiene una tabla de salida.
Estas clasificaciones son:
Operaciones tradicionales
- Union(union)
- Intersección(intersect)
- Diferencia(minus)
- Producto cartesiano (times)
Operadores
especiales
- Select
- Project
- Join
- Divide
Operadores tradicionales: Estas
requieren que las tablas a operar tengan la misma cantidad de atributos y que
sus dominios correspondientes sean semejantes o congruentes.
- UNION.- Constituye una tabla que contiene a todas las tuplas que aparecen
en una o ambas tablas <tabla1>union<tabla2>
- INTERSECCION.- Produce un atabla que contiene a aquellas tuplas que
aparecen en ambas tablas <tabla1>intersec<tabla2>
- DIFERENCIA.-Produce un atabla que contiene todas las tuplas de la primera
tabla operando que no aparecen en la segunda <tabla1>minus<tabla2>
- PRODUCTO CARTESIANO.- Produce un atabla que contiene todas las posibles
concatenaciones entre los elementos de las tablas involucradas
<tabla1>times<tabla2>
Operaciones
especiales:
- SELECT.- Es un formato qu epermite extraer tuplas que satisfacen una
condición <tabla>where<condición>
- PROJECT.- Es un formato que nos permite filtrar atributos en la tabla
resultante, especificando aquellos que se desea obtener.
<tabla>[<lista de atributos>]
- JOIN.- Construye una tabla a partir de dos tablas especificas, obteniendo
todas las posibles combinaciones entre los elementos de estas y mostrando
aquellas que satisfagan una condición determinada
<tabla1>join<tabla2>where<condicion>
Nota: Esta operación es semejante a una consulta sobre tabla global cuando
se involucran dos tablas y una condicion de filtro.
- DIVIDE.-Toma dos tablas una de grado (M+N) y la otra de grado(N).
construye una tabla de grado M que contiene todos los valores m de la relacion
(M+N) cuyo complemento es igual a todos los valores de la relación de orden N.
<tabla1>DIVIDE<tabla2>
Ejercicios:
- Mostrar una lista que contenga los nombres y costos de las peliculas en
existencia:
videos[nombre,costo]
- Se desea conocer el nombre y domicilio de todos los clientes infantiles
(clientes where estado =
'infantil')[nombre,domicilio]
- Se desea conocer el nombre de las peliculas que no son para
niños
(videos where clasificacion ¬ = 'a')[titulo]
- Se desea la lista de los titulos que cuestan mas de 10.00 de peliculas
para adultos
((videos where
costo>10.00)where clasif='c')[titulo]