【问题标题】:Create view from tables with generalization relationship从具有泛化关系的表创建视图
【发布时间】:2014-03-02 14:03:05
【问题描述】:

这里是 SQL 新手,我需要有关复杂(?)视图的帮助。这是一个数据库,允许教师为教师负责的每个班级设置学生缺勤的成绩和次数。

我的桌子是:

USERS (user_id, name, surname)
STUDENTS(student_id (fk to users.user_id), student_number number)
TEACHERS(teacher_id (fk to users.user_id), title varchar2)
CLASSES(class_id, subject, teacher_id(fk to teacher.teacher_id)
CLASS_REGISTRATION(class_id (fk to classes.class_id), student_id (fk to students.student_id), grade, absent_number)

我正在尝试创建两个视图。学生可以看到他注册的每个课程的class.subjectclass.teacherclass_registration.gradeclass_registration.absent_number

另一个视图是供教师查看的,他们可以查看教师负责的每个班级的学生姓名、班级主题、年级、缺勤编号。

用户的泛化 -> 学生、老师是必需的,而这主要是给我带来的问题。

编辑:这是我写的一个查询,它似乎给出了教师视图所需的结果,但我不确定这是最好的方法

CREATE OR REPLACE FORCE VIEW  "TEACHER_VIEW" ("NAME", "SURNAME", "SUBJECT", "GRADE", "ABSENT") AS 
select u.name, u.surname, c.class, r.grade, r.abstent
from users u, class_registration r, students s, class c
where u.user_id = s.student_id
and s.student_id = r.student_id
and c.class_id = r.class_id
/

/

【问题讨论】:

  • 向我们展示您创建这些视图的尝试。我们希望看到一些 SQL,即使它是错误的。

标签: sql database oracle


【解决方案1】:

我没有给你创建视图语句,但这里有一些链接可以帮助你学习视图及其相关概念。

first

second

并浏览这些链接,因为这是您的任务,因此请尝试自己完成。

如果您遇到任何问题,请在此处发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-05
    • 2012-05-02
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2013-07-31
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多