非计算机应用专业教材

91
非非非非非非非非非非 非非非非非非非非非非 非非非非非

Upload: yen-cantrell

Post on 03-Jan-2016

35 views

Category:

Documents


1 download

DESCRIPTION

数据库原理与应用. 非计算机应用专业教材. 李 明 科学出版社. [ 学习目标 ]. 了解 不恰当的关系模式而导致的存储异常问题; 了解 函数依赖的概念、平凡的函数依赖、非平凡的函数依赖、完全函数依赖; 了解 BCNF ; 掌握 部分依赖、传递依赖函数依赖的概念; 掌握 键码、封闭集等概念; 掌握 关系范式的 1NF 、 2NF 、 3NF). 了解 数据库应用系统的开发的设计过程的六个阶段; 掌握 对实际简单系统的需求分析,画出数据流程图; 根据 需求分析、概念设计、逻辑设计和物理设计进行 机器实现; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 非计算机应用专业教材

非计算机应用专业教材非计算机应用专业教材

李 明李 明

科学出版社

Page 2: 非计算机应用专业教材

[[ 学习目标学习目标 ]]

了解了解不恰当的关系模式而导致的存储异常问题;不恰当的关系模式而导致的存储异常问题;

了解了解函数依赖的概念、平凡的函数依赖、非平凡函数依赖的概念、平凡的函数依赖、非平凡的函数依赖、完全函数依赖;的函数依赖、完全函数依赖;

了解了解 BCNFBCNF ;;

掌握掌握部分依赖、传递依赖函数依赖的概念;部分依赖、传递依赖函数依赖的概念;

掌握掌握键码、封闭集等概念;键码、封闭集等概念;

掌握掌握关系范式的关系范式的 1NF1NF 、、 2NF2NF 、、 3NF)3NF)

Page 3: 非计算机应用专业教材

了解了解数据库应用系统的开发的设计过程的六个阶段;数据库应用系统的开发的设计过程的六个阶段;

掌握掌握对实际简单系统的需求分析,画出数据流程图;对实际简单系统的需求分析,画出数据流程图;

根据根据需求分析、概念设计、逻辑设计和物理设计进行需求分析、概念设计、逻辑设计和物理设计进行

机器实现;机器实现;

掌握掌握实体、联系、属性、码等概念的含义;实体、联系、属性、码等概念的含义;

熟练掌握熟练掌握 E-RE-R 图的应用。图的应用。

了解了解数据库设计方法、设计工具和了解设计原则;数据库设计方法、设计工具和了解设计原则;

Page 4: 非计算机应用专业教材

第第 33 章 关系数据库设计理论章 关系数据库设计理论3.1 3.1 规范化概述规范化概述33.2 .2 函数依赖函数依赖

33.3 .3 关系范式关系范式

33.4 .4 数据库应用系统设计概述数据库应用系统设计概述

3.5 3.5 需求分析阶段需求分析阶段

3.6 3.6 概念结构设计阶段概念结构设计阶段

3.7 3.7 逻辑结构设计逻辑结构设计

3.8 3.8 物理设计与实施物理设计与实施

3.9 3.9 数据库实施数据库实施

3.10 3.10 数据库运行与维护数据库运行与维护

退出退出

Page 5: 非计算机应用专业教材

3.1 3.1 规范化概述规范化概述在具体数据库系统实现之前,尚未录入实在具体数据库系统实现之前,尚未录入实

际数据时,组建较好的数据模型是关系到整个际数据时,组建较好的数据模型是关系到整个系统运行的效率,以致系统成败的关键。所以系统运行的效率,以致系统成败的关键。所以说,关系规范化的目的是控制冗余,避免插入说,关系规范化的目的是控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和和删除异常,从而增强数据库结构的稳定性和灵活性 灵活性

Page 6: 非计算机应用专业教材

有关指导数据库逻辑设计和关系数据库规有关指导数据库逻辑设计和关系数据库规范化理论主要包括三方面的内容:范化理论主要包括三方面的内容:

数据依赖数据依赖

范式范式

模式设计方法模式设计方法

Page 7: 非计算机应用专业教材

从函数依赖入手寻找设计一个好的关系从函数依赖入手寻找设计一个好的关系模式的方法。其具体思路是:模式的方法。其具体思路是:1.1. 可从已知的函数依赖集,推出全部存在的可从已知的函数依赖集,推出全部存在的函数依赖集;求封闭集,确定键码;函数依赖集;求封闭集,确定键码;2.2. 从函数依赖集中,再找出哪些是部分函数从函数依赖集中,再找出哪些是部分函数依赖或者传递函数依赖等;依赖或者传递函数依赖等;3.3. 消除部分函数依赖或者传递函数依赖等变消除部分函数依赖或者传递函数依赖等变成第二或第三范式。成第二或第三范式。4.4. 如有需要,可根据规则转化更高的范式如有需要,可根据规则转化更高的范式

Page 8: 非计算机应用专业教材

学习思路学习思路存储异常问题→函数依赖→部分函数依赖→传存储异常问题→函数依赖→部分函数依赖→传

递函数依赖→利用最小公理导出封闭集→确定候选递函数依赖→利用最小公理导出封闭集→确定候选码码 (( 键码键码 )→)→ 分析有哪些函数依赖→消除部分函数分析有哪些函数依赖→消除部分函数依赖成第二范式→消除传递函数依赖成第三范式→依赖成第二范式→消除传递函数依赖成第三范式→分解范式成第分解范式成第 nn 范式→建数据库范式→建数据库

Page 9: 非计算机应用专业教材

3.1.23.1.2 存储异常问题存储异常问题例例 3.13.1 教师任课教师任课 TDC (TDC ( 教师号,姓名,职称,家址,教师号,姓名,职称,家址,系号,系名称,系址,课程号,课程名,教学水平,系号,系名称,系址,课程号,课程名,教学水平,学分)。学分)。

分析:分析:一位教师可以讲授多门课程,同一门课程也一位教师可以讲授多门课程,同一门课程也可以有多位教师讲授。只能根据(教师号,课程可以有多位教师讲授。只能根据(教师号,课程号)才能确定哪位教师讲授哪门课程。该关系在使号)才能确定哪位教师讲授哪门课程。该关系在使用过程中存在以下四方面的问题:用过程中存在以下四方面的问题:

Page 10: 非计算机应用专业教材

