私はずっと前にどこかで読んだことがあります。この本は、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
私の職場では、社内データベースアプリケーションの1つを調査しました。ビュースタックの2つまたは3つのレイヤーが相互に存在することがわかったオブジェクトを確認しました。過去に読んだことを思い出させてくれました。誰もそれを説明するのを助けることができますか?
そうでない場合は、SQL Serverのみに限定されているか、一般的なデータベース設計用であることを知りたいと思います。
追加情報:会社の例を更新しました。あまり技術的でない(この例では列が多すぎる)ことなく、少し一般的なものに変更します。ほとんどの場合、ネストビューは抽象ビューまたは集約ビューに基づいています。たとえば、数百の列を持つ大きな学生テーブルがあります。言う、Eligible Student View
今年入学する学生に基づいています。また、学生の対象となるビューは、ストアドプロシージャなどの他の場所を使用することもできます。