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

Operadores especiales Operadores tradicionales: Estas requieren que las tablas a operar tengan la misma cantidad de atributos y que sus dominios correspondientes sean semejantes o congruentes.
  1. UNION.- Constituye una tabla que contiene a todas las tuplas que aparecen en una o ambas tablas <tabla1>union<tabla2>
  2. INTERSECCION.- Produce un atabla que contiene a aquellas tuplas que aparecen en ambas tablas <tabla1>intersec<tabla2>
  3. DIFERENCIA.-Produce un atabla que contiene todas las tuplas de la primera tabla operando que no aparecen en la segunda <tabla1>minus<tabla2>
  4. PRODUCTO CARTESIANO.- Produce un atabla que contiene todas las posibles concatenaciones entre los elementos de las tablas involucradas <tabla1>times<tabla2>
Operaciones especiales:
  1. SELECT.- Es un formato qu epermite extraer tuplas que satisfacen una condición <tabla>where<condición>
  2. PROJECT.- Es un formato que nos permite filtrar atributos en la tabla resultante, especificando aquellos que se desea obtener. <tabla>[<lista de atributos>]
  3. 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.

  4. 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:
  1. Mostrar una lista que contenga los nombres y costos de las peliculas en existencia:
          videos[nombre,costo]
  2. Se desea conocer el nombre y domicilio de todos los clientes infantiles
          (clientes where estado = 'infantil')[nombre,domicilio]
  3. Se desea conocer el nombre de las peliculas que no son para niños 
         (videos where clasificacion ¬ = 'a')[titulo]
  4. 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]