Sí, esta es una pregunta de tarea, pero los nombres han sido cambiados para proteger a los inocentes. Es decir, no estoy haciendo la tarea por sí misma, sino una pequeña parte para que pueda entender el todo.Álgebra relacional: ¿cuál es la forma correcta de representar una cláusula 'teniendo'?
Digamos que usted tiene una consulta SQL como esto:
--La consulta enumeraría precios de los automóviles que se producen más de una vez.
select car_price from cars
group by car_price
having count (car_price) > 1;
La forma general de este en el álgebra relacional es Y (gl, al) R donde Y es el símbolo griego, GL está la lista de atributos a grupo, AL está la lista de agregaciones
Así que la el álgebra relacional se vería así:
Y (count(car_price)) cars
Entonces, ¿cómo se escribe la cláusula "having" en esa declaración? ¿Hay una taquigrafía? Si no, ¿solo necesito seleccionar de esa relación? Algo como esto tal vez?
SELECT (count(car_price) > 1) [Y (count(car_price)) cars]
he buscado en Internet en esto por horas y no han encontrado ejemplos de conversión de HAVING para el álgebra relacional. ¡Gracias por la ayuda!
1 por ser honesto acerca de la tarea. – hobodave
Heh, creo que cualquier cosa con "álgebra relacional" en su título es por defecto la tarea. –
No sé nada sobre álgebra relacional, pero "tener" es lo mismo que "dónde", excepto que puede aplicarse a un agregado de un conjunto. ¿Hay alguna razón por la cual el álgebra relacional sería diferente? – BobMcGee