次のオブジェクトを SQL のテーブルとして想定してみましょう。
Companies
Employees
(企業を指す)Meetings
(企業も指す)
また、従業員は会議に参加できるため、リンク テーブルがあります。
EmployeeMeetings
(つまり、従業員と会議の両方への FK)
さらに、会社のテーブルに触れることはできません (たとえば、これに対するトリガーはありません)。私がしたいのは、次のことです。
- 会社が削除されると、すべての従業員が削除されます
- 会社が削除されると、すべての会議が削除されます
- 従業員または会議のいずれかが削除されると、すべての
EmployeeMeeting
記録が削除されます
残念ながら、これが恐ろしい「サイクルまたは複数のカスケードパスを引き起こす可能性がある」ことを引き起こすため、私は立ち往生しています。制約がある場合、これをどのように回避しますか? 両方の FK を入れることさえできないと思います。または、会社を削除した後、FK がEmployeeMeetings
これを防ぐため、従業員または会議のいずれかを削除できないというリスクがあります。右?