制作成第一范式

时间:2019-03-31 23:57:57

标签: database-normalization

给出以下关系:

school =(teacherID, list of kids)

我需要将其转换为第一范式。我的想法是,我有一张教师表,然后有一个孩子表,每个孩子都有一个kidID。然后,我可以将每个kidID连接到其正确的TeacherID。这样可以解决1NF问题吗?

2 个答案:

答案 0 :(得分:0)

可以,但也可以将其转换为第二范式,这对于您的目的可能是不希望的。

如果出于某种原因,您只想要第一种普通格式的数据,则只想要它,这样就不会有包含多个数据项的单元格。在这种情况下,将孩子列表变成一列,让每个孩子都有老师ID就足够了。

答案 1 :(得分:0)

要满足1NF,您只需要具有原子数据字段,这样一列的信息就不能分成两部分。

例如,如果您存储教师的信息(手风琴,姓名),这将不是普通格式,因为您可以将姓名分为姓和名。

一个字段中的孩子列表不是原子列表,因此必须将其拆分为多个记录。 因此,您需要为每个孩子准备一个条目,例如 (teacherID,kid1ID),(teacherID,kid2ID),...