《数据库技术及应用第二章.ppt》由会员分享,可在线阅读,更多相关《数据库技术及应用第二章.ppt(51页珍藏版)》请在三一办公上搜索。
1、李雁翎 编著高等教育出版社,数据库技术及应用 Visual FoxPro,第2章数据库设计,本章要点,掌握数据库设计的任务、方法与步骤,掌握需求分析阶段任务,掌握概念结构设计方法,掌握实体-联系模型设计方法,掌握逻辑结构设计方法,掌握关系数据库库最常用的术语和基本概念,了解物理结构设计内容,了解数据库实施内容。,2.1 数据库设计概述,2.1.1 数据库设计的任务,2.1 数据库设计概述,2.1.1 数据库设计的任务,数据库设计的任务主要就是设计数据库模式,既设计数据库系统体系结构中三级模式的模式结构,它能够概括具体的数据库应用系统的数据库全局的数据结构,它能够反映使用本系统所有用户的数据视图
2、。一个良好的数据库模式应具有最小的数据冗余,在一定范围内实现数据共享特性。数据库模式一经设计完成,通常情况下是不轻易改动的,它不仅作为应用程序存取数据、处理数据的数据结构参照,还要成为实现数据物理存储的数据结构定义的依据,2.1.2 数据库设计的步骤,2.1 数据库设计概述,2.1.2 数据库设计的步骤,数据库设计是综合运用计算机软、硬件技术,结合应用系统领域的知识和管理技术的系统工程。数据库设计归纳为如下几个阶段:1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.物理结构设计阶段5.实施阶段6.使用与维护阶段,2.2 需求分析,2.2 需求分析,1.需求分析的任务(1)信息要求:了
3、解用户将从数据库中获得信息的内容、性质,数据库应用系统用到的所有基础信息类型及其联系,了解用户希望从数据库中获得哪些类型的信息,数据库中需要存储哪些数据。(2)处理要求:了解用户希望数据库应用系统对数据进行什么处理,对各种数据处理的响应时间的要求,对各种数据处理的频率的要求,对数据处理方式的要求是批处理还是联机处理等。(3)安全性要求:了解用户对数据库中存放的信息的安全保密要求,哪些信息是需要保密的,哪些信息是不需要保密的。(4)完整性要求:了解用户对数据库中存放的信息应满足什么样的约束条件,什么样的信息在数据库中才是正确的数据。,2.2 需求分析,2.需求分析具体做法(1)调查数据库应用系统
4、所涉及的用户的各部门的组成情况,各部门的职责,各部门的业务及其流程。确定系统功能范围,明确哪些业务活动的工作由计算机完成,哪些由人工来做。(2)了解用户对数据库应用系统的各种要求,包括信息要求、处理要求、安全性和完整性要求。如各个部门输入和使用什么数据,如何加工处理这些数据,处理后的数据的输出内容、格式及发布的对象等。(3)深入分析用户的各种需求,并用数据流图描述整个系统的数据流向和对数据进行处理的过程,描述数据与处理之间的联系。(4)分析系统数据,用数据字典描述数据流图中涉及的各数据项、数据结构、数据流、数据存储和处理过程。,2.3 概念结构设计,2.3.1 实体-联系模型,2.3 概念结构
5、设计,2.3.1 实体-联系模型,实体-联系模型(Entity Relationship Model)简称E-R模型。1.实体(Entity):客观存在并相互区别的“事物”。2.属性(Attribute):实体有若干个特性,每一个特性称为实体一个属性。3.实体型(Entity Type):用实体名和属性名称集来描述同类实体,称为实体型。4.实体集(Entity Set):实体集是若干个同类实体的集合。5.码(Key):如果某个属性或某个属性集的值能够唯一地标识出实体集中的某一个实体,该属性或属性集就可称为码(关键字)。作为码的属性或属性集又称为主属性,反之为非主属性。6.联系(Relation
6、ship):联系是两个或两个以上的实体集间的关联关系的描述。,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
7、与实体集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)学生:学号
8、、姓名、性别、年龄。(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模型图相
9、对复杂,通常采用的设计思想是:“化全局”为“局部”,再做“局部集成”。“人才档案管理系统”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模型
10、图的集成图如下:,2.4 逻辑结构设计,2.4.1 关系模型,2.4 逻辑结构设计,2.4.1 关系模型,数据模型由数据结构、数据操作和完整性约束3部分组成。1.关系模型数据结构 用二维表形式表示实体集的数据结构模型,称之为关系(Relation)。(1)在一个关系中,每一个数据都可看成独立的分量(Component)。(2)在一个关系中,每一横行称为一个元组(Tuple)。(3)在一个关系中,每一竖列称为一个属性(Attribute)。(4)在一个关系中,有一个关系名,同时每个属性都有一个属性名。通常把用于描述关系结构的关系名和属性名的集合称为关系模式(Schema)(5)码(键)是关系模型
11、中的一个重要概念。(6)由关系模型(二维表)建立的数据库,称为关系数据库。,2.4.1 关系模型,2.4 逻辑结构设计,2.关系模型的数据操作 关系模型的数据操作是集合操作性质的,即数据操作的对象和操作结果均为若干个元组,或属性集合。关系模型的数据操作主要是查询、插入、删除和修改。3.关系模型的完整性约束(1)用户自定义完整性:用户自行定义的删除约束、更新约束、插入约束。(2)实体完整性:对关系中元组的唯一性约束,也就是对组成主键的属性的约束,即关系(表)中组成主键的属性不能是空值(NULL)。(3)参照完整性:是对关系数据库中建立关联关系的关系间数据参照引用的约束,也就是对组成外键的属性的约
12、束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL(空)值。,2.4.1 关系模型,2.4 逻辑结构设计,4.关系模型的主要特点(1)关系中每一分量不可再分,是最基本的数据单位。(2)每一列的分量是同属性的,列数根据需要而设,且各列的顺序是任意的。(3)每一行由一个实体的诸多属性构成,且各行的顺序可以是任意的。(4)一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。,2.4.2 关系的规范化,2.4 逻辑结构设计,2.4.2 关系的规范化,1.数据库设计中的问题 如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常
13、和删除异常。,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)
14、中,如果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)
15、,第五范式(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)第三范式:若关系模
16、式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
17、.4.3 E-R模型与关系模型的转换,E-R模型转换成关系模型,就是将实体型和实体型间的联系转换为关系模式,确定关系模式的属性和码,转换过程中要做到不违背关系的完整性约束,尽量满足规范化原则。1.概念模型相关的定义与关系模型的定义对应关系如下表所示:,2.4.3 E-R模型与关系模型的转换,2.4 逻辑结构设计,2.概念模型转换关系模型的规则(1)一个实体型转换为一个关系模式。(2)实体的属性就是关系的属性,实体的码就是关系的码。(3)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换
18、为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(4)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(5)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(6)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关
19、系的属性,而关系的码为各实体码的组合。(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模型转换成关系模型:人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,工资现状,工作简历,照片)成就成果(成果名称,
20、成果类别,成果出处,编号)专业特长(专业,毕业学校,专业年限,职称,语种,外语水平,编号)联系方式(编号,工作单位,宅电,手机,E-mail,邮编,通讯地址)求职期望(编号,工作地区,岗位编号,工作类型,企业性质,希望工资,其它要求)人才需要(岗位编号,需求单位,联系人,电话)岗位类别(岗位编号,岗位类别)需要强调的是:以上各关系模式中的编号皆是“人才编号”。,2.4.4 关系数据库,2.4 逻辑结构设计,2.4.4 关系数据库,在关系数据库中,将一个关系视为是一张二维表,又称其为数据表(简称表),这个表包含表结构、关系完整性、表中数据及数据间的联系。关系与表的对应关系如下表所示:,2.4.4
21、 关系数据库,2.4 逻辑结构设计,人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,工资现状,工作简历,照片)关系模式,可定义“人才档案”表结构如下表所示:,2.5 物理结构设计,2.5 物理结构设计,数据库物理结构设计就是为设计好的逻辑数据模型选择最适合的应用环境。换句话说,就是能够在应用环境中的物理设备上,由全局逻辑数据模型产生一个能在特定的DBMS上实现的关系数据库模式。数据库物理结构设计主要分为两个方面:1.确定数据库的物理结构2.对物理结构进行评价,2.6 数据库实施,2.6 数据库实施,数据库实施过程一般步骤:(1)定义数据库结构。(2)组织数据入库(数据库)。(3)编写和调试应用程序。(4)数据库试运行。,2.7 数据库使用与维护,2.7 数据库使用与维护,对数据库的维护,通常是由数据库管理员(Database Administrator,DBA)完成的。主要工作内容有:(1)数据库转储和恢复;(2)数据库安全性和完整性控制;(3)数据库性能的监督、分析和改进;(4)数据库的重新组织和重新建构。,本章结束,
链接地址:https://www.31ppt.com/p-6578531.html