制作第一范式

问题描述 投票:-1回答:2

鉴于以下关系:

school =(teacherID, list of kids)

我需要将其转换为First Normal Form。我的想法是,我有一个用于teacherID的桌子然后有一个儿童桌,每个孩子都有一个kidID。然后我可以将每个kidID连接到正确的teacherID。这会解决1NF问题吗?

database-normalization
2个回答
0
投票

它会,但它也会把它变成第二种正常形式,这可能是或可能不是你想要的。

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


0
投票

要满足1NF,您只需要拥有原子数据字段,这样就不能将列的信息拆分为两个。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.