使用没有层次结构的分层检索重新创建视图

时间:2014-06-08 13:00:44

标签: sql views hierarchical connect-by

作为我的SQL课程的一部分(我只是一名新手学生),我有一个基于学生和测试的数据库,他们可以将这些数据作为学习课程的一部分。

所以我有一个学生表,一个测试表,一个作者表,一个与测试相关的问题表等。

一项任务要求我创建各种视图,例如

此视图显示已传递的测试实例:

CREATE OR REPLACE VIEW vuStudentsPassedAnyTest
AS 
SELECT outer.passing_grade,s.firstname, s.lastname, h.test_id,h.student_id,h.score
FROM test_history h,students s,test_id outer
WHERE h.student_id=s.student_id 
AND outer.test_id=h.test_id
AND score > = (SELECT passing_grade
                 FROM test_id inner
                 WHERE inner.test_id=h.test_id);

或显示从未被问过的问题

SELECT question_id
FROM questions
MINUS
SELECT question_id
FROM student_answer_history;

这些相当简单的观点,其中大约有5个。

这是我正在努力的部分:

作业的第二部分要求我使用分层检索更有效地重建这些视图。

我没有看到任何明显的等级,除了一个测试可以被许多学生传递,或者一个学生可以进行多次测试。

我不认为我会在这些视图中使用分层查询,除了我被要求......并且因为没有具有父ID类型列的表,我正在努力解决它甚至会怎么做。

我很清楚原理及其工作原理,比如说使用hr employees表,其中employee_id和manager_id代表一个明确的父/子关系,我发现大多数例子都是参考,但任何人都可以给我一个引导至于我如何将它纳入这些观点?

谢谢!

0 个答案:

没有答案