一部に応じて関係を禁止する外部キー制約を設けることは可能WHEREですか?
これはそれほど単純に聞こえないかもしれないので、例を挙げて説明しようと思います。
2つの「通常の」テーブルがあります。
PersonTask
そして、それらの間のN:M関係はトラフです:
Team
1つのタスクは、それ自体の「下」に複数のタスクを持つことができます。したがって、「ツリー」順序を作成します。またtask、「チーム」の場合はブール値が含まれisTeamます。例えば:
- クリーニング(
isTeam: true) - 階下のトイレの掃除(
isTeam: false)
- 階下のトイレの掃除(
- 2階のトイレの掃除(
isTeam: false)
- 2階のトイレの掃除(
- 1階拭き(
isTeam: false)
- 1階拭き(
- 2階拭き(
isTeam: false)
- 2階拭き(
- 夕食(
isTeam: true) - 食事の準備(
isTeam: false)
- 食事の準備(
- テーブルの準備(
isTeam: false)
- テーブルの準備(
- など(
isTeam: false)
- など(
画像:人はチームに属しています(チームは(可能な)サブタスクを持つ1つのタスクであり、isTeam = true)
表は、サブを持つ特定のTeamの責任者を示しています。適用する必要のある制限:Aは、 sの場合にのみaにアタッチできます。tasktasksPersonTaskTaskisTeam=true
これは可能ですか?
PS(私は考えています、それは持っているものviewだけを選択することを使用して行うことができますか?)TasksisTeam=true