11 .数据冗余太大.数据冗余太大例如,每一个教师的姓名重复出现。例如,每一个教师的姓名重复出现。22 .更新异常(.更新异常( Update AnomaliesUpdate Anomalies ))例如,某教师更换系地址后,系统必须修改与该教师例如,某教师更换系地址后,系统必须修改与该教师

有关的每一个元组。有关的每一个元组。33 .插入异常(.插入异常( Insertion AnomaliesInsertion Anomalies ))如果学校新调入一个教师,暂时未主讲任何课程。关如果学校新调入一个教师,暂时未主讲任何课程。关

键字不允许出现空值,新教师就不能插入到此关系中去。键字不允许出现空值,新教师就不能插入到此关系中去。

Page 11: 非计算机应用专业教材

44 .删除异常(.删除异常( Deletion AnomaliesDeletion Anomalies ))如果某些教师不担任教学任务,就要从当前数据如果某些教师不担任教学任务,就要从当前数据

库中删除有关记录。那么关于这些教师的其它信息将库中删除有关记录。那么关于这些教师的其它信息将无法记载无法记载。。

一个关系模式之所以会产生上述问题,是由存在一个关系模式之所以会产生上述问题,是由存在于模式中的某些数据依赖引起的。规范化理论正是用于模式中的某些数据依赖引起的。规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。常和数据冗余问题。

Page 12: 非计算机应用专业教材

32 32 函数依赖函数依赖3.2.1 3.2.1 函数依赖函数依赖

定义定义 3.13.1 设一个关系设一个关系 RR (( UU ),), XX 和和 Y Y 为属性集为属性集 UU上的子集,若对于元组中上的子集,若对于元组中 XX 的每个的每个值都有值都有 YY 上的一个唯一的具体值与之对应.则上的一个唯一的具体值与之对应.则称称 YY 函数依赖于函数依赖于 XX ,或,或 XX 函数决定函数决定 YY ,记作,记作别别 X→YX→Y ,, XX 称作决定因素。称作决定因素。

Page 13: 非计算机应用专业教材

其实这里函数依赖和数学的函数依赖概念其实这里函数依赖和数学的函数依赖概念差不多,只不过这里不是变量而是属性列。比差不多,只不过这里不是变量而是属性列。比如人的身份证号和姓名,知道身份证号就知道如人的身份证号和姓名,知道身份证号就知道姓名了,所以就可以说有函数依赖:身份证号姓名了,所以就可以说有函数依赖:身份证号→姓名。→姓名。

Page 14: 非计算机应用专业教材

属性间的三种关系,属性间的三种关系,并不是每种关系中都存在着函数依赖。并不是每种关系中都存在着函数依赖。

●●如果如果 XX 、、 YY间是间是 11 :: 11 关系,关系,

则存在相互函数依赖则存在相互函数依赖 : : X← X← → Y→ Y ;;

●●如果如果 XX 、、 YY间是间是 n:1n:1 关系,关系,

则存在函数依赖则存在函数依赖 : X→Y: X→Y 或或 Y→XY→X (( nn 方为决定因素);方为决定因素);

●●如果如果 XX 、、 YY间是间是 mm :: nn 关系,关系,

则不存在函数依赖。则不存在函数依赖。

Page 15: 非计算机应用专业教材

3.2.2 3.2.2 非平凡的函数依赖规则和平凡的非平凡的函数依赖规则和平凡的函数依赖函数依赖

定义:如果定义:如果 X→YX→Y ,并且,并且 YY 不是不是 XX 的子集,的子集,则称则称 X→YX→Y 是是非平凡的函数依赖。非平凡的函数依赖。我们讨论的我们讨论的总是非平凡的函数依赖。全体总是能够决定部总是非平凡的函数依赖。全体总是能够决定部分的,若分的,若 YY 是是 XX 的子集,则称的子集,则称 X→YX→Y 是平凡的是平凡的函数依赖。若函数依赖。若 YY 中没有一个属性在中没有一个属性在 XX 中,则称中,则称完全非平凡的函数依赖。完全非平凡的函数依赖。

Page 16: 非计算机应用专业教材

例例 3.3 3.3 指出下列函数依赖的性指出下列函数依赖的性质质

Sno Cname Grade→Cname GradeSno Cname Grade→Cname Grade :平凡函数依赖:平凡函数依赖

(右边的属性集是左边的属性集的子集)(右边的属性集是左边的属性集的子集)

Sno Cname→Cname GradeSno Cname→Cname Grade :非平凡函数依赖:非平凡函数依赖

(右边属性集中至少有一个不在左边属性集里)(右边属性集中至少有一个不在左边属性集里)

Sno Cname→Sname GradeSno Cname→Sname Grade :完全非平凡函数依赖:完全非平凡函数依赖

(右边属性集没有一个在左边的属性集里)(右边属性集没有一个在左边的属性集里)

Page 17: 非计算机应用专业教材

3.2.3 3.2.3 完全和部分函数依赖完全和部分函数依赖

定义: 设定义: 设 X→YX→Y 是关系模式是关系模式 RR 的一个函数依的一个函数依赖,如果存在赖,如果存在 XX 的真子集的真子集 X’X’ ,使得,使得 X’→Y X’→Y

成立,则称成立,则称 YY 部分依赖部分依赖于于 XX ,记作 。,记作 。

否则,称否则,称 YY 完全依赖完全依赖于于 XX ,记作 。,记作 。

YX P

p

p

YX F

Page 18: 非计算机应用专业教材

例例 3.5 :3.5 : 从例从例 3.13.1 中中 TDC(TNOTDC(TNO ,, TNAMETNAME ,,TITLETITLE .. ADDRADDR .. DNODNO ,, DNAME,LOCDNAME,LOC ,,CNOCNO ,, CNAMECNAME ,, LEVELLEVEL ,, CREDIT)CREDIT) 。通。通过分析函数依赖,可得出如下示意图过分析函数依赖,可得出如下示意图 3.13.1 ::

Page 19: 非计算机应用专业教材

图 3.1 TDC 关系函数依赖示意图

DNAME DNO TNO

CNO

LEVEL

CREDIT

CNAMELOC

P

F

TNAME ADDR TITLE

ppp

p

Page 20: 非计算机应用专业教材

