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.subject
,class.teacher
,class_registration.grade
,class_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
/
/