当前位置:课程学习>>第六章 属性数据管理>>电子教案>>知识点二


知识点二:数据库设计的四种类型、关系数据库实例、规范化以及关系类型


2.2 规范化

制备如SSURGO的关系型数据库必须遵循某些规则。规则之一称为规范化。规范化是一个分解的过程,即将一个包括所有属性的数据表格分解成小的表格,同时保持它们之间必要的联接。通过规范化可以达到以下几个目标。

(1)避免表中多余数据浪费数据库空间,以及避免可能导致的数据完整性问题。

(2)确保独立表格中属性数据可以被单独维护、更新,并在需要时可被链接起来。

(3)有利于形成分布式数据库。

这里提供了一个规范化的例子。图6.3显示了四块宗地,表6.1显示了与宗地关联的属性数据。表6.1含有冗余数据:业主smith的地址、居住区和商业区都被输人两次。各也包含不规则的纪录:业主和业主地址字段可以有一个或两个数值。如表1的未规范化表临,是很难进行管理和编辑的。首先,很难定义业主和业主地址字段,并存储它们的数据。如果所有权关系改变,这个表中全部属性数据都必须更新。当增加或删除数值时,操作同样困难。

图6.3图示4块宗地,编码分别为P101、P102、P103和P104,其中两块(P101和P104)为居住区,另两块为商业用地。

表6.1未规范化表格

表6.2规范化的第一步

表6.2给出了规范化的第一步。表6.2(常被称为第一规范表)在其像元中不再有多重值,但增加了数据冗余。除了业主和业主地址外,地块P101和P102重复了两次,Smith的地址也波重复了两次,居住区和商业区重复了三次。而且,需要字段PIN(地块标识号)与业成的复合关键字,才能辨认业主地址,而仅靠PIN就不可能完成。

图6.4给出了规范后的第二步。取代表6.2的是3个小表:地块、业主和地址表。PIN(地块标识号)是关联地块与业主的关键字段。业主名字是关联地址与业主表的关键字段。地块和地址表格之间的关系可以通过关键字段PIN(地块标识号)和业主名字来建立,处:规范化表的唯一问题是分区代码和分区两个字段的冗余。

图6.4来自规范化第二步的独立表格,与表格相关的关键字段突出显示。

上例中规范化的最后一步概括如图6.5所示。从图6.5中可以看出,可以通过建立一个新表(如分区表)来解决分区余下的数据冗余问题。分区代码是关联地块与分区表的关键字段。至此,表6.1中的未规范化数据已被完全规范化了。

图6.5规范化后的独立表格。关联表格的关键字段突出显示。

虽然规范化比第三步能达到与关系数据模型相一致的目标,但规范化确实有其减慢数据存取并增添更高的维护成本的缺陷。例如,为了找到地块主人的地址,您必须关联三个表(地块、业主和地址)且使用两个关键字段(地块标识号和业主名字)。提高数据存取性能的一个方法是减少规范化的层次,例如,通过去除地址表并将地址包含在业主表中。因此,数据库在概念设计时应该进行规范化维护,但是在物理设计时还必须考虑性能和規范化以外的其他因素。

如果图6.5代表规范化的最后步骤,那么在GIS中的宗地表格成为宗地地图的要素属性表的一部分,其他表格可制备为非空间属性表。

下一页