3.2.4 3.2.4 传递函数依赖传递函数依赖 函数依赖的传递定义:在同一关系模式中,函数依赖的传递定义:在同一关系模式中,如果存在非平凡的函数依赖如果存在非平凡的函数依赖 X→YX→Y ,, Y→ZY→Z ,而,而Y XY X ,则称,则称 ZZ 传递依赖于传递依赖于 XX 。。

例例 3.7 3.7 如图如图 3.13.1 ,,

TNO→DNOTNO→DNO

DNO→LOCDNO→LOCTNO TNO →→ LOC LOC

Page 21: 非计算机应用专业教材

3.2.7 3.2.7 关键字关键字 (( 候选码和主候选码和主码码 ))

如果一个或多个属性的集合如果一个或多个属性的集合 {A1{A1 ,, A2A2 ,...,,..., An}An}满足满足以下条件,则称该集合为关系以下条件,则称该集合为关系 RR 的候选码(的候选码( KeyKey ):):

(( 11 )这些属性函数决定该关系)这些属性函数决定该关系 RR 的所有其他属性。的所有其他属性。

(( 22 )) {A1{A1 ,, A2A2 ,...,,..., An}An} 的任何真子集都不能函数决的任何真子集都不能函数决

定该关系定该关系 RR 的所有其他属性,也就是说,候选码必须的所有其他属性,也就是说,候选码必须

是最小的。是最小的。

Page 22: 非计算机应用专业教材

3.2.8 3.2.8 超键码超键码包含键码包含键码 (( 候选码候选码 )) 的属性集称为“超键的属性集称为“超键

码”(码”( super keysuper key ),是“键码的超集”的简),是“键码的超集”的简称。因此,每个键码都是超键码,但是,某些称。因此,每个键码都是超键码,但是,某些超键码不是键码。注意,每个超键码都满足键超键码不是键码。注意,每个超键码都满足键码码 (( 候选码候选码 )) 的第一个条件:属性函数决定该的第一个条件:属性函数决定该关系关系 RR 的所有其他属性。但是,超键码不必满的所有其他属性。但是,超键码不必满足键码的第二个条件:键码足键码的第二个条件:键码 (( 候选码候选码 )) 必须是必须是最小的。最小的。

Page 23: 非计算机应用专业教材

然而当我们进一步分析时,就会发现不同然而当我们进一步分析时,就会发现不同的属性在关系模式中所处的地位和扮演的角色的属性在关系模式中所处的地位和扮演的角色是不同的,为了强调这种差距,我们把候选码是不同的,为了强调这种差距,我们把候选码所在的属性称为所在的属性称为主属性主属性,把键码以外属性的称,把键码以外属性的称为为非主属性非主属性。。

Page 24: 非计算机应用专业教材

3.2.9 3.2.9 逻辑蕴涵和封闭集(闭包)逻辑蕴涵和封闭集(闭包)逻辑蕴涵的定义:设关系逻辑蕴涵的定义:设关系 RR 的一个函数依的一个函数依

赖集合为赖集合为 FF ,, XX ,, YY为为 RR 的属性的属性 UU 的子集,的子集,如果从如果从 FF 中的函数依赖能够推出中的函数依赖能够推出 X→YX→Y ,则称,则称FF 逻辑蕴涵逻辑蕴涵 X→YX→Y ,记为,记为 F|=X→YF|=X→Y 。。身份证号能确定出生年月和性别(号码中身份证号能确定出生年月和性别(号码中

第第 77 位和末位),这是已知的函数依赖,也就位和末位),这是已知的函数依赖,也就是说,身份证号逻辑蕴涵身份证能确定出生年是说,身份证号逻辑蕴涵身份证能确定出生年月和性别。 月和性别。

Page 25: 非计算机应用专业教材

闭包闭包 F+F+

关系模式关系模式 RR 的函数依赖集的函数依赖集 FF 的闭包的闭包 F+F+ 的的定义:被定义:被 FF 逻辑蕴涵的函数依赖的全体构成的逻辑蕴涵的函数依赖的全体构成的集合称为集合称为 FF 的闭包(的闭包( closureclosure ),记为),记为 F+F+ 。也。也可以这样说:函数依赖集可以这样说:函数依赖集 FF 的闭包的闭包 F+ F+ 是指被是指被FF 逻辑蕴涵的函数依赖的全体构成的集合。 逻辑蕴涵的函数依赖的全体构成的集合。

Page 26: 非计算机应用专业教材

计算封闭集过程如下:计算封闭集过程如下:假设要求解属性集假设要求解属性集 {A1{A1 ,, A2A2 ,…,,…, An} An} 封闭集。封闭集。

(( 11 )首先,将)首先,将 XX初始化为初始化为 {A1{A1 ,, A2A2 ,…,,…, An}An} 。。

(( 22 )然后)然后 ,, 后复地检查某个函数依赖后复地检查某个函数依赖 B1B1 ,, B2B2 ,…, ,…,

Bm→C,Bm→C, 使得所有的使得所有的 B1B1 ,, B2B2 ,…,,…, BmBm都在属性都在属性

集集 XX 中,但中,但 CC 不在其中,于是将不在其中,于是将 CC加到属性集加到属性集 XX

中。中。

Page 27: 非计算机应用专业教材

(3)(3) 根据需要多次重复步骤根据需要多次重复步骤 22 ,直到没有属,直到没有属性能加到性能加到 XX 中。由于中。由于 XX 是只增的,而任何关系是只增的,而任何关系的属性数目必然是有限的,因此最终再也没有的属性数目必然是有限的,因此最终再也没有属性可加到属性可加到 XX 中。中。

(4)(4) 最后得到的不能再增加的属性集最后得到的不能再增加的属性集 XX就就是是 {A1{A1 ,, A2A2 ,…,,…, An}An} 的正确值。的正确值。

Page 28: 非计算机应用专业教材

如果我们知道了计算任意属性集封闭集,如果我们知道了计算任意属性集封闭集,就可以根据给定的函数依赖集推导蕴含于依赖就可以根据给定的函数依赖集推导蕴含于依赖集的其他函数依赖集的其他函数依赖 (( 非平凡依赖非平凡依赖 )) 、超键码和、超键码和键码(候选码)。键码(候选码)。

Page 29: 非计算机应用专业教材

例例 3.14 F3.14 F (( AA ,, BB ,, CC ,, DD ))

函数依赖 函数依赖 AB→CAB→C ,, C→DC→D ,, D→AD→A

