版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 数据库设计,数据库设计环境一般有两种情况: (1)软件(DBMS)和硬件未确定的情况,这样的环境只能从用户的应用环境出发,先进行数据库设计然后再提出软件(包括DBMS)需求和硬件需求; (2)计算机软件与硬件环境以及DBMS已经确定,在此环境下进行数据库设计工作。这种情况属于普遍情况。,6.1数据库设计的重要性,(1) 数据库设计直接影响软件编程质量, 从而导致开发走很多不应该走的弯路. 反过来讲, 如果设计的好,可以提高软件编程效率. (2) 数据库设计的好与差直接影响系统的维护性能。,数据库设计分为四个阶段: (1) 需求分析阶段; (2) 概念设计阶段; (3) 逻辑设计阶段;
2、(4) 物理设计阶段。,需求分析阶段数据库设计的任务是: 1. 调查和搜集客户需求。 在调查过程中,可以根据不同的问题和条件,使用不同的调查方法。常用的调查方法有: (1) 跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确的理解用户的需求,但比较耗费时间。 (2) 开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。 (3) 请专人介绍。 (4) 询问。对某些调查中的问题,可以找专人询问。 (5) 设计调查表,根据表的内容与用户交流或者请用户填写(见表61)。如果调查表设计得合理,这种方法是很有效,也易于为用户接受。 (6) 查阅记录。
3、查阅与原系统有关的数据记录。,6.2 需求分析阶段的设计,表 6-1 需求调查表,2. 了解企业业务情况,包括手工业务流程,输出什么报表等,搞清楚输入的数据是哪些,报表输出的格式是什么。让用户可以提供一些报表样本。 3 创建数据字典。 4 创建数据流图。,6.2.1 数据流图示例,某仓库管理系统按以下步骤进行信息处理,试画出数据流图。 (1) 保管员根据当日的出库单和入库单通过出库处理和入库处理分别将数据输入到“出库流水帐”和“入库流水帐”,并修改“库存台帐”。 (2) 根据库存台帐由统计、打印程序输出库存日报表。 (3) 需要查询时,可利用查询程序在输入查询条件后,到库存台帐去查找,显示查询
4、结果。,例子,车间填写领料单给仓库要求领料,库长根据用料计划审批领料单,未批准的退回车间,已批准的领料单送到仓库保管员处,由他查阅库存帐。若帐上有货则通知车间前来领料,否则将缺货通知采购人员。,6.2.2数据字典示例,下面以实例说明数据字典的应用。 (1)数据流条目: 例如, 某图书管理系统,其功能包括图书的购入、借阅、归还和注销。 在此系统中,入库单、借书单、还书单、注销单等都是数据流,现对“借书单”说明如下: 借书单=读者编号+分类目录号+借阅日期 (2)数据存储条目 在上例的图书管理系统中,“读者文件”是个数据存储,对它说明如下: 文件名:借书单 组成:读者编号+姓名+所在部门 数据存储
5、组织:按读者编号递增顺序排列 存储方式:关键码,(3)数据元素(即数据项)条目 在上例的图书管理系统中,“读者编号”是个数据项,对它说明如下: 数据元素名称:读者编号 类型:数字(连续值) 长度:8位 取值范围: “00000001” “99999999” (4)处理条目 处理条目就是“处理小说明”。一般应单独列出。,6.3 概念设计阶段,6.3.1 概念模型的表示方法 通常我们用E-R图来表示数据库的概念模型。E-R图的构成要素为:实体、属性和联系。在E-R图中的基本图形符号为:,例子,如果要表示图书实体的属性关系如图6-2(a)所示的E-R图;要表示作者实体的属性关系如图6-2(b)所示的
6、E-R图;要表示作者实体与图书实体之间联系如图6-2(c)所示的E-R图。,6.3.2 E-R图的绘制步骤,1. 进行数据分析与抽象,确定实体、属性和联系。 2. 设计局部E-R图,也称用户视图。 3. 综合各局部E-R图,形成总的E-R图,即用户视图的集成。,1数据分析与抽象,数据抽象方法 : (1)分类。定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为,它抽象了对象值和型之间的“is member of”的语义,在E-R模型中,实体型就是这种抽象。 (2)聚集。定义某一类型的组成成分,它抽象了对象内部类型和成分之间“is part of”的语义,在E-R模型中若
7、干属性的聚集组成了实体型,就是这种抽象。 (3)概括。定义类型之间的一种子集联系,它抽象了类型之间的“is subset of”的语义,概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象(图6-3)。,图6-4 子类继承超类,如何抽象实体和属性,区分实体与属性一般原则是: 实体:是一个有着一系列显著的、易辨认的属性的客观对象。现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是“is member of”的关系。 属性:对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是“is part of的关系。例:学号、姓名、专业、年级等可以抽象为学生实
8、体的属性。其中学号为标识学生实体的码。,例子,职称通常作为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,这时把职称作为实体来处理会更合适些(图6-5)。,例子,仓库,货物和职工,货物存放在仓库,职工管理仓库。所以仓库,货物和职工分别作为实体比较好(图6-6)。,例子,教学管理系统应对学校中的教师,学生,课程进行管理, 掌握课程设置和教师配备情况以及学生成绩的管理。 通过需求分析后, 可知该系统涉及的实体包括: 教师、系、学生和课程。 对于每一个实体集, 根据系统输出数据的要求, 抽象出如下的实体与属性: )系(系号,系名,专业,职称,性别,年龄) )
9、教师(教师号,姓名,性别,出生日期,专业) )学生(课程号, 课程名,学时,类别),2确定局部E-R图,对于学校来说,作为一个系统内的实体集, 这些实体间并不完全相互独立, 而存在一定联系, 我们对实体间的联系进行分析: 假定在一个学校内:1个系有多名教师, 而一个教师只能属于一个系, 因此系和教师之间是1对多的关系;1个系有多名学生, 而一个学生只能属于一个系, 因此系和学生之间是1对多的关系;1个教师可以讲多门课程, 而一个课程可以由多个学生讲, 因此课程和教师之间是多对多的关系;1个学生可以选修多门课程, 而一门课程师可以被多个学生选修, 因此学生和课程之间是多对多的关系; 局部的E-R
10、图如图6-7和图6-8 所示。,3全局E-R图的集成,(1)一次集成 一次集成多个分E-R图,通常用于局部视图比较简单的情况下。 (2)逐步累积式 首先集成两个局部视图(通常是比较关键的两个局部视图),然后每次将一个新的局部视图集成进来。 (3)首先设计各个局部E-R图,最后整理合并成一个完整的全局E-R图(图6-9)。,在合并局部E-R图时需要注意如下几点:,(1)消除不必要的冗余实体、属性和联系。 例6-7 冗余属性。 教师工资单中包括该教师的基本工资、各种补贴、应扣除的房租水电费以及实发工资。由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时根据基本工资、各种补贴、应
11、扣除的房租水电费数据临时生成。 例6-8 冗余属性。 学生实体中的年龄属性可以由出生日期推算出来,属于冗余数据,应该去掉。这样不仅可以节省存储空间,而且当某个学生的出生日期有误,进行修改后,无须相应修改年龄,减少了产生数据不一致的机会。 学生:学号,姓名,出生日期,所在系,年级,平均成绩 例6-9 冗余属性。 学生实体中的平均成绩可以从选修联系中的成绩属性中推算出来。,()解决各分E-R图之间的冲突。 属性冲突: 属性冲突有两类 :属性域冲突和属性值冲突。 A)属性域冲突是指属性值的类型、取值范围或取值集合不同。 例6-11 属性域冲突。 对于学生来讲,由于学号是数字,因此某些部门(即局部应用
12、)将学号定义为整数形式,而由于学号不用参与运算,因此另一些部门(即局部应用)将学号定义为字符型形式。 例6-12 属性域冲突。 某些部门(即局部应用)以出生日期形式表示学生的年龄,而另一些部门(即局部应用)用整数形式表示学生的年龄。 B)属性值冲突指属性取值单位在不同的E-R图中表示不一致。 例6-13 属性值冲突学生的身高,有的以米为单位,有的以厘米为单位,有的以尺为单位。,2)命名冲突 命名冲突有两类:同名异义和异名同义。 A)同名异义:不同意义的对象在不同的局部应用中具有相同的名字 例6-14 同名异义。 局部应用C将教室称为房间 ,局部应用D中将学生办公室称为房间 。 B)异名同义(一
13、义多名):同一意义的对象在不同的局部应用中具有不同的名字 。 例6-15 异名同义。 -局部应用A中将宿舍成为寝室,局部应用B将宿舍称为房间。 -有的部门把教科书称为课本 ,有的部门则把教科书称为教材 。命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突更为常见。,3)结构冲突 结构冲突有三类: A)同一对象在不同应用中具有不同的抽象。例如课程在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。 B) 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。 C) 实体之间的联系在不同局部视图中呈现不同的类型。,例6-16 同一对象在不同应用中具有不同
14、的抽象。 “课程”在某一局部应用中被当作实体 ,在另一局部应用中则被当作属性 。解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。变换时要遵循两个准则。 例6-17 同一实体在不同局部视图中所包含的属性不 完全相同,或者属性的排列次序不完全相同。 解决方法:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序。 产生原因:不同的局部应用关心的是该实体的不同侧面。,把图6-12,6-13,6-14中,实体“学生”在不同的局部E-R中属性不完全相同,合并后为图6-15 。,(3)根据情况修改或重构E-R图 局部E-R图经过合并生成的是初步E-R图。之所以称其为
15、初步E-R图,是因为其中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除。修改、重构初步E-R图以消除冗余,主要采用分析方法。除此外,还可以用规范化理论来消除冗余。,例6-5中 局部图6-7,6-8集成后的全局的E-R图见图6-17 所示。,6.4 逻辑设计阶段,逻辑设计阶段的任务是设计数据库的逻辑结构, 将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。 在此期间应该选择
16、最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。,6.4.1 逻辑模型的转换规则,1 一个实体型转换为一个关系模式。 例如:以上个单元的教学管理系统的E-R图为基础,有如下的关系模式: )系(系别号,系名,专业, 系主任的教师号) )教师(教师号,姓名,性别,出生日期,所在系别号,职称,职务) )学生(学号,姓名,出生日期,籍贯,性别,课程号, 系别号,专业) 4)课程(课程号,课程名,任课教师号),2对于实体间的联系则有以下不同的情况 (1)1:1联系。 1)转换为一个独立的关系模式。 例如:一个国家只有一个国旗,一个国旗只对应于一个国家,它们是一多一关系,它们的联系名是“
17、对应”关系,转换为一个独立的关系模式,有如下的关系模式: 对应(国家名,国旗名) 2)与任意一端对应的关系模式合并。 例如:比如把联系加到 “国旗”端,有如下的关系模式: 国旗(国旗名,颜色,设计人,启用日期,国家名),(2)一个1:N联系可以转换为一个独立的关系模式,也可以与N段对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。 1)1端和n端分别可以转换为一个独立的关系模式,然后与这2个实体的“联系”相连的各实体的关键字以及联系本身的属性也转换为一个关系的属性,而此关系的关键字为n端实体的关键字。
18、。 2)也可以与n端对应的关系模式合并为一个关系模式。 (3)一个M:N联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。,(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。多元关系的外模式通过对这些基本的实体建立有效的视图模式得到。 (5)实体分类的关系模式可通过在子类中加入父类(超类)码。 (6) 概括类的分类通过垂直分解成几张数据库表,在通过联结得到所需的语义实体。 (7)聚集的转换:通过引入基本表进行转换。 (8)具
19、有相同码的关系模式可合并:形成了一般的数据模型后,下一步就是向特定的RDBMS的模型转换。 3同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。,6.4.2 模式转换示例,这个E-R图中有四个实体:系,学生,教师,课程。 (1)系和学生,1:1关系。 (2)系和教师,1:N关系。 (3)教师和课程,N:M关系。 (4)学生和课程,N:M关系。,按照前面的转换规则把E-R图转换为数据库的关系模式如下(下画线的是主键): (1)系(系别号,系名,专业, 系主任的教师号) 主键:系别号 。 (2)教师(教师号,姓名,性别,出生日期,系别号,职称,职务,讲授的课程号) 主键:教师号 , 外键:系别号。 (3)学生(学号,姓名,出生日期,籍贯,性别,选修的课程号, 系别号,专业,注册时间) 主键:学号 ,外键:系别号。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务风企业工作计划总结模板
- 169红色卡通小朋友背景的“迎战期末顶峰相见”期末考试动员会模板下载
- (三模)豫西北教研联盟(平许济洛)2025-2026学年高三3月第三次质量检测历史试卷(含答案)
- 2025《祝福》中祥林嫂的死亡原因探究课件
- 2025《答司马谏议书》政治斗争实质课件
- 空压机值班员岗位责任制培训课件
- 兽医微生物学主要动物病菌速记200条口诀
- 2026年江苏省名校联盟高三一模高考模拟政治试卷(答案详解)
- 2026年广州体育职业技术学院单招综合素质考试题库含答案详解
- 2026年广东科学技术职业学院单招职业适应性测试题库含答案详解(研优卷)
- AI在人力资源招聘中的应用【课件文档】
- 2026年郑州市检验检测有限公司公开招聘19人笔试模拟试题及答案解析
- 妇科恶性肿瘤研究进展2026
- 以梦为马 不负韶华2026新年高中开学第一课
- 2025北京市东城区卫生健康委所属事业单位第一次公开招聘396人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2026年春季第二学期学校德育主题活动工作安排表
- 2026年1月浙江省高考(首考)化学试题(含标准答案)
- 《道德与法治》六年级下《学会宽容》课件
- 中国国家政治权力结构
- 行 政 法 学课件
- 中药药理学(全套课件)
评论
0/150
提交评论