私はテーブル構造を持っていますが、最善の方法を作成する方法がよくわかりません。
基本的に、tblSystemItems と tblClientItems の 2 つのテーブルがあります。「アイテム」を参照する列を持つ 3 番目のテーブルがあります。問題は、この列がシステム アイテムまたはクライアント アイテムのいずれかを参照する必要があることです。どちらでもかまいません。システム アイテムには 1..2^31 の範囲のキーがあり、クライアント アイテムには -1..-2^31 の範囲のキーがあるため、衝突は発生しません。
アイテムをクエリするときはいつでも、2 つのテーブルの内容間で UNION ALL を実行するビューを使用してクエリを実行しています。
したがって、最適には、ID を一意に保ちながら、ビューは常に 2 つのテーブルの結合になるため、ビューの結果を参照する外部キーを作成したいと考えています。しかし、ビューを参照できないため、これを行うことはできません。
これで、外部キーをドロップするだけで問題ありません。ただし、参照チェックとカスケード削除/null 機能の設定が本当に必要です。トリガー以外にこれを行う方法はありますか?