【发布时间】:2013-12-02 22:51:51
【问题描述】:
如果我有两种不同类型的用户,父母和孩子。它们具有相同的字段,但是 Child 与考试具有一对多关系,而 Parent 则不存在这种关系。
最好将 Parent 和 Child 建模为单个表,还是组合在一起?
如果我有两种不同类型的用户,父母和孩子怎么办。除了一个孩子属于一所学校(一所学校有很多孩子)之外,它们是相同的
再一次,Parent 和 Child 最好建模为单个表,还是组合在一起?
【问题讨论】:
-
我认为你应该有两张表:一张给父母,一张给孩子,它们之间有一个“一对多”的完整性约束。作为父母可以有一个或多个孩子;)
-
如果记录中包含的数据相同,那么它们应该在同一个表中。因此,假设您有包含字段“年龄”、“身高”、“体重”和“类型”的人员记录,其中类型区分“父”或“子”(如果这甚至是必要的),它们是否在同一张表与否,但您通常会将它们放在同一张表中,以便更轻松地在数据库中查找人员。如果子记录需要包含与父记录无关的外键,那么当然可以将它们放在不同的表中。
标签: mysql sql database database-design database-schema