テーブルSCHOOL_PARENTとテーブルSCHOOL_CHILDがあります。SCHOOL_CHILDテーブルには、子のIDと親のIDが含まれており、これらを合わせて主キーを形成します。これは、子供が2人の親(母親と父親、したがって2行)を持つことができるためです。
その場合、親のいない子供の場合が存在します。しかし、テーブルSCHOOL_CHILDが主キーの一部であるNULLの親を受け入れないため、この行を挿入できません。この問題を解決する方法は?
テーブルSCHOOL_PARENTとテーブルSCHOOL_CHILDがあります。SCHOOL_CHILDテーブルには、子のIDと親のIDが含まれており、これらを合わせて主キーを形成します。これは、子供が2人の親(母親と父親、したがって2行)を持つことができるためです。
その場合、親のいない子供の場合が存在します。しかし、テーブルSCHOOL_CHILDが主キーの一部であるNULLの親を受け入れないため、この行を挿入できません。この問題を解決する方法は?
質問を正しく理解したかどうかはわかりませんが、データモデルは次のようなものだと思います。
Table: Parent
------------
ParentID (PK)
Name
....
Table: Child
------------
ChildID (PK)
Name
....
Table: Parent_Child
----------------
ParentID (PK)
ChildID (PK)
子供と親の間には多対多の関係があります。通常、これは「ブリッジング」テーブルでモデル化します。
Table: SCHOOL_PARENT
------------
ParentID (PK)
Name
....
Table: SCHOOL_CHILD
------------
ChildID (PK)
MotherID (FK)
FatherID (FK)
Name
....
FatherID ant MotherID はヌルにすることができます。