数据库设计笔记一

数据库设计是有范式要求及规则的。

    第一:数据库的每一列的值域都是由不可分割的原子值组成;每个字段的值都只能是单一值。
      就是说,1.每个框内都是单一的值,而不能出现多个分割的值。
                    2.在行中有每列都相同数值时(如售货记录等),在有唯一值的列来做区分,即要有一唯一标识符的列。

   第二:表里的所有数据都要和该数据表的键(主键与备选键)有完全依赖关系:每个非键属性必须独立于任意一个键的任意一部分属性。如果有哪些数据只和一个键的一部分有关的话,就得把它们独立出来变成另一个资料表。但表的设计要符合第一范式。
       举例说明:如果设计一张学生表,表中有学号,学生姓名,所属系,系主任,课名,分数。显然在建的表中会出现多次的重复字段值,如所司系,系主任两个,所以这张表中的各单元没有达到最小的数据间的关系,即在设计出表的字段后,要选出主要的一个字段,再看会出现的重复值与主要字段的关系是否可以再分离。分离出另一张表并以范式一进行设计。

    第三:所有非主键属性都只和主键有相关性,也就是说非主键属性之间应该是独立无关的。
      就是说:确保每列都和主键列直接相关,限制列的冗余性。设计的表要符合范式一和范式二,就会出现除了主键以外的其他列都依赖于主键列,列和列之间不存在相互依赖关系。

学习笔记与你分享。