求:蕴含于给函数依赖的所有非平凡函数依赖。求:蕴含于给函数依赖的所有非平凡函数依赖。

Page 30: 非计算机应用专业教材

首先考虑各种属性组合的封闭集。然后,依次分首先考虑各种属性组合的封闭集。然后,依次分析各属性集的封闭集,从中找出该属性集所具有的新析各属性集的封闭集,从中找出该属性集所具有的新的函数依赖。的函数依赖。

单属性单属性:: A+=AA+=A,, B+=BB+=B,, C+=ACDC+=ACD ,, D+=AD+=ADD

AB CAB C ,, C DC D ,, D AD A

新依赖新依赖 :: C C →→ A A (( 11 ))

Page 31: 非计算机应用专业教材

AB CAB C ,, C DC D ,, D AD A

双属性:双属性: AB+AB+=ABCD=ABCD ,, AC+=ACDAC+=ACD , , ADAD+=AD, +=AD, BC+BC+=ABCD=ABCD ,, BD+BD+=ABCD=ABCD ,, CD+CD+=ACD =ACD

新依赖:新依赖: AB DAB D AC DAC D BC A BC A BD ABD A CD A BC D BD C (7)CD A BC D BD C (7)

Page 32: 非计算机应用专业教材

三属性:三属性: AA BB CC+=ABCD+=ABCD ,, AA BB D+D+=ABCD=ABCD ,,ACD+=ACDACD+=ACD ,, BB CC D+D+=ABCD=ABCD新依赖:新依赖: ABC D ABD C ABC D ABD C

BCD ABCD A (3)(3)四属性:四属性: AA BB CC D+D+=ABCD =ABCD 无新依赖无新依赖__________ 键码(键码( 33 )) _ _ _ __ _ _ _ 超键码(超键码( 44 ) )

Page 33: 非计算机应用专业教材

3.3 3.3 关系范式关系范式 范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。

满足最低要求的叫第满足最低要求的叫第 11 范式,简称为范式,简称为 1NF1NF 。在第。在第 11

范式基础上进一步满足一些要求的为第范式基础上进一步满足一些要求的为第 22 范式,简范式,简称为称为 2NF2NF 。其余以此类推。显然各种范式之间存在。其余以此类推。显然各种范式之间存在以下关系:以下关系:

4NF4NF BCNF BCNF 3NF 3NF 2NF 2NF Lnf Lnf

关系模式关系模式 RR为第为第 nn 范式简记为:范式简记为: RR∈∈nnNFNF 。。

Page 34: 非计算机应用专业教材
Page 35: 非计算机应用专业教材

3.3.1 3.3.1 第第 11范式(范式( 1NF1NF ))定义定义 如果一个关系模式 如果一个关系模式 R R <<UU ,, F>F> 的所有属的所有属性都是不可分的基本数据项,则性都是不可分的基本数据项,则 RR 1NF∈1NF∈ 。。

SLC(SLC(SnoSno ,, CnoCno ,, SdeptSdept ,, SlocSloc ,, Grade)Grade)

其中其中 SlocSloc 为学生住处,假设每个系的学生住在为学生住处,假设每个系的学生住在同一个地方。同一个地方。 SLCSLC 的码为(的码为( SnoSno ,, CnoCno )。)。

Page 36: 非计算机应用专业教材

函数依赖包括:函数依赖包括:

(Sno(Sno ,, Cno) → GradeCno) → Grade

Sno → SdeptSno → Sdept

(Sno(Sno ,, Cno) → SdeptCno) → Sdept

Sno → SlocSno → Sloc

(Sno(Sno ,, Cno) → SlocCno) → Sloc

Sdept → SlocSdept → Sloc (因为每个系只住一个地方)(因为每个系只住一个地方)

ff

pp

pp

Page 37: 非计算机应用专业教材
Page 38: 非计算机应用专业教材

3.3.2 3.3.2 第第 22范式(范式( 2NF2NF))关系模式关系模式 SLCSLC 出现上述问题的原因是出现上述问题的原因是 SdeptSdept 、 、

SlocSloc 对码的部分函数依赖。为了消除这些部分函数依对码的部分函数依赖。为了消除这些部分函数依赖,我们可以采用投影分解法,把赖,我们可以采用投影分解法,把 SLCSLC 分解为两个分解为两个关系模式:关系模式:

SCSC (( SnoSno ,, CnoCno ,, GradeGrade ))SLSL (( SnoSno ,, SdeptSdept ,, SlocSloc ))

这两个关系模式的函数依赖如图这两个关系模式的函数依赖如图 7.47.4 所示。所示。

Page 39: 非计算机应用专业教材
Page 40: 非计算机应用专业教材

定义 定义 若关系模式若关系模式 RR 1NF∈1NF∈ ,并且每一个非主属,并且每一个非主属性都完全函数依赖于性都完全函数依赖于 RR 的码,则的码,则 R R 2NF∈2NF∈ 。。

例如例如 2NF2NF 关系模式关系模式 SL(SL(SnoSno ,, SdeptSdept ,, SlocSloc ))中有下列函数依赖:中有下列函数依赖:

Sno→SdeptSno→Sdept

Sdept→SlocSdept→Sloc

Sno→SlocSno→Sloc

Page 41: 非计算机应用专业教材

3.3.3 3.3.3 第第 33范式(范式( 3NF3NF))关系模式关系模式 SLSL 出现上述问题的原因是出现上述问题的原因是 SlocSloc

传递函数依赖于传递函数依赖于 SnoSno 。为了消除该传递函数依。为了消除该传递函数依赖,我们可以采用投影分解法,把赖,我们可以采用投影分解法,把 SLSL 分解为两分解为两个关系模式:个关系模式:

SDSD (( SnoSno ,, SdeptSdept ) ) SDSD 的码为的码为 SnoSno ,, DLDL (( SdeptSdept ,, SlocSloc ) ) DLDL 的码为的码为 SdeptSdept 。。

Page 42: 非计算机应用专业教材

定义定义 如果关系模式如果关系模式 RR ( (U)U) 中不存在非主属性候对中不存在非主属性候对候选码候选码的传递的传递依赖,则称关系依赖,则称关系 RR 属于第三属于第三范式:范式:则则 RR

3NF∈3NF∈ 。。例如,在关系模式例如,在关系模式 STJSTJ (( SS ,, TT ,, JJ )中,)中, SS 表表

