




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
李雁翎 编著 高等教育出版社,数据库技术及应用 Visual FoxPro,第2章 数据库设计,本章要点,掌握数据库设计的任务、方法与步骤,掌握需求分析阶段任务,掌握概念结构设计方法,掌握实体-联系模型设计方法,掌握逻辑结构设计方法,掌握关系数据库库最常用的术语和基本概念,了解物理结构设计内容,了解数据库实施内容。,2.1 数据库设计概述,2.1.1 数据库设计的任务,2.1 数据库设计概述,2.1.1 数据库设计的任务,数据库设计的任务主要就是设计数据库模式,既设计数据库系统体系结构中三级模式的模式结构,它能够概括具体的数据库应用系统的数据库全局的数据结构,它能够反映使用本系统所有用户的数据视图。一个良好的数据库模式应具有最小的数据冗余,在一定范围内实现数据共享特性。数据库模式一经设计完成,通常情况下是不轻易改动的,它不仅作为应用程序存取数据、处理数据的数据结构参照,还要成为实现数据物理存储的数据结构定义的依据,2.1.2 数据库设计的步骤,2.1 数据库设计概述,2.1.2 数据库设计的步骤,数据库设计是综合运用计算机软、硬件技术,结合应用系统领域的知识和管理技术的系统工程。 数据库设计归纳为如下几个阶段: 1.需求分析阶段 2.概念结构设计阶段 3.逻辑结构设计阶段 4.物理结构设计阶段 5.实施阶段 6.使用与维护阶段,2.2 需求分析,2.2 需求分析,1.需求分析的任务 (1)信息要求:了解用户将从数据库中获得信息的内容、性质,数据库应用系统用到的所有基础信息类型及其联系,了解用户希望从数据库中获得哪些类型的信息,数据库中需要存储哪些数据。 (2)处理要求:了解用户希望数据库应用系统对数据进行什么处理,对各种数据处理的响应时间的要求,对各种数据处理的频率的要求,对数据处理方式的要求是批处理还是联机处理等。 (3)安全性要求:了解用户对数据库中存放的信息的安全保密要求,哪些信息是需要保密的,哪些信息是不需要保密的。 (4)完整性要求:了解用户对数据库中存放的信息应满足什么样的约束条件,什么样的信息在数据库中才是正确的数据。,2.2 需求分析,2.需求分析具体做法 (1)调查数据库应用系统所涉及的用户的各部门的组成情况,各部门的职责,各部门的业务及其流程。确定系统功能范围,明确哪些业务活动的工作由计算机完成,哪些由人工来做。 (2)了解用户对数据库应用系统的各种要求,包括信息要求、处理要求、安全性和完整性要求。如各个部门输入和使用什么数据,如何加工处理这些数据,处理后的数据的输出内容、格式及发布的对象等。 (3)深入分析用户的各种需求,并用数据流图描述整个系统的数据流向和对数据进行处理的过程,描述数据与处理之间的联系。 (4)分析系统数据,用数据字典描述数据流图中涉及的各数据项、数据结构、数据流、数据存储和处理过程。,2.3 概念结构设计,2.3.1 实体-联系模型,2.3 概念结构设计,2.3.1 实体-联系模型,实体-联系模型(Entity Relationship Model)简称E-R模型。 1.实体(Entity):客观存在并相互区别的“事物”。 2.属性(Attribute):实体有若干个特性,每一个特性称为实体一个属性。 3.实体型(Entity Type):用实体名和属性名称集来描述同类实体,称为实体型。 4.实体集(Entity Set):实体集是若干个同类实体的集合。 5. 码(Key):如果某个属性或某个属性集的值能够唯一地标识出实体集中的某一个实体,该属性或属性集就可称为码(关键字)。作为码的属性或属性集又称为主属性,反之为非主属性。 6.联系(Relationship):联系是两个或两个以上的实体集间的关联关系的描述。,2.3.2 实体-联系图,2.3 概念结构设计,2.3.2 实体-联系图,E-R模型是用E-R图来描述的,即通过图形描述实体集、实体属性和实体集之间联系的图形。 在E-R模型中,数据的结构被表示为“实体-联系”图(E-R图),图中有3个主要的元素,即实体集、属性和联系。 其中: (1)“矩形”框用于表示实体集; (2)“椭圆形”框用于表示实体集中实体的公共属性; (3)“菱形”框用于表示实体集之间的联系。,2.3.3 实体集联系类型,2.3 概念结构设计,2.3.3 实体集联系类型,实体集的联系类型有如下3种类型: 1.一对一联系 设有实体集A与实体集B,如果A中的一个实体,至多与B中的一个实体关联,反过来,B中的一个实体,至多与A中的一个实体关联,称A与B是“一对一”联系类型,记作(1:1)。 2.一对多联系 设有实体集A与实体集B,如果A中的一个实体,与B中可以有多个实体关联,反过来,B中的一个实体,至多与A中的一个实体关联,称A与B是“一对多”联系类型,记作(1n)。 3.多对多联系 设有实体集A与实体集B,如果A中的一个实体,与B中可以有多个实体关联,反过来,B中的一个实体,与A中可以有多个实体关联,称A与B是多对多联系类型,记作(mn)。,例:教学管理系统E-R图设计。某学校的教学管理系统经分析应包括以下内容: (1)学生:学号、姓名、性别、年龄。 (2)班级:班级号、班级名。 (3)教师:教师号、姓名、性别、职称、电话号码和家庭地址。 (4)课程:课程号、课程名、学分、学时。 (5)专业:专业号、专业名。 (6)系:系号、系名。,2.3.4 E-R模型的设计实例,每个实体及其属性如图所示,教学管理系统各实体间的联系:,图3-7,2.3.4 E-R模型的设计实例,2.3 概念结构设计,E-R模型的设计实例,“人才档案管理系统”是一个包含人才档案信息管理、人才需求信息管理和求职期望的综合信息管理系统。 设计这样一个综合系统E-R模型,由于实体集个数较多,实体集中实体公共属性较多,实体集之间的相互关联关系复杂,绘制一个E-R模型图相对复杂,通常采用的设计思想是:“化全局”为“局部”,再做“局部集成”。 “人才档案管理系统”E-R模型具体设计步骤如下: (1)绘制“人才档案管理系统”总体功能框图; (2)绘制“人才档案管理系统”每个子系统的E-R模型图; (3)绘制“人才档案管理系统”几个子系统的E-R模型图的集成图。,2.3.4 E-R模型的设计实例,2.3 概念结构设计,(1) “人才档案管理系统”总体功能框图如下:,2.3.4 E-R模型的设计实例,2.3 概念结构设计,(2) “人才档案信息管理子系统” 系统的E-R图如下:,2.3.4 E-R模型的设计实例,2.3 概念结构设计,(3) “人才档案管理系统”几个子系统的E-R模型图的集成图如下:,2.4 逻辑结构设计,2.4.1 关系模型,2.4 逻辑结构设计,2.4.1 关系模型,数据模型由数据结构、数据操作和完整性约束3部分组成。 1.关系模型数据结构 用二维表形式表示实体集的数据结构模型,称之为关系(Relation)。 (1)在一个关系中,每一个数据都可看成独立的分量(Component)。 (2)在一个关系中,每一横行称为一个元组(Tuple)。 (3)在一个关系中,每一竖列称为一个属性(Attribute)。 (4)在一个关系中,有一个关系名,同时每个属性都有一个属性名。通常把用于描述关系结构的关系名和属性名的集合称为关系模式(Schema) (5)码(键)是关系模型中的一个重要概念。 (6)由关系模型(二维表)建立的数据库,称为关系数据库。,2.4.1 关系模型,2.4 逻辑结构设计,2.关系模型的数据操作 关系模型的数据操作是集合操作性质的,即数据操作的对象和操作结果均为若干个元组,或属性集合。关系模型的数据操作主要是查询、插入、删除和修改。 3.关系模型的完整性约束 (1)用户自定义完整性:用户自行定义的删除约束、更新约束、插入约束。 (2)实体完整性:对关系中元组的唯一性约束,也就是对组成主键的属性的约束,即关系(表) 中组成主键的属性不能是空值(NULL)。 (3)参照完整性:是对关系数据库中建立关联关系的关系间数据参照引用的约束,也就是对组成外键的属性的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL(空)值。,2.4.1 关系模型,2.4 逻辑结构设计,4.关系模型的主要特点 (1)关系中每一分量不可再分,是最基本的数据单位。 (2)每一列的分量是同属性的,列数根据需要而设,且各列的顺序是任意的。 (3)每一行由一个实体的诸多属性构成,且各行的顺序可以是任意的。 (4)一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。,2.4.2 关系的规范化,2.4 逻辑结构设计,2.4.2 关系的规范化,1.数据库设计中的问题 如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。,2.4.2 关系的规范化,2.4 逻辑结构设计,2.4.2 关系的规范化,2.函数依赖 函数依赖(Function Dependency)是关系规范化的主要概念,是描述了属性之间的一种联系。 (1)函数依赖定义 定义2.1:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。对于R(U)的任意一个可能的关系r,若有r的任意两个元组,在X上的属性值相同,则在Y上的属性值也一定相同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。,例: 求A、B、C的函数依赖关系,2.4.2 关系的规范化,2.4 逻辑结构设计,(2)完全函数依赖和部分函数依赖定义 定义2.2:在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y部分函数依赖于X,记作 , 否则称Y完全函数依赖于X,记作 。 由定义2.2可知,当X是单属性时,由于X不存在任何真子集,如果XY,则 。 (3)传递函数依赖定义 定义2.3:在关系模式R(U)中,如果XY,Y X,且Y X,YZ,则称Z传递函数依赖于X。,2.4.2 关系的规范化,2.4 逻辑结构设计,3.关系规范化 关系规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以化分为6个等级5个范式,分别称为第一范式(1NF),第二范式(2NF),第三范式(3NF),修正的第三范式(BCNF),第四范式(4NF),第五范式(5NF),NF是(Normal Form)的缩写。,2.4.2 关系的规范化,2.4 逻辑结构设计,关系规范化的前三个范式原则如下: (1)第一范式:若一个关系模式R的所有属性都是不可再分的基本数据项,则该关系模式属于第一范式(1NF)。 (2)第二范式:若关系模式R属于1NF,且每个非主属性都完全函数依赖于码,则该关系模式属于2NF,2NF不允许关系模式中的非主属性部分函数依赖于码。 例子:SC(学号,姓名,年龄,课程号,课程名,学分,成绩) S(学号,姓名,年龄) C(课程号,课程名,学分) G(学号,课程号,成绩),2.4.2 关系的规范化,2.4 逻辑结构设计,(3)第三范式:若关系模式R属于1NF,且每个非主属性都不传递依赖于码,则该关系模式属于3NF。 例子:SD(学号,姓名,年龄,系号,系名,系主任) S(学号,姓名,年龄) D(系号,系名,系主任),2.4.2 关系的规范化,2.4 逻辑结构设计,4.模式分解 对关系模式进行分解,要符合“无损连接”和“保持依赖”的原则。 (1)无损连接:当对关系模式R进行分解时,R元组将分别在相应属性集进行投影而产生新的关系。 (2)保持依赖:当对关系模式R进行分解时,R的函数依赖集也将按相应的模式进行分解,如果分解后的总的函数依赖集与原函数依赖集保持不变,则称为保持函数依赖。,2.4.3 E-R模型与关系模型的转换,2.4 逻辑结构设计,2.4.3 E-R模型与关系模型的转换,E-R模型转换成关系模型,就是将实体型和实体型间的联系转换为关系模式,确定关系模式的属性和码,转换过程中要做到不违背关系的完整性约束,尽量满足规范化原则。 1.概念模型相关的定义与关系模型的定义对应关系如下表所示:,2.4.3 E-R模型与关系模型的转换,2.4 逻辑结构设计,2.概念模型转换关系模型的规则 (1)一个实体型转换为一个关系模式。 (2)实体的属性就是关系的属性,实体的码就是关系的码。 (3)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 (4)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 (5)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 (6)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 (7)具有相同码的关系模式可合并。,Girl,Gname,Bage,Bname,Boy,In love,Gclass,Gage,Bclass,1,1,How Long,S,Sno,Dname,Dno,Dept,In,Sage,Sname,Dph,n,1,S,Sno,Cname,Cno,C,SC,Sage,Sname,Grade,Hour,m,n,2.4.3 E-R模型与关系模型的转换,2.4 逻辑结构设计,“人才档案管理系统”E-R模型转换成关系模型: 人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,工资现状,工作简历,照片) 成就成果(成果名称,成果类别,成果出处,编号) 专业特长(专业,毕业学校,专业年限,职称,语种,外语水平,编号) 联系方式(编号,工作单位,宅电,手机,E-mail,邮编,通讯地址) 求职期望(编号,工作地区,岗位编号,工作类型,企业性质,希望工资,其它要求) 人才需要(岗位编号,需求单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 备选公益岗位发言稿
- 学生开学典礼发言稿
- 时间的脚印微课课件
- 时间序列课件王燕
- 金蝶销售流程培训
- 2025版大型企业总部办公室设备搬迁与配置服务合同
- 2025版跨境电商玩具出口合同文本
- 2025版电子商务平台用户体验优化托管服务合同
- 二零二五年度产品发布会速记工作及保密协议
- 二零二五年度商业综合体电梯购置、安装及运营合同
- 留疆战士考试试题及答案
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 楼板下加钢梁加固施工方案
- 智能渔业养殖系统开发合同
- 组织行为学复习纲要冬课件
- TGDMDMA 0026-2023 牙科种植用导板
- 医院发生火灾的应急预案及处理流程
- LY/T 1828-2009黄连木栽培技术规程
- X射线衍射课件(XRD)
- 常见皮肤病的种类及症状图片、简介大全课件
- 吊篮拆除安全技术交底方案
评论
0/150
提交评论