其它标准化表单(范式) 也有第四常规表单(第四范式)(也称为 Boyce Codd 常规表单(范式)(BCNF))与第五常规表单(第五范式)存在,但是在实际设计中很少考虑。忽视这些规则可能使得数据库的设计不太完美,但这不应影响功能。 将示例表标准化 这些步骤说明将一个虚构的学生表进行标准化的步骤。 非标准化的表: 1022 Jones 412 101-07 143-01 159-02 4123 Smith 216 201-01 211-02 214-01 |
第一常规表单(第一范式):无重复组 表应只有两维。由于一个学生有好几个类别,因此这些类别应在一个独立的表中列出。在上述记录中,Class1、Class2 和 Class3 字段是遇到设计困难时的一些提示。 电子表格通常使用第三维,但是表不应该使用第三维。解决该问题的另一种方法是使用一对多关系,一方和多方不应放在同一表中。反之,通过去掉重复组 (Class#) 在第一常规表单中创建另一个表,如下所示: 1022 Jones 412 101-07 1022 Jones 412 143-01 1022 Jones 412 159-02 4123 Smith 216 201-01 4123 Smith 216 211-02 4123 Smith 216 214-01 |
第二常规表单(第二范式):去掉冗余数据 请注意在上述表中每个 Student# 值的多个 Class# 值。Class# 实际上不取决于 Student#(主关键字),因此该关系不在第二常规表单中。 以下两个表说明第二常规表单(第二范式): Students: 1022 Jones 412 4123 Smith 216 |
Registration: 1022 101-07 1022 143-01 1022 159-02 4123 201-01 4123 211-02 4123 214-01 |
第三常规表单(第三范式):去掉不取决于关键字的数据 在最后一个示例中,Adv-Room(顾问办公室号码)实际上取决于 Advisor 属性。该解决方案是将该属性从 Students 表中转移到 Faculty 表中,如下所示: Students: 1022 Jones 4123 Smith |
Faculty: Jones 412 42 Smith 216 42 |
 
2/2 首页 上一页 1 2 |