示学生,示学生, TT 表示教师,表示教师, JJ 表示课程。假设每一教师只表示课程。假设每一教师只教一门课。每门课由若干教师教,某一学生选定某门教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。于是,我们有函数依课,就确定了一个固定的教师。于是,我们有函数依赖(赖( SS ,, JJ )→)→ TT ,, TT→→JJ 。同时我们可以发现。同时我们可以发现 STJSTJ(( SS ,, TT ,, JJ )中()中( SS ,, JJ )、()、( SS ,, TT )都是候选)都是候选码,因此(码,因此( SS ,, TT )→)→ JJ 成立。用图成立。用图 7.57.5表示如下:表示如下:

Page 43: 非计算机应用专业教材
Page 44: 非计算机应用专业教材

3.3.4 BC3.3.4 BC范式(范式( BCNFBCNF))关系模式关系模式 STJSTJ 出现上述问题的原因在于主属出现上述问题的原因在于主属

性性 JJ 依赖于依赖于 TT ,即主属性,即主属性 JJ 部分依赖于码(部分依赖于码( SS ,,TT )。解决这一问题仍然可以采用投影分解法,将)。解决这一问题仍然可以采用投影分解法,将STJSTJ 分解为两个关系模式:分解为两个关系模式:

STST (( SS ,, TT ), ), STST 的码为的码为 SS

TJTJ (( TT ,, JJ ), ), TJTJ 的码为的码为 TT

Page 45: 非计算机应用专业教材

BCNFBCNF定义 定义 ::

设关系模式设关系模式 R(U)R(U) ,,当当 RR 中所有属性中所有属性 (( 主属性和主属性和

非主属性非主属性 )) 都不传递都不传递 函数依赖函数依赖 RR 的任何候选码的任何候选码 ,,

那么那么 R BCNF∈R BCNF∈ 。。

Page 46: 非计算机应用专业教材

BCNFBCNF 的关系模式具有如下的关系模式具有如下 33 个性质:个性质:

(( 11 )所有非主属性都完全函数依赖于每个候选码。)所有非主属性都完全函数依赖于每个候选码。

(( 22 )所有主属性都完全函数依赖于每个不包含它的候选码。)所有主属性都完全函数依赖于每个不包含它的候选码。

(( 33 )没有任何属性完全函数依赖于非码的任何一组属性。)没有任何属性完全函数依赖于非码的任何一组属性。

如果一个关系数据库中的所有关系模式都属于如果一个关系数据库中的所有关系模式都属于 BCNFBCNF ,那么在函,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了插入异常和删除的异常。化程度,消除了插入异常和删除的异常。

Page 47: 非计算机应用专业教材

关系模式的规范化关系模式的规范化规范化的基本思想是逐步消除数据依赖中规范化的基本思想是逐步消除数据依赖中

不合适的部分,使模式中的各关系模式达到某不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即采用“一事一地”的模种程度的“分离”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。因此所谓规范化实质上就把它“分离”出去。因此所谓规范化实质上是概念的单一化。是概念的单一化。

关系模式规范化的基本步骤如图关系模式规范化的基本步骤如图 7.77.7 所示。所示。

Page 48: 非计算机应用专业教材
Page 49: 非计算机应用专业教材

3.4 3.4 数据库应用系统设计概述数据库应用系统设计概述

3.4.13.4.1 数据库设计方法和数据库设计工具数据库设计方法和数据库设计工具

11 .数据库设计方法.数据库设计方法

新奥尔良方法新奥尔良方法

基于基于 E-RE-R 模型的数据库设计方法模型的数据库设计方法

3NF3NF 的设计方法的设计方法

ODLODL 方法方法

Page 50: 非计算机应用专业教材

22 .数据库设计工具.数据库设计工具Oracle (Oracle (甲骨文甲骨文 ) Design 2000) Design 2000 ;;

SyBase PowerDesignerSyBase PowerDesigner ::它支持 它支持 PBPB 、、 VBVB 、、 Delphe Delphe 等语言等语言 (( 包包括 括 dBasedBase 、、 FoxProFoxPro 、、 VFPVFP 、、 SQL Server SQL Server 等等 )) ;;

ERWin ERWin :: ERwin/ERX 3.0ERwin/ERX 3.0 是美国是美国 LogicWorksLogicWorks 公司提供的数据库公司提供的数据库

设计工具设计工具 ;ERwin/ERX;ERwin/ERX 数据库设计工具可以用于设计生成客户机数据库设计工具可以用于设计生成客户机 / /

服务器、服务器、 WebWeb 、、 IntranetIntranet 和数据仓库等应用程序数据库。 和数据仓库等应用程序数据库。

Rational RoseRational Rose 和和 MicrosoftMicrosoft 公司的公司的 VisioVisio 。。 Rational RoseRational Rose 与与 ERwiERwi

nn类似,而类似,而 VisioVisio 则以其方便的办公图表绘制著称;则以其方便的办公图表绘制著称;

这些工具也被称为这些工具也被称为 CASECASE 工具 工具

Page 51: 非计算机应用专业教材

3.4.2 3.4.2 数据库设计原则和步骤数据库设计原则和步骤

11 .数据库设计原则.数据库设计原则

(1)(1) 关系数据库的设计应遵从概念单一化,“一事关系数据库的设计应遵从概念单一化,“一事一 一

地”原则及外关键字表之间的联系地”原则及外关键字表之间的联系

(2)(2) 避免在表之间出现重复字段避免在表之间出现重复字段

(3)(3)表中的字段必须是原始数据和基本数据元素表中的字段必须是原始数据和基本数据元素

Page 52: 非计算机应用专业教材

2 2 数据库设计步骤数据库设计步骤11 .需求分析阶段.需求分析阶段

22 .概念设计阶段.概念设计阶段

33 .逻辑设计阶段.逻辑设计阶段

44 .物理设计阶段.物理设计阶段

55 .数据库实施阶段.数据库实施阶段

66 .数据库运行、维护阶段.数据库运行、维护阶段

Page 53: 非计算机应用专业教材

3.5 3.5 需求分析阶段需求分析阶段 3.5.1 3.5.1 需求分析内容和分析方法需求分析内容和分析方法

用户需求主要包括以下三方面:用户需求主要包括以下三方面:

(1)(1)信息需求,用户要从数据库获得的信息内容。 信息需求,用户要从数据库获得的信息内容。

