文档详情

关系数据库设计原理和分析.doc

发布:2018-10-03约3.1千字共7页下载文档
文本预览下载声明
关系数据库设计原理和分析   摘要:文章针对数据层存储方案设计问题,讨论了软件开发生命周期中几大阶段与数据存储设计的关系及每阶段的内容、成果输出,最后,举例分析了数据存储方案设计过程中需要遵守的重要准则以及核心要点。   关键词:实体模型;E-R关系;概念设计;范式原则   数据库设计涉及信息系统的性能、效率、安全等方面,好的设计方案能极大地减轻实施阶段的工作量,减少运维的成本与投入。数据库设计需要从数据模型、负载、数据存储量、并发数等方面着手考虑,需要遵守相关的原则与规范。   1 数据模型   数据模型是数据存储方案设计过程中首要考虑的问题,模型是对客观事物的模拟描述,模型既是了解事物本质的需要,也是与不同角色人员间沟通讨论解决方案的重要工具。数据建模作为数据存储设计的第一步,其输出结果就是得到符合实际需求的数据模型,再进而得到可实施的执行方案。在理论上来说,一个完整数据模型包括结构、操作、约束3个方面[2]。   (1)结构:是指数据存储结构,如模型中的存储项以及每个项的类型,以及存储结构所占据的存储空间的大小及存储空间所在位置区域等方面。   (2)操作:是指外部对存储结构的读或写方面的操作,或者增、删、改、查的数据交互过程。   (3)约束:是指数据存储结构内部数据项的限制条件,如数据项各种类型的长度、大小,不同存储结构间数据项的依赖关系等。   在数据存储领域,存储结构中存在众多的数据存储模型,其中相对成熟的数据模型有如下几种。   (l)层次模型:也叫树状模型,模型中有一个根节点,然后在这个节点下生成众多的叶子分支。   (2)网状模型:模型中的实体节点纵横交错的发生关联关系,实体之间没有主次、子父之分,呈现一个板平的网状。   (3)关系模型:以平面表为基础,表中有行与列,其中列定义的是存储结构的数据项,行代表的是存储结构中的数据记录,是目前关系数据库中的普遍形式。   2 数据库设计过程   数据存储方案设计是软件开发生命周期的概要设计阶段必须考虑的问题,从应用程序的运行数据持久化需求着手到最终数据库环境的建立,大概包含以下几个方面的过程[4],每个方面的工作内容及成果输出如图1所示。   (l)概念定义:是数据存储方案定义的初始阶段,在这一过程主要是对客户业务功能教据需求的归纳,得到业务的概念模型。概念模型是一个对客观事物抽象表述且与技术无关的模型,是设计人员与客户交流模型工具。通过概念模型可以清楚地展示数据层的存储功能。   (2)逻辑定义:是对概念模型的实现方案的定义,是数据存储层的一种实现思想,定义存储模型中的相关内在实现,对应的成果输出是逻辑模型。   (3)物理定义:是根据数据存储方案的逻辑实现思想定义出具体的数据库存储环境,包括可运行数据库运行脚本、表空间的分配、触发器、存储过程、视图等方面的建立。   3 范式原则   关系数据库范式原则是进行数据存储设计的一个重要准则,范式设计原则将直接指向数据库中表的字段定义、字段关系、记录唯一性标识是否合理。当前在关系数据库系统中存在6种范式原则,其中基础的原则有3种,分别是:第一范式(INF)、第二范式(2NF)、第三范式(3NF)[5],如图2所示。   (1)INF:要求数据表中字段不可再分,且字段只能单值存储。这是最基本的范式原则,所有数据表都必须满足这一条,否则关系数据库将不支持所设计的数据模型。如果一个“电话”字段可以拆分成“手机”与“座机”两个属性,或者在同一条记录中“电话”属性字段存储了两个值,都是不符合该范式的设计要求[6]。   (2) 2NF:要求每个数据实体中必须有唯一标识,如果唯一标识为联合标识,则其他普通属性不能存在对联合标识的部分依赖。本范式解决的是数据表中的唯一标识问题,及非主属性对码的部分依赖。如一个表中有:“开户人”“开户银行”“开户人联系电话”“开户行地址”“帐户余额”等字段,其中“开户人,“‘开户银行”为联合标识(联合主键),因普通属性“开户人联系电话”却依赖“开户人’’属性,“开户行地址”属性依赖“开户行”属性,因而存在普通属性对联合标识的部分依赖,不符合该要求。   (3)3NF:要求数据实体的普通属性间不能存在传递依赖,本范式所要解决的是普通属性的互相依赖问题。如一个表中有如下属性:“职工号”“职工姓名”“所属部门”“部门办公电话”“部门经理”因为普通属性“部门办公电话”“部门经理”“所属部门”三者间存在依赖关系,“所属部门”属性可直接决定“部门办公电话”与“部门经理”,因而数据表该不符合该要求。   4 性能与理论范式平衡点   数据库领域有两种岗位,一种是数据库管理员岗位( DatabaseAdministrator,DBA),另一种是数据库编程开发人员岗
显示全部
相似文档