帮助将SQL查询转换为Relational Algebra

时间:2010-03-12 17:05:03

标签: sql database relational algebra relational-algebra

我在将一些查询转换为Relational Algebra时遇到了一些困难。我有一本关于数据库设计的好书,这里有关于关系代数的章节,但我似乎在创建正确的代码时遇到了一些麻烦:

我最难以理解的问题是:

SELECT COUNT( cs.student_id ) AS counter
FROM course c, course_student cs
WHERE c.id = cs.course_id
AND c.course_name = 'Introduction to Database Design'

SELECT COUNT( cs.student_id ) 
FROM Course c
INNER JOIN course_student cs ON c.id = cs.course_id
WHERE c.course_name = 'Introduction to Database Design'

SELECT COUNT( * ) 
FROM student
JOIN grade ON student.f_name = "Andreas"
AND student.l_name = "Pedersen"
AND student.id = grade.student_id

我知道这个符号可能有点难以粘贴到HTML论坛中,但可能只是使用一些常用名称或希腊语名称。

提前致谢 Mestika

1 个答案:

答案 0 :(得分:0)

“这是关于关系代数的一章”

哪里???这似乎没有任何意义。

无论如何,你提供的例子都是代表性观点的文献通常称之为“聚合”,或“摘要”或其他类似的例子。

与JOIN,PROJECT等“基本”运营商相比,关于如何处理这种“集合运营商”的共识相对较小。请记住,没有“关系代数”这样的东西,并且不同的实现完全可以自由选择它们为用户提供哪组代数运算符!!!