(2)(2)处理需求,即完成什么处理功能及处理方式。 处理需求,即完成什么处理功能及处理方式。

(3)(3)安全性和完整性要求,在定义信息需求和处理需求 安全性和完整性要求,在定义信息需求和处理需求

的同时必须相应确定安全性、完整性约束。的同时必须相应确定安全性、完整性约束。

Page 54: 非计算机应用专业教材

需求分析方法需求分析方法需求分析阶段方法有二种:需求分析阶段方法有二种:

一是自顶向下一是自顶向下

二是自底向上二是自底向上

通常采用自顶向下逐步细化的分析方法。通常采用自顶向下逐步细化的分析方法。

Page 55: 非计算机应用专业教材

3.5.2 3.5.2 数据流图和数据字典数据流图和数据字典数据流图是来描述系统工作流程的一种图形数据流图是来描述系统工作流程的一种图形

表示法。用来描述系统的数据流向和对数据的处表示法。用来描述系统的数据流向和对数据的处理功能理功能 ..

:: 数据输入的源点和数据输出的汇点数据输入的源点和数据输出的汇点

::加工或处理 加工或处理

:: 数据流数据流 ,,被加工的数据与流向 被加工的数据与流向

:: 须以命名的数据存储文件 须以命名的数据存储文件

Page 56: 非计算机应用专业教材

22 .数据字典(.数据字典( DDDD ))数据字典通常包括数据字典通常包括 ::

数据项数据项

数据结构数据结构

数据流 数据流 55 个部分。 个部分。

数据存储数据存储

处理过程处理过程

Page 57: 非计算机应用专业教材

3.6 3.6 概念结构设计阶段概念结构设计阶段数据模型是数据库系统的核心和基础。根据数据模数据模型是数据库系统的核心和基础。根据数据模

型应用的不同目的,可以将这些模型划分为两大类:型应用的不同目的,可以将这些模型划分为两大类:第一类模型是概念模型,也称信息模型,它是按用第一类模型是概念模型,也称信息模型,它是按用

户的观点来对数据和信息建模,主要用于数据库设计。户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据(逻辑)模型,主要包括网状模另一类模型是数据(逻辑)模型,主要包括网状模

型、层次模型和关系模型等,它是按计算机系统的观点对型、层次模型和关系模型等,它是按计算机系统的观点对数据建模,主要用于数据建模,主要用于 DBMSDBMS 的实现。的实现。

概念设计的结果得到一个与计算机、软硬件的具体概念设计的结果得到一个与计算机、软硬件的具体性能无关的全局概念模式性能无关的全局概念模式 ..

Page 58: 非计算机应用专业教材

3.6.1 3.6.1 数据库建模的有关概数据库建模的有关概念念

11 .实体(.实体( EntityEntity ))客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。

实体可以是具体的人、事、物,也可以是抽象实体可以是具体的人、事、物,也可以是抽象的概念或联系。的概念或联系。

22 .属性(.属性( AttributeAttribute ))实体所具有的某一特性称为属性。一个实实体所具有的某一特性称为属性。一个实

体可以由若干个属性来刻画。体可以由若干个属性来刻画。

Page 59: 非计算机应用专业教材

33 .码(.码( KeyKey ))惟一标识实体的属性集称为码。惟一标识实体的属性集称为码。44 .域(.域( DomainDomain ))属性的取值范围称为该属性的域。属性的取值范围称为该属性的域。55 .实体型(.实体型( Entity TypeEntity Type ))具有相同属性的实体必然具有共同的特征和性具有相同属性的实体必然具有共同的特征和性

质。用实体名及其属性名集合来抽象和刻画同类实质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。体,称为实体型。

Page 60: 非计算机应用专业教材

66 .实体集(.实体集( Entity SetEntity Set ))

同型实体的集合称为实体集。同型实体的集合称为实体集。

77 .联系(.联系( RelationshipRelationship ))

在现实世界中,事物内部以及事物之间是在现实世界中,事物内部以及事物之间是

有联系的,这些联系在信息世界中反映为实体有联系的,这些联系在信息世界中反映为实体

(型)内部的联系和实体(型)之间的联系。(型)内部的联系和实体(型)之间的联系。

Page 61: 非计算机应用专业教材

实体型之间的联系实体型之间的联系一对一联系(一对一联系( 1 : 11 : 1 ))

如果对于实体集如果对于实体集 AA 中的每一个实体,实体中的每一个实体,实体集集 BB 中至多有一个(也可以没有)实体与之联中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集系,反之亦然,则称实体集 AA 与实体集与实体集 BB 具有具有一对一联系,记为一对一联系,记为 1 : 11 : 1 。。

Page 62: 非计算机应用专业教材

一对多联系(一对多联系( 1 : 1 : nn ))

如果对于实体集如果对于实体集 AA 中的每一个实体,实体中的每一个实体,实体集集 BB 中有中有 nn 个实体(个实体( nn≥0≥0 )与之联系,反之,)与之联系,反之,对于实体集对于实体集 BB 中的每一个实体,实体集中的每一个实体,实体集 AA 中至中至多只有一个实体与之联系,则称实体集多只有一个实体与之联系,则称实体集 AA 与实与实体集体集 BB 有一对多联系,记为有一对多联系,记为 1 : 1 : nn 。。

Page 63: 非计算机应用专业教材

多对多联系(多对多联系( m m : : nn ))

如果对于实体集如果对于实体集 AA 中的每一个实体,实体中的每一个实体,实体

集集 BB 中有中有 nn 个实体(个实体( nn≥0≥0 )与之联系,反之,)与之联系,反之,

对于实体集对于实体集 BB 中的每一个实体,实体集中的每一个实体,实体集 AA 中也中也

有有 mm 个实体(个实体( mm≥0≥0 )与之联系,则称实体集)与之联系,则称实体集

AA 与实体集与实体集 BB 具有多对多联系,记为具有多对多联系,记为 m m : : nn 。。

Page 64: 非计算机应用专业教材
Page 65: 非计算机应用专业教材
Page 66: 非计算机应用专业教材

3.6.2 E-R3.6.2 E-R 模型模型

E-RE-R 图提供了表示实体型、属性和联系的方法。图提供了表示实体型、属性和联系的方法。

实体型:用矩形表示,矩形框内写明实体名。实体型:用矩形表示,矩形框内写明实体名。

属 性:用椭圆形表示,并用无向边将其与相应属 性:用椭圆形表示,并用无向边将其与相应

