クエリをビューに依存させたくない場合は、そもそもなぜそのビューを作成するのかを自問する必要があります。
5 つのテーブルのクエリが結合しtable1
、同じテーブルがビューで結合される方法とtable2
単に同じであるが、実際にはまったく異なる意味を持っている場合、私の意見では、それはまったく問題ありません。 2番目のビュー/クエリで使用します。table3
query1
query1
しかし、2 番目のビュー/クエリが で既に実装されているのと同じビジネス ルールを再現しようとしている場合query1
、コードを複製してもまったく意味がありません。これは、部分的には考え方のポイントです。これを作成することで、同じコードを何度も使用する必要がある場合に、同じコードを繰り返さないようにすることができます。を変更するquery1
と、それに応じて他の依存クエリやビューの出力を変更することが理にかなっています。
もちろん、ビューの変更によって、それを使用する他のクエリやビューの変更が必要になる場合があります。現時点でそれが最も懸念事項である場合は、データベースが長期間使用された後にそのような変更が発生する可能性を減らすために、時間をかけてビューを適切に計画することをお勧めします。
したがって、基本的には、すべてのビューでロジックを複製して相互に依存しないようにするか、必要に応じてビューを積極的に使用するが、特定のビューが 1 つあるという理由だけで一連の変更を行わなければならない状況に遭遇するリスクがあります。変更する必要があります。しかし、繰り返しになりますが、前に述べたように、ビューを事前に適切に設計すれば、そのリスクを最小限に抑えることができます。