版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1数据库设计概述
数据库设计是指对一个给定的应用环境,构造一个最优的数据库模式,并根据此模式建立数据库,使之能够有效、安全、完整地存储大量数据,并满足多个用户的信息需求。
在数据库的设计过程中,主要的工作就是规划和结构化数据库中的数据对象以及数据对象之间的关系。
数据库的设计非常重要,在数据库中,对数据对象的规划和结构化以及数据对象之间建立的复杂关系是影响数据库系统的效率的重要因素。设计良好的数据库效率高、便于扩展,同时方便应用程序的开发;而设计不好的数据库将导致效率低下,而且更新和检索数据时会出现各种问题。为了设计出良好的数据库系统,应找出良好的设计方法,以处理数据库设计中涉及的各种问题,建立数据库模型是一种非常有效的数据库设计方法。
8.2数据库设计过程
设计数据库的方法有很多,目前主流的设计方法是按照软件工程要求的规范化设计方法和步骤进行,以实现数据库设计过程的可见性和可控性,在设计过程中,整个软件系统的设计以数据库的设计为中心,应用程序的设计围绕着数据库进行。近几年,随着敏捷软件开发方法的应用,软件系统的设计不再以数据库的设计为中心,而是以软件系统的功能实现为中心,随着软件开发的进步和代码版本的更新,把数据库作为软件开发中的持久化功能处理,自然形成数据库系统,解除了应用设计与数据库设计之间的藕合,使应用设计不依赖于任何特定类型的数据库。
8.2数据库设计过程
按照软件工程的规范化设计方法,数据库设计分为六个阶段:
①需求分析:准确了解与分析用户需求。
②概念结构设计:对用户需求进行综合、归纳与抽象,把用户需求抽象为数据库的概念模型。③逻辑结构设计:将概念结构转换为某个DBMS支持的数据模型,并对其进行优化。④物理结构设计:在DBMS上建立起逻辑结构设计确立的数据库的结构。
⑤数据库实施:建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。⑥数据库运行和维护:对数据库系统进行评价、调整与修改。
8.2.1需求分析
需求分析的目标是准确了解系统的应用环境,了解并分析用户对数据及数据处理的需求,是整个数据库设计过程中最重要的步骤之一,是其余各阶段的基础。在需求分析阶段,要求从各方面对整个组织进行调研,收集和分析各项应用对信息和处理两方面的需求。需求分析阶段,主要了解和分析的内容包括:
①信息需求:用户需要从数据库中获得的信息的内容与性质。
②处理需求:用户要求软件系统实现的功能,并说明对系统实现功能的时间、处理方式的要求。③安全性与完整性要求:用户对系统信息的安全性要求等级以及信息完整性的具体要求。
8.2.1需求分析
对于图书销售管理系统,以下是分析得到的用户需求:
①新书信息录入,以添加系统中销售的图书的信息。
②新书列表,以方便用户得到新进图书的信息。
③书目分类,以便用户查看对应分类中相关图书信息。
④图书搜索功能,以方便用户按书名、IsBN、主题或作者搜索相应图书信息。
⑤用户注册功能,以方便保存用户信息,并在相应功能中快速应用用户信息。
⑥用户登录功能,以方便用户选购图书,并进行结算和配送。⑦订单管理功能,以方便对图书的销售情况进行统计\分析和配送。
⑧系统管理员登录功能。
8.2.1需求分析
数据库设计过程中采用数据流图(DataFlowDiagram,DFD)来描述系统的功能。数据流图可以形象地描述事务处理与所需数据的关联,便于用结构化系统方法,自顶向下,逐层分解,步步细化,并且便于用户和设计人员进行交流。
8.2.1需求分析
图书销售管理系统的数据流图
8.2.1需求分析说明:
注册信息:用户名、用户姓名、家庭住址、邮政编码、移动电话、固定电话、电子信箱、密码。登录信息:用户名、密码。
用户信息:客户编号、用户名、用户姓名、家庭住址、邮政编码、移动电话、固定电话、电子信箱。图书信息:图书序号、图书名称、IsBN、作者、图书类型编号、描述。
销售信息:订单流水号、图书序号、数量、客户编号、单价。
查询信息:查询依据、查询值。
订购信息:客户编号、图书编号、数量、单价、订购日期。
8.2.1需求分析数据字典(DataDictionaxy,DD)是关于数据库中数据的一种描述,而不是数据库中的数据;数据字典用于记载系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件。数据字典有利于设计人员与用户、设计人员之间的通信;有利于要求所有开发人员根据公共数据字典描述数据和设计模块,避免接口不一致的问题。
数据字典在需求分析阶段建立,产生于数据流图,主要是对数据流图中数据流、数据项、数据存储和数据处理的描述。
8.2.1需求分析①数据流:定义数据流的组成。
②数据项:定义数据项,规定数据项的名称、类型、长度、值的允许范围等内容,数据项的组成规则需要特别描述。
③数据存储:定义数据的组成以及数据的组织方式。
④数据处理:定义数据处理的逻辑关系,数据处理中只说明处理的内容,不说明处理的方法。数据字典主要有三种实现方法:全人工过程(数据字典卡片)、全自动化过程(应用数据字典处理程序)以及混合过程。
8.2.1需求分析数据流图的部分数据字典内容注意:需求分析的各阶段都要求设计人员和用户进行充分的交流,每个阶段都必须有用户直接参与,每个阶段的设计结果都要返回给用户,并与用户交流关于设计结果的看法,最终让用户理解设计结果,并取得用户的认可。
8.2.2概念结构设计
概念设计阶段的目标是把需求分析阶段得到的用户需求抽象为数据库的概念结构,即概念模式。在设计关系型数据库的过程中,描述概念结构的有力工具是E一R图,概念结构设计分为局部E一R图和总体E一R图。总体E一R图由局部E一R图组成,设计时,一般先从局部E一R图开始设计,以减小设计的复杂度,最后由局部E一R图综合形成总体E一R图。E一R图的相关知识参见第1章相关内容。
局部E一R图的设计从数据流图出发,确定数据流图中的实体和相关属性,并根据数据流图中表示的对数据的处理,确定实体之间的联系。
8.2.2概念结构设计在设计E一R图的过程中,数据库设计人员需要注意以下问题:
①用属性还是实体表示某个对象更恰当。
②用实体还是联系能更准确地描述需要表达的概念。
③用强实体还是弱实体更恰当。
④使用三元联系还是一对二元联系能更好地表达实体之间的联系。
8.2.2概念结构设计确定用户订购图书的局部E一R图如图8.3所示,图书相关的局部E一R图如图8.4所示
8.2.2概念结构设计
8.2.2概念结构设计在用户订购图书的过程中,用户(Customer)和订单(OrderItem)都是过程中的实体,而订购则是用户和订单之间的联系,由于在订购过程中,一个用户可以发生多个订单,所以是一对多的联系。在用户实体中,用户编号属性(ID)是主键,而在订单实体中,目前还没有发现主键。在联系中,还有相应的属性,包括订购序号(OrderID)、订购的物品代码(hemID)、订购日期(orderDate)、订单状态(Status)、配送地址(ShipToAddr)以及收件人姓名(Shi叮oName)等。
整个数据库的总体E一R图不在此列出,请读者根据以上方法自行设计完成。
8.2.3逻辑结构设计概念设计的结果是得到与计算机软硬件具体性能无关的全局概念模式,概念结构无法在计算机中直接应用,需要把概念结构转换成特定的DBMS支持的数据模型。逻辑设计就是把上述概念模型转换成某个具体的DBMS支持的数据模型并进行优化。
逻辑结构设计一般分为三部分:概念转换成DBMS支持的数据模型、模型优化以及设计用户子模式。概念结构向关系模型转换
概念结构向关系模型转换需要有一定的原则和方法指导,一般而言原则如下:①每个实体都有表与之对应,实体的属性转换成表的属性,实体的主键转换成表的主键。②联系的转换。
8.2.3逻辑结构设计联系转换的具体做法如下
(l)两实体间的一对一联系
一个一对一联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的关键字以及联系本身的属性均转换为关系的属性,每个实体的关键字均是该关系的候选关键字。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的关键字和联系本身的属性。可将任一方实体的主关键字纳入另一方实体对应的关系,若有联系的属性则一并纳入。
(2)两实体间一对多联系
可将一方实体的主关键字纳入多方实体对应的关系中作为外关键字,同时把联系的属性也一并纳入多方对应的关系。
(3)同一实体间的一对多联系
可在这个实体对应的关系中多设一个属性作为与该实体相联系的另一个实体的主关键字。(4)两实体间的多对多联系
必须对联系’单独建立一个关系,该关系至少包含被它联系的双方实体的主关键字’,如果联系有属性,也要纳入这个关系。
8.2.3逻辑结构设计联系转换的具体做法如下
(5)同一实体间的多对多联系
必须为这个联系’单独建立一个关系。该关系至少应包含被它联系的双方实体的主关键字’,如果联系有属性,也要纳入这个关系。由于这个联系’只涉及一个实体,所以加入的实体的主关键字不能同名。
(6)两个以上实体间多对多联系
必须为这个联系’单独建立一个关系。该关系至少应包含被它联系的各个实体的主关键字’,若联系有属性,也要纳入这个关系。
图书销售管理系统数据库的概念结构可以转换成关系型数据库中的多个表,表82一表86为其中的5个,其余表请读者自行完成。
8.2.3逻辑结构设计关系模型的优化
在概念结构转换成逻辑结构之后,虽然逻辑结构能够基本满足数据存储和管理的要求,但对于数据的维护和应用系统的开发仍有不便,所以需要对转换的结果进行优化,逻辑结构优化的方法是运用关系规范化理论进行规范化。
运用关系规范化理论对概念结构转换产生的关系模式进行优化,具体步骤如下①确定每个关系模式内部各个属性之间的数据依赖以及不同关系模式属性之间的数据依赖。②对各个关系模式之间的数据依赖进行最小化处理,消除冗余的联系。
③确定各关系模式的范式等级。
④按照需求分析阶段得到的处理要求,确定要对哪些模式进行合并或分解。
⑤为了提高数据操作的效率和存储空间的利用率,对上述关系模式进行适当的修改\调整和重构。
8.2.3逻辑结构设计注意按照规范化理论对逻辑结构进行优化后,逻辑结构一般达到三范式的要求即可,不必过于强调逻辑结构的冗余。在实际数据库应用系统的开发过程中,由于应用系统的开发要求,数据库在完成规范化设计之后,有时还会再次对数据进行调整,适度地打破规范化理论的要求,以方便应用系统的开发,但此时应特别注意数据库中数据的冗余问题,需要采用一些技术手段防止出现数据不一致问题。
8.2.3逻辑结构设计设计用户子模式
全局关系模型设计完成后,还应根据局部应用的需求,结合具体DBMS的特点,设计用户的子模式。设计子模式时应注意考虑用户的习惯和方便,主要包括:①使用更符合用户习喷的别名。
②可以为不同的用户定义不同的视图,以保证系统的安全性。③可将经常使用的复杂的查询定义为视图,简化用户操作。
8.2.4物理结构设计数据库的物理设计是指根据数据库的逻辑结构在指定的DBMS上建立起适合应用环境的物理结构。物理设计通常分为两步:
1.确定数据库的物理结构
在关系型数据库中,确定数据库的物理结构主要指确定数据的存储位置和存储结构,包括确定关系、索引、日志、备份等数据的存储分配和存储结构,确定系统配置等工作。
2.物理结构进行评价
在数据库物理结构设计过程中,应对时间效率、空间效率、维护开销和各种用户要求进行权衡,从多种设计方案中选择一个较优的方案。评价数据库物理结构主要是定量估算各种方案的存储空间、存取时间和维护代价,对估算的结果进行权衡,如果有必要,还需修改数据库的设计。
8.2.4物理结构设计数据库实施,完成数据库设计之后,需要进行实施,以建立真实的数据库。实施阶段的工作主要有:①建立数据库结构;
②数据载入;
③应用程序的开发;
④数据库试运行。
建立数据库结构时,主要应用选定的DBMS支持的DDL语言,把数据库的各组成部分建立起来。
将数据加载到数据库中是一项工作量很大的任务。一般数据库系统中的数据来自各部门,数据的组织形式、结构都与新设计的数据库系统有差距,组织数据录入时,新系统对数据有一定的完整性控制,应用程序也要尽可能考虑数据的合理性。
8.2.4物理结构设计向数据库输入一部分数据后,需要对数据库系统进行联合调试,也就是数据库的试运行。试运行的主要任务是执行对数据库的各种操作,测试系统的各项功能是否满足设计要求,如果不能满足要求,则要对系统进行修改和调整,直到系统满足《用户需求规格说明书》。
在试运行阶段应注意:
①按照软件工程方法设计软件系统时,由于在开发过程中用户需求可能发生变更,而且数据库的设计开发一般比应用软件的开发先完成,应用软件在开发过程中也可能要求变更数据库设计,所以数据库的试运行只需输入小部分数据即可。
②在数据库试运行阶段,数据库系统和应用软件系统都处于不稳定阶段,因此应注意数据的备份和恢复工作,以便发生故障后,能快速地恢复数据库。
8.2.6数据库运行维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第10课 小扇隐山水教学设计小学劳动四年级下册湘教版《劳动教育》
- 食品药品案审会工作制度
- 饭店店员工作制度范本大全
- 骨料生产线工作制度范本
- 高危孕产妇救治工作制度
- 高校实验室安全工作制度
- 高校食堂转手工作制度汇编
- 鹤壁市朝九晚五工作制度
- 黑龙江河湖警长工作制度
- 企业经营行为规范诚信承诺书范文3篇
- 机电一体化项目教程 课件 导言、任务1-7 传感器技术-加盖拧盖单元
- 网络安全与信息防护
- 化学品库风险告知牌
- tyd220电容式电压互感器说明书
- 地下管线测量技术方案
- 动产融资金融仓平台技术白皮书
- 生物统计学5课件
- SB/T 10739-2012商用洗地机技术规范
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
- 五年级下册猜字谜-课件
- 《三年级》数学全集举一反三课件奥数
评论
0/150
提交评论