的实体连接起来。的实体连接起来。

联 系:用菱形表示,菱形框内写明联系名联 系:用菱形表示,菱形框内写明联系名

Page 67: 非计算机应用专业教材
Page 68: 非计算机应用专业教材
Page 69: 非计算机应用专业教材

下面用下面用 E-RE-R 图来表示某个工厂物资管理的概念模型。图来表示某个工厂物资管理的概念模型。

物资管理涉及的实体有:物资管理涉及的实体有:

仓库 属性有仓库号、面积、电话号码。仓库 属性有仓库号、面积、电话号码。

零件 属性有零件号、名称、规格、单价、描述。零件 属性有零件号、名称、规格、单价、描述。

供应商 属性有供应商号、姓名、地址、电话号码、账号。供应商 属性有供应商号、姓名、地址、电话号码、账号。

项目 属性有项目号、预算、开工日期。项目 属性有项目号、预算、开工日期。

职工 属性有职工号、姓名、年龄、职称。职工 属性有职工号、姓名、年龄、职称。

Page 70: 非计算机应用专业教材

这些实体之间的联系如下: 这些实体之间的联系如下:

(( 11 )一个仓库可以存放多种零件,一种零件可以存放在)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。用库存多个仓库中,因此仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。量来表示某种零件在某个仓库中的数量。

(( 22 )一个仓库有多个职工当仓库保管员,一个职工只能)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多的联系。在一个仓库工作,因此仓库和职工之间是一对多的联系。

(( 33 )职工之间具有领导)职工之间具有领导 --被领导关系。即仓库主任领导被领导关系。即仓库主任领导若干保管员,因此职工实体集中具有一对多的联系。若干保管员,因此职工实体集中具有一对多的联系。

Page 71: 非计算机应用专业教材

(( 44 )供应商、项目和零件三者之间具有多对多的联系。即)供应商、项目和零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。不同供应商供应的零件,每种零件可由不同供应商供给。

工厂的物资管理工厂的物资管理 E-RE-R 图:图:

实体及其属性用一幅图表示,如图(实体及其属性用一幅图表示,如图( aa )所示;)所示;

实体及其实体之间的联系如图(实体及其实体之间的联系如图( bb )所示,)所示,

完整的实体联系图如图(完整的实体联系图如图( cc )所示。)所示。

Page 72: 非计算机应用专业教材
Page 73: 非计算机应用专业教材
Page 74: 非计算机应用专业教材
Page 75: 非计算机应用专业教材

3.7 3.7 逻辑结构设计逻辑结构设计逻辑设计的步骤有以下几步:从逻辑设计的步骤有以下几步:从 E-RE-R 图导图导

出数据库模式、关系模式规范化、模式评价和出数据库模式、关系模式规范化、模式评价和模式修正。模式修正。

Page 76: 非计算机应用专业教材

3.8 3.8 物理设计与实施物理设计与实施为一个给定的逻辑数据模型选取一个最适为一个给定的逻辑数据模型选取一个最适

合应用环境的物理结构的过程,就是数据库的合应用环境的物理结构的过程,就是数据库的物理设计。物理设计。

Page 77: 非计算机应用专业教材

物理设计阶段的任务和目标是根据数据库的逻辑物理设计阶段的任务和目标是根据数据库的逻辑设计结果设计出相应的内模式和确定所采取的存储策设计结果设计出相应的内模式和确定所采取的存储策略。对于关系数据库来说,系统会自动把用户设计好略。对于关系数据库来说,系统会自动把用户设计好的数据库全局模式转换为相应的内模式,用户只要考的数据库全局模式转换为相应的内模式,用户只要考虑是否建立索引,使用什么方式的索引等问题,有的虑是否建立索引,使用什么方式的索引等问题,有的DBMSDBMS会提供一些物理优化的选择,如内存缓冲区的会提供一些物理优化的选择,如内存缓冲区的大小及个数,建立不同的磁盘分区等。在这里我们不大小及个数,建立不同的磁盘分区等。在这里我们不对数据库的物理进行专门的讨论。对数据库的物理进行专门的讨论。

Page 78: 非计算机应用专业教材

3.9 3.9 数据库实施数据库实施对数据库的物理设计初步评价完成后就可以开对数据库的物理设计初步评价完成后就可以开

始建立数据库了,数据库实施包括以下工作。始建立数据库了,数据库实施包括以下工作。

·· 用用 DDLDDL 定义数据库结构定义数据库结构

·· 组织数据入库组织数据入库

··编制与调试应用程序编制与调试应用程序

·· 数据库试运行数据库试运行

Page 79: 非计算机应用专业教材

11 .定义数据库的结构.定义数据库的结构 用数据定义语言(用数据定义语言( DDLDDL )来严格描述数据库结构。)来严格描述数据库结构。

例如,可以用例如,可以用 SQLSQL语句定义如下学生表结构。语句定义如下学生表结构。

CREATE TABLECREATE TABLE 学生(学生(

学号 学号 CHARCHAR (( 88 ))

··

··

··

Page 80: 非计算机应用专业教材

22 .数据装载.数据装载 数据库结构建立好后,就可以向数据库中装载数据了。数据库结构建立好后,就可以向数据库中装载数据了。其步骤如下。其步骤如下。

11 )筛选数据:所以首先必须把需要入库的数据筛选出来。)筛选数据:所以首先必须把需要入库的数据筛选出来。

22 )转换数据格式:筛选出来的需要入库的数据,其格式往往)转换数据格式:筛选出来的需要入库的数据,其格式往往不符合数据库要求,还需要进行转换。不符合数据库要求,还需要进行转换。

33 )输入数据,将转换好的数据输入计算机中。)输入数据,将转换好的数据输入计算机中。

44 )校验数据,检查输入的数据是否有误。)校验数据,检查输入的数据是否有误。

Page 81: 非计算机应用专业教材

33 .编制与调试应用程序.编制与调试应用程序编制与调试应用程序是与组织数据入库同步进行编制与调试应用程序是与组织数据入库同步进行

的。调试应用程序时由于数据入库尚未完成,可先使的。调试应用程序时由于数据入库尚未完成,可先使用模拟数据。应用程序调试完成,并且已有一小部分用模拟数据。应用程序调试完成,并且已有一小部分数据入库后,就可以开始数据库的试运行,数据库的数据入库后,就可以开始数据库的试运行,数据库的试运行也称为联合调试,其主要工作包括:试运行也称为联合调试,其主要工作包括:

