SQL入门经典(第5版)第四章 规格化过程

来源:互联网 发布:mac删除bootcamp引导 编辑:程序博客网 时间:2024/05/16 23:58

本章的重点内容包括:
什么是规格化
规格化的优点
去规格化的优点
规格化技术
规格化的方针
数据库设计

本章介绍把原始数据库分解为表的过程,这被称为规格化。数据库开发人员利用规格化过程来设计数据库,使其便于组织和管理,同时确保数据在整个数据库里的正确性。

4.1 规格划数据库
规格化是去除数据库里面冗余数据的过程,在设计和重新设计数据库时使用。它是一组减少数据冗余来优化数据库的指导方针,具体的方针被称为规格形式。

4.1.1 原始数据库
在没有经过规格化的数据库里,有些数据可能会出现在多个不同的表里,而且没有什么明显的原因。

4.1.2 数据库逻辑设计
数据库逻辑设计,也被称为逻辑建模,是把数据安排到逻辑的、有组织的对象组,以便于维护的过程。

一、什么是终端用户的需求
在设计数据库时,终端用户的需求应该是最重要的考虑因素。

在设计时要考虑的与用户相关的因素包括:
数据库里应该保存什么数据?
用户如何访问数据库?
用户需要什么权限?
数据库里的数据如何分组?
哪些数据最经常被访问?
全部数据与数据库如何关联?
采取什么措施保证数据的正确性?
采取什么措施减少数据冗余?
采取什么措施让负责维护数据的用户更易于使用数据库?

二、数据冗余
数据应该没有冗余;这意味着重复的数据应该保持到最少。

4.1.3 规格形式
规格形式是衡量数据库被规格化级别(或深度)的一种方式。数据库的规格化级别是由规格形式决定的。

下面是规格化过程中最常见的3种规格形式:
第一规格形式;
第二规格形式;
第三规格形式;

一、第一规格形式
第一规格形式的目的是把原始数据分解到表中。在所有表都设计完成之后,给大多数表或全部表设置一个主键。主键通常是表里的第一列。

二、第二规格形式
第二规格形式的目标是提取对主键公有部分依赖的数据,把它们保存到另一个表里。

三、第三规格形式
第三规格形式的目标是删除表里不依赖于主键的数据。

4.1.4 命名规范
命名规范是在数据库规格化过程中最重要的考虑因素之一。

设计和坚持命名规范是公司开发成功数据库实现的第一步。

4.1.5 规格化的优点
规格化为数据带来了很多好处,主要包括以下几点:
更好的数据库整体组织性;
减少冗余数据;
数据库内部的数据一致性;
更灵活的数据库设计;
更好地处理数据库安全;
加强引用整体性的概念。

引用完整性表示一个表里某列的值依赖于另一个表里某列的值。引用完整性一般是通过使用主键和外键 来控制的。

4.1.6 规格化的缺点
虽然大多数成功的数据库都在一定程度上进行了规格化,但规格化的确有一个不可回避的缺点:降低数据库性能。

4.2 去规格化数据库
去规格化是修改规格化数据库的表的构成,在可控制的数据冗余范围内提高数据库性能。尝试提高性能是进行去规格化数据库的唯一原因。

去规格化也是有代价的。它增加了数据冗余,虽然提高了性能,但需要付出更多的精力来处理相关的数据。

4.3 小结
在进行数据库设计时,必须做出一个困难的决定——规格化或去规格化,这的确是个问题。一般来说,数据库问题需要进行一定程序的规格化,但到什么程度才不至于严重影响性能呢?答案取决于程序本身。数据库有多大?其用途是什么?什么样的用户要访问数据?本章介绍了3种最常见的规格形式规格化过程的底层概念数据的完整性。规格化过程包含多个步骤,大多数都不是必需的,但对于数据库的功能和性能来说都是很重要的。无论决定进行什么程度的规格化,总是会存在便于维护与性能降低,或复杂维护与更好性能之间的平衡。最终,设计数据库的个人(团队)必须做出决定,并对此负责。

阅读全文
0 0
原创粉丝点击