Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Algebra relacional y SQL dudas..

Estas en el tema de Algebra relacional y SQL dudas.. en el foro de Bases de Datos General en Foros del Web. Hola a todos, llevo un curso de base de datos específicamente mi duda abarca los temas de álgebra relacional con las operaciones (selección, reunión y ...
  #1 (permalink)  
Antiguo 09/07/2009, 16:39
Avatar de chroman81  
Fecha de Ingreso: abril-2009
Mensajes: 25
Antigüedad: 15 años, 7 meses
Puntos: 0
Algebra relacional y SQL dudas..

Hola a todos, llevo un curso de base de datos específicamente mi duda abarca los temas de álgebra relacional con las operaciones (selección, reunión y proyección).

pregunta:
¿Por que siempre en SQL al realizar una consulta empiezo con SELECT a diferencia de Álgebra relacional que puedo llegar a la realización efectiva de la consulta empezando por cualquier operación de las mencionadas.?[/B]

salu2 y Gracias por responder

Última edición por chroman81; 09/07/2009 a las 20:30
  #2 (permalink)  
Antiguo 09/07/2009, 17:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Algebra relacional y SQL dudas..

Porque en realidad una operación completa de álgebra relacional, con todos sus componentes de proyección y selección, componen una sentencia completa de SQL.
Cuando realizas una operación algebraica relacional primero puedes hacer una selección, y sobre el resultado se aplica una proyección; luego puede haber una junta natural, que es el producto del resultado de estas operaciones previas. ¿No es así?
Bueno, la sentencia SELECT hace exactamente los mismos pasos, pero los implementa internamente dentro del código del DBMS. Esa es la parte que tu no ves, pero que se realiza. No hay que confundir lógica con implementación.
Es muy posible que en las clases en que te explicaron el álgebra relacional, alguien haya hecho la pregunta (siempre alguien lo hace) de si existe un software que aplique eso y contestaron que el SQL lo implementa, pero que no existe forma de aplicar directamente los conceptos del álgebra relacional al software. Y es cierto. De la misma forma no se puede pasar de un diagrama de dominio de POO a un código programado sin traducirlo. Eso es lo mismo que pasa con el SQL y el AR: El SQL es la traducción de lo que se prepara en AR, según un estándar desarrollado para ello.

Cuando escribes SELECT a, b, c, d FROM T1 WHERE a = 1, estás declarando cuál es el conjunto de datos que quieres recibir, y cómo lo quieres obtener y de dónde. Lo que no se ve, es que en realidad la primera operación realizada no es el SELECT sino el FROM (con sus JOIN) y el WHERE, con lo que en realidad lo que el DBMS aplica es la selección algebraica... no la proyección. Esta es la operación final.
¿Se entiende?
Finalmente, no estoy de acuerdo en que hay una sola forma de resolver un problema de tablas. Lo que existe es un lenguaje principal y evolucionado que implementa las soluciones de bases de datos, aunque no es el único. Pero es el más eficiente y versátil cuando lo conoces en profundidad.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/07/2009, 20:26
Avatar de chroman81  
Fecha de Ingreso: abril-2009
Mensajes: 25
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Algebra relacional y SQL dudas..

Muchas gracias por la respuesta me ha quedado bastante claro! gracias gracias ahora si ya no me quedan dudas acerca de las operaciones de SQL.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:28.