11 )功能测试,即实际运行应用程序,执行对数)功能测试,即实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。据库的各种操作,测试应用程序的各种功能。

22 )性能测试,即测量系统的性能指标,分析是)性能测试,即测量系统的性能指标,分析是否符合设计目标。否符合设计目标。

Page 82: 非计算机应用专业教材

3.10 3.10 数据库运行与维护数据库运行与维护11 .数据库的转储和恢复.数据库的转储和恢复

数据库的转储和恢复是系统正式运行后最数据库的转储和恢复是系统正式运行后最重要的维护工作之一。重要的维护工作之一。

定期对数据库和日志文件进行备份,以保定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份及日志文证一旦发生故障,能利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态,件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。并尽可能减少对数据库的破坏。

Page 83: 非计算机应用专业教材

22 据库运行和维护据库运行和维护

数据库运行与维护阶段的主要任务数据库运行与维护阶段的主要任务包括:包括:

(1)(1) 维护数据库的安全性和完整性。维护数据库的安全性和完整性。

(2)(2)监测并改善数据库性能。监测并改善数据库性能。

(3)(3) 必要时对数据库进行重新组织。必要时对数据库进行重新组织。

Page 84: 非计算机应用专业教材

本章小结本章小结1.1. 设计关系数据库规范化理论主要包括三方面的内容:数据依设计关系数据库规范化理论主要包括三方面的内容:数据依赖,范式,模式设计方法。赖,范式,模式设计方法。

2.2. 不恰当的关系模式会产生存储异常问题:数据冗余;更新异不恰当的关系模式会产生存储异常问题:数据冗余;更新异常;插入异常和删除异常。常;插入异常和删除异常。

3.3. 函数依赖是最重要的数据依赖,类似于变量之间的单值函数函数依赖是最重要的数据依赖,类似于变量之间的单值函数关系。因为关系是由属性构成的,所以数据的基础是属性之间关系。因为关系是由属性构成的,所以数据的基础是属性之间的数据依赖。的数据依赖。

Page 85: 非计算机应用专业教材

4.4. 非平凡的函数依赖规则和平凡的函数依赖规则。非平凡的函数依赖规则和平凡的函数依赖规则。

5.5. 完全、部分函数依赖和传递数据依赖的定义。完全、部分函数依赖和传递数据依赖的定义。

6.6. 从函数依赖入手寻找设计一个好的关系模式的方法。从函数依赖入手寻找设计一个好的关系模式的方法。

77 .函数依赖定义和封闭集的含义以及候选码的求解。.函数依赖定义和封闭集的含义以及候选码的求解。

88 .设计关系数据库时,关系模式不可以随意建立,它.设计关系数据库时,关系模式不可以随意建立,它们必须满足一定的规范化要求。们必须满足一定的规范化要求。

Page 86: 非计算机应用专业教材

99 .关系模式有几种范式定义和分解。:.关系模式有几种范式定义和分解。:

第一范式第一范式 (1NF)(1NF) ;第二范式;第二范式 (2NF)(2NF) ;第三范式;第三范式 (3(3

NF)NF) ;; BCNFBCNF ::

四种范式之间关系:四种范式之间关系:

BCNFBCNF 包含包含 3NF3NF 包含包含 2NF2NF 包含包含 1NF1NF 。。

Page 87: 非计算机应用专业教材

1010 .逐步消除关系模式中不合适的数据依赖的过程,.逐步消除关系模式中不合适的数据依赖的过程,

1NF 1NF 消除非主属性对关键字的部分函数依赖消除非主属性对关键字的部分函数依赖

2NF 2NF 消除非主属性对关键字的传递函数依赖消除非主属性对关键字的传递函数依赖

3NF 3NF 消除主属性对关键字的部分和传递函数依赖消除主属性对关键字的部分和传递函数依赖

BCNFBCNF

图图 33 .. 77 规范化过程规范化过程

Page 88: 非计算机应用专业教材

1111 .原关系被正确分解成若干关系后,通过外关键字联.原关系被正确分解成若干关系后,通过外关键字联接,还能得到正确的连接结果。这就称为关系的无损分接,还能得到正确的连接结果。这就称为关系的无损分解和无损连接。解和无损连接。

1212 .在数据库系统的分析和设计阶段大的步骤包括:.在数据库系统的分析和设计阶段大的步骤包括:

需求分析;需求分析;

概念结构设计概念结构设计 (( 设计局部设计局部 E-RE-R 图、综合成初步图、综合成初步 E-RE-R

图、图、 E-RE-R 图的优化图的优化 )) ;;

逻辑结构设计逻辑结构设计 (( 导出初始关系模式、规范化处理导出初始关系模式、规范化处理 ))

物理设计。物理设计。

Page 89: 非计算机应用专业教材

1414 .完成数据库逻辑结构设计之后便可着手进行应用.完成数据库逻辑结构设计之后便可着手进行应用程序的设计、设计阶段的最后一步是系统性能测试与程序的设计、设计阶段的最后一步是系统性能测试与确认。确认。

1515 .数据库系统实现和运行阶段包括数据库的实施、.数据库系统实现和运行阶段包括数据库的实施、数据库运行与维护、必要时需要进行数据库的重组。数据库运行与维护、必要时需要进行数据库的重组。

1616 .实体、属性、联系和关键字的概念。实体、联系.实体、属性、联系和关键字的概念。实体、联系和属性都有型和值的区别,型是和属性都有型和值的区别,型是

抽象的和稳定的,值是具体的和变化的。抽象的和稳定的,值是具体的和变化的。

Page 90: 非计算机应用专业教材

1717 .实体间联系的种类:一对一联系.实体间联系的种类:一对一联系 (1(1 :: 1) 1) 、一对、一对多联系(多联系( 11 :: nn )和多对多联系)和多对多联系 (m(m :: n)n) 。。

1818 .. E-RE-R 模型简称模型简称 E-RE-R 图。它是描述概念世界,建立图。它是描述概念世界,建立概念模型的实用工具,它简单易用、直观易懂,计算概念模型的实用工具,它简单易用、直观易懂,计算机专业人员和普通计算机用户都能够接受和理解。机专业人员和普通计算机用户都能够接受和理解。

Page 91: 非计算机应用专业教材

完完