化为第一范式

Make Into First Normal Form

给定以下关系:

school =(teacherID, list of kids)

我需要将其转换为第一范式。我的想法是,我有一个 table 作为 teacherID,然后有一个孩子 table,每个孩子都有一个 kidID。然后我可以将每个 kidID 连接到他们正确的 teacherID。这会解决 1NF 问题吗?

它会,但它也会将其转化为第二范式,您的目的可能需要也可能不需要。

如果出于某种原因,您只想以第一范式形式使用它,那么您只需要它,这样就没有包含多个数据项的单元格。在这种情况下,将孩子列表变成一列,让每个孩子都有教师 ID 就足够了。

要满足1NF,只需要有原子数据字段,这样一列的信息就不能一分为二了。

例如,如果您存储教师的信息 (teacherid, name),这将不是第一范式,因为您可以将姓名拆分为名字和姓氏。

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