나는 오래 전에 어딘가에서 읽었습니다. 이 책에서는 SQL Server에서 중첩 된 뷰를 가질 수 없어야합니다. 우리가 그렇게 할 수없는 이유를 잘 모르겠거나 틀린 진술을 기억할 수도 있습니다.
재학생
SELECT studentID, first_name, last_name, SchoolID, ... FROM students
CREATE VIEW vw_eligible_student
AS
SELECT * FROM students
WHERE enroll_this_year = 1
교사
SELECT TeacherID, first_name, last_name, SchoolID, ... FROM teachers
CREATE VIEW vw_eligible_teacher
AS
SELECT * FROM teachers
WHERE HasCert = 1 AND enroll_this_year = 1
학교
CREATE VIEW vw_eligible_school
AS
SELECT TOP 100 PERCENT SchoolID, school_name
FROM schools sh
JOIN
vw_eligible_student s
ON s.SchoolID = sh.SchoolID
JOIN
vw_eligible_teacher t
ON s.SchoolID = t.SchoolID
직장에서 사내 데이터베이스 응용 프로그램 중 하나를 조사했습니다. 객체를 통해 두 개 또는 세 개의 뷰 스택 레이어가 서로 있다는 것을 알았습니다. 그래서 그것은 내가 과거에 읽은 것에 대해 생각 나게했습니다. 그것을 설명하는 데 도움이 될 수 있습니까?
그렇게해도 괜찮지 않으면 SQL Server로만 제한되거나 일반적으로 데이터베이스 디자인을위한 것임을 알고 싶습니다.
추가 정보 : 회사에서 예제를 업데이트했습니다. 너무 많은 기술 (이 예에서는 너무 많은 열)없이 좀 더 일반적으로 변경합니다. 우리가 사용하는 대부분의 중첩 뷰는 추상 또는 집계 뷰를 기반으로합니다. 예를 들어, 수백 개의 열이있는 큰 학생 테이블이 있습니다. 예, Eligible Student View
올해 등록한 학생을 기준으로합니다. 학생 자격보기는 저장 프로 시저와 같은 다른 장소에서 사용할 수 있습니다.