HOY*_*HOY 0 normalization database-design
以下是 SQL 表的列:
Course_Code
Course_Name
Tutor_ID
Tutor_Name
Student_No
Student_Name
DateOfBirth
Gender
LastAttDate
Run Code Online (Sandbox Code Playgroud)
通过检查下面的所有 NF1 要求,我相信这张表是 NF1。
All data is atmoic
There is no grouping of columns.
Each column can be identified by a primary key. (Course_Code)
Run Code Online (Sandbox Code Playgroud)
但是在我得到这个问题的这个网站上,他们对表格进行了一些修改,使其成为 NF1。我相信这些修改是不必要的,表格已经在 NF1 中了。
我在这里错过了什么吗?
在您引用的站点中,请注意初始列第二部分中属性右侧的括号:
图片中没有上下文,但对此类括号的明显解释是它们表示重复属性:换句话说,对于每门课程(只有一名导师),有多个学生。所以符号(实际上不是很清楚)应该表示一个非平坦的情况,其中 5 个属性被重复。
这显然不是关系(或 1NF 中的“表”),规范化的第一步是将这些数据分成两个不同的表,一个用于课程,一个用于学生,当然还要添加到第二个表,它应该代表一个学生,一个指向该课程的外键,用于将该特定学生与特定课程相关联。
Computer Science SE 上的相关问答:2NF 是否需要 1NF?
归档时间: |
|
查看次数: |
183 次 |
最近记录: |