EMPLOYEEという名前のテーブルがあり、そのテーブルにManagerIDというフィールドがあるとします。このフィールドは、マネージャーが誰であるかを示すEMPLOYEEテーブルの別のレコードへのFKです。循環参照(再帰的な外部キー)がないことを確認する理想的な方法は何ですか?
編集-すべての従業員がマネージャーを必要としないことを付け加えておきます。ManagerIDフィールドが設定されていない従業員レコードがいくつかあります。
*例:ユーザー123のマネージャーはユーザー345です。ユーザー345には、マネージャーとしてユーザー567がいます。なんらかの奇妙な理由で、ユーザー567にはユーザー123がマネージャーとしています。
ユーザー345が循環参照に含まれているかどうかを確認したいと思います。*
これを理解するための最良の方法は何ですか?簡単なクエリ?ビジネスロジックコード(C#/ VB.NET)?
他の人は何をしましたか?
テーブルスキーマの例-
-- Employee Table --
UserID (int - PK)
ManagerID (int - FK to another UserID; can be null)