Para poder probar las combinaciones posibles que puede utilizar un gestor, se basaran en las reglas de equivalencia.

  • Selección:
    • Cascada:
    • Unión:
    • Conmutatividad:
  • Proyección:
    • Cascada: . Siempre y cuando las proyecciones sean subconjuntos de sus proyecciones siguientes.
    • Conmutatividad con : . Siempre y cuando entre los atributos que proyecto se mantengan los atributos sobre los cuales condiciono.
  • Producto Cartesiano y Junta:
    • Conmutatividad:
    • Asociatividad:
  • Operaciones de Conjuntos:
    • Conmutatividad:
    • Asociatividad:
  • Mixtas:
    • Distribución de la selección en la junta: . Solo si puede escribirse como . Donde involucran solo y respectivamente atributos de y .
    • Distribución de la proyección en la junta: . Solo si todos los atributos de junta están incluidos en . Entonces llamaremos a los atributos de respectivamente.

Heurísticas de Optimización

La aplicación de las reglas de equivalencia a una expresión algebraica para obtener otra de menor costo se conoce como optimización algebraica.

Las siguientes son algunas reglas generales utilizadas para optimizar algebraicamente una consulta:

  • Realizar las selecciones lo más temprano posible
  • Reemplazar productos cartesianos por juntas siempre que sea posible
  • Proyectar para descartar los atributos no utilizados lo antes posible. Entre la selección y la proyección, priorizar la selección.
  • En caso de que haya varias juntas, realizar aquella más restrictiva primero. Se puede optar por árboles left-deep o right-deep para acotar las posibilidades.