第4章关数据库理论

上传人:仙*** 文档编号:59052041 上传时间:2022-03-01 格式:PPT 页数:65 大小:437KB
收藏 版权申诉 举报 下载
第4章关数据库理论_第1页
第1页 / 共65页
第4章关数据库理论_第2页
第2页 / 共65页
第4章关数据库理论_第3页
第3页 / 共65页
资源描述:

《第4章关数据库理论》由会员分享,可在线阅读,更多相关《第4章关数据库理论(65页珍藏版)》请在装配图网上搜索。

1、返回返回1第第4章章 关系数据库理论关系数据库理论返回返回2本章概要本章概要 前面已经讲述了前面已经讲述了关系数据库关系数据库、关系模型关系模型的基本概念以的基本概念以及关系数据库的及关系数据库的标准语言标准语言。 如何使用关系模型设计关系数据库,也就是面对一个如何使用关系模型设计关系数据库,也就是面对一个现实问题,如何选择一个比较好的关系模式的集合,现实问题,如何选择一个比较好的关系模式的集合,每个关系又应该由哪些属性组成。这属于数据库设计每个关系又应该由哪些属性组成。这属于数据库设计的问题,确切地讲是数据库的问题,确切地讲是数据库逻辑设计逻辑设计的问题,有关数的问题,有关数据库设计的全过程

2、将在第据库设计的全过程将在第6章详细讨论。章详细讨论。 本章讲述本章讲述关系数据库规范化理论关系数据库规范化理论,这是数据库逻辑设,这是数据库逻辑设计的理论依据。计的理论依据。 要求了解规范化理论的研究动机及其在数据库设计中的作用, 掌握函数依赖的有关概念, 第一范式、第二范式、第三范式的定义, 重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点。 返回返回34.1 4.1 规范化问题的提出规范化问题的提出4.1.1 4.1.1 规范化理论的主要内容规范化理论的主要内容关系数据库的规范化理论最早是由关系数据库关系数据库的规范化理论最早是由关系数据库的创始人的创始人

3、E.F.CoddE.F.Codd提出的,提出的,后经许多专家学者对关系数据库理论作了深入后经许多专家学者对关系数据库理论作了深入的研究和发展,形成了一整套有关关系数据库的研究和发展,形成了一整套有关关系数据库设计的理论。设计的理论。在该理论出现以前,层次和网状数据库的设计在该理论出现以前,层次和网状数据库的设计只是遵循其模型本身固有的原则,而无具体的只是遵循其模型本身固有的原则,而无具体的理论依据可言,因而带有盲目性,可能在以后理论依据可言,因而带有盲目性,可能在以后的运行和使用中发生许多预想不到的问题。的运行和使用中发生许多预想不到的问题。返回返回4在关系数据库系统中,在关系数据库系统中,关

4、系模型关系模型包括一组包括一组关系关系模式模式,各个关系不是完全孤立的,数据库的设,各个关系不是完全孤立的,数据库的设计较层次和网状模型更为重要。计较层次和网状模型更为重要。如何设计一个适合的关系数据库系统,关键是如何设计一个适合的关系数据库系统,关键是关系数据库关系数据库模式模式的设计,一个好的关系数据库的设计,一个好的关系数据库模式应该包括多少模式应该包括多少关系模式关系模式,而每一个关系模,而每一个关系模式又应该包括哪些式又应该包括哪些属性属性,又如何将这些相互关,又如何将这些相互关联的关系模式组建一个适合的联的关系模式组建一个适合的关系模型关系模型,这些,这些工作决定了到整个系统运行的

5、效率,也是系统工作决定了到整个系统运行的效率,也是系统成败的关键所在,所以必须在关系数据库的成败的关键所在,所以必须在关系数据库的规规范化理论范化理论的指导下逐步完成。的指导下逐步完成。 返回返回5 关系数据库的规范化理论主要包括三个方面的内容:关系数据库的规范化理论主要包括三个方面的内容: 函数信赖 范式(Normal Form) 模式设计 其中,其中,函数信赖函数信赖起着核心的作用,是模式分解和模式起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。设计的基础,范式是模式分解的标准。4.1.2 4.1.2 关系模式的存储异常问题关系模式的存储异常问题 数据库的逻辑设计为什么要

6、遵循一定的规范化理论?数据库的逻辑设计为什么要遵循一定的规范化理论? 什么是好的关系模式?什么是好的关系模式? 某些不好的关系模式可能导致哪些问题?某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析下面通过例子进行分析: :返回返回6例如例如,要求设计,要求设计教学管理数据库教学管理数据库,其关系模式,其关系模式SCDSCD如下:如下:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,其中,SNOSNO表示学生学号,表示学生学号,SNSN表示学生姓名,表示学生姓名,AGEAGE表示表示学生年龄,学生年龄,DEPTDEPT表示学生所在的系别,表示学生所在的系别,M

7、NMN表示系主任表示系主任姓名,姓名,CNOCNO表示课程号,表示课程号,SCORESCORE表示成绩。表示成绩。 根据实际情况,这些数据有如下语义规定:根据实际情况,这些数据有如下语义规定:1. 一个系有若干个学生,但一个学生只属于一个系;2. 一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;3. 一个学生可以选修多门功课,每门课程可有若干学生选修;4. 每个学生学习课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可得到在此关系模式中填入一部分具体的数据,则可得到SCDSCD关系模式的实例,即一个教学管理数据库,如图关系模式的实例,即一个教学管理数据库,如图4.14.1所

8、所示。示。返回返回7图图4.1 4.1 关系关系SCDSCDSNOSNAGEDEPTMNCNOSCORES1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C7 70S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思男自动化刘伟C193返回返回8根据上述的语义规定,并分析以上关系中的数据,我们根据上述的语义规定,并分析以上关系中的数据,我们可以看出:可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,属性的组合能唯一标识一个元组,所以所以

9、(SNO,CNO)是该关系模式的是该关系模式的主关系键主关系键。但在进行数。但在进行数据库的操作时,会出现以下几方面的问题。据库的操作时,会出现以下几方面的问题。1. 1. 数据冗余。数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。2. 2. 插入异常。插入异常。如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。 因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能

10、进行插入操作。 另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。返回返回93. 删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。4. 更新异常。如果学生改名,则该学生的所有记录都要逐一修改SN;又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会

11、造成数据的不一致性,破坏了数据的完整性。返回返回10 由于存在以上问题,我们说,由于存在以上问题,我们说,SCDSCD是一个不好的关系模是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中式。产生上述问题的原因,直观地说,是因为关系中“包罗万象包罗万象”,内容太杂了。,内容太杂了。 那么,怎样才能得到一个好的关系模式呢?那么,怎样才能得到一个好的关系模式呢? 我们把关系模式我们把关系模式SCDSCD分解为下面三个结构简单的关系模分解为下面三个结构简单的关系模式,如图式,如图4.24.2所示。所示。学生关系S(SNO,SN,AGE,DEPT)选课关系SC(SNO,CNO,SCORE)

12、系关系D(DEPT,MN)返回返回11SNOSNAGEDEPT SNOCNOSCORES1赵亦17计算机 S1C190S2钱尔18信息 S1C285S3孙珊20信息 S2C557S4李思21自动化 S2C680 S2C7 S2C570DEPTMN S3C10计算机刘伟 S3C270信息王平 S3C485自动化刘伟 S4C193图4.2 分解后的关系模式 返回返回12在以上三个关系模式中,实现了信息的某种程在以上三个关系模式中,实现了信息的某种程度的分离,度的分离,S中存储学生基本信息,与所选课程及系主任无关;D中存储系的有关信息,与学生无关;SC中存储学生选课的信息,而与所学生及系的有关信息无

13、关。与与SCDSCD相比,分解为三个关系模式后,数据的相比,分解为三个关系模式后,数据的冗余度明显降低。冗余度明显降低。当新插入一个系时,只要在关系D中添加一条记录。当某个学生尚未选课,只要在关系S中添加一条学生记录,而与选课关系无关,这就避免了插入异常。当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。同时,由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。 返回返回13经过上述分析,我们说分解后的关系模经过上述分析,我们说分解后的关系模式是一个好的关系数据库模式。式是一个好的关系数据库模式。从而得出结论,一个好的关

14、系模式应该从而得出结论,一个好的关系模式应该具备以下四个条件:具备以下四个条件:1. 尽可能少的数据冗余。2. 没有插入异常。3. 没有删除异常。4. 没有更新异常。 返回返回14 但要注意,一个好的关系模式并不是在任何情况下都但要注意,一个好的关系模式并不是在任何情况下都是最优的,是最优的, 比如查询某个学生选修课程名及所在系的系主任时,要通过连接,而连接所需要的系统开销非常大,因此要以实际设计的目标出发进行设计 如何按照一定的规范设计关系模式,将结构复杂的关如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库系分解成结构简单的关系,从而把不好的关系数

15、据库模式转变为好的关系数据库模式,这就是模式转变为好的关系数据库模式,这就是关系的规范关系的规范化化。 规范化又可以根据不同的要求而分成若干级别。规范化又可以根据不同的要求而分成若干级别。 我们要设计的关系模式中的各属性是相互依赖、相互我们要设计的关系模式中的各属性是相互依赖、相互制约的,这样才构成了一个结构严谨的整体。制约的,这样才构成了一个结构严谨的整体。 因此在设计关模式时,必须从语义上分析这些因此在设计关模式时,必须从语义上分析这些依赖关依赖关系系。 数据库模式的好坏和关系中各属性间的依赖关系有关,数据库模式的好坏和关系中各属性间的依赖关系有关,因此,我们先讨论属性间的依赖关系,然后再

16、讨论关因此,我们先讨论属性间的依赖关系,然后再讨论关系规范化理论。系规范化理论。 返回返回154.2 4.2 函数依赖函数依赖4.2.14.2.1函数依赖的定义及性质函数依赖的定义及性质 关系模式中的各属性之间相互依赖、相互制约的联系关系模式中的各属性之间相互依赖、相互制约的联系称为称为数据依赖数据依赖。 数据依赖一般分为数据依赖一般分为函数依赖函数依赖、多值依赖多值依赖和和连接依赖连接依赖。 其中其中, ,函数依赖函数依赖是最重要的数据依赖。是最重要的数据依赖。 函数依赖(函数依赖(Functional DependencyFunctional Dependency)是关系模式中属)是关系模

17、式中属性之间的一种性之间的一种逻辑依赖关系逻辑依赖关系。 例如在上一节介绍的关系模式SCD中,SNO与SN、AGE、DEPT之间都有一种依赖关系。 由于一个SNO只对应一个学生,而一个学生只能属于一个系,所以当SNO的值确定之后,SN,AGE,DEPT的值也随之被唯一的确定了。 这类似于变量之间的单值函数关系。设单值函数Y=F(X),自变量X的值可以决定一个唯一的函数值Y。 在这里,我们说SNO决定函数(SN,AGE,DEPT),或者说(SN,AGE,DEPT)函数依赖于SNO。返回返回16下面给函数依赖的形式化定义。下面给函数依赖的形式化定义。 4.2.1.14.2.1.1函数依赖的定义函数

18、依赖的定义定义定义4.14.1设关系模式设关系模式R(UR(U,F)F),U U是属性全集,是属性全集,F F是是U U上的上的函数依赖集,函数依赖集,X X和和Y Y是是U U的子集,如果对于的子集,如果对于R(U)R(U)的任意一个的任意一个可能的关系可能的关系r r,对于,对于X X的每一个具体值,的每一个具体值,Y Y都有唯一的具体都有唯一的具体值与之对应,则称值与之对应,则称X X决定函数决定函数Y Y,或,或Y Y函数依赖于函数依赖于X X,记作,记作XYXY。我们称。我们称X X为为决定因素决定因素,Y Y为为依赖因素依赖因素。当。当Y Y不函数依不函数依赖于赖于X X时,记作:

19、时,记作:X YX Y。当。当XYXY且且YXYX时,则记作:时,则记作: X X Y Y。对于关系模式对于关系模式SCDSCDU=SNO,SN,AGE,DEPT,MN,CNO,SCOREF=SNOSN,SNOAGE,SNODEPT一个一个SNOSNO有多个有多个SCORESCORE的值与其对应,因此的值与其对应,因此SCORESCORE不能唯不能唯一地确定,即一地确定,即SCORESCORE不能函数依赖于不能函数依赖于SNOSNO,所以有:,所以有: SNO SCORESNO SCORE。但是但是SCORESCORE可以被(可以被(SNOSNO,CNOCNO)唯一地确定。所以可表)唯一地确定

20、。所以可表示为:(示为:(SNOSNO,CNOCNO)SCORESCORE。 返回返回17有关函数依赖的几点说明:有关函数依赖的几点说明:1 1平凡的函数依赖与非平凡的函数依赖。平凡的函数依赖与非平凡的函数依赖。 当属性集Y是属性集X的子集时,则必然存在着函数依赖XY,这种类型的函数依赖称为平凡的函数依赖。 如果Y不是X的子集,则称XY为非平凡的函数依赖。 若不特别声明,我们讨论的都是非平凡的函数依赖。2 2函数依赖是语义范畴的概念。函数依赖是语义范畴的概念。 我们只能根据语义来确定一个函数依赖,而不能按照其形式化定义来证明一个函数依赖是否成立。 例如,对于关系模式S,当学生不存在重名的情况下

21、,可以得到:SNAGESNDEPT 这种函数依赖关系,必须是在没有重名的学生条件下才成立的,否则就不存在函数依赖了。 所以函数依赖反映了一种语义完整性约束。 返回返回183 3函数依赖与属性之间的联系类型有关。函数依赖与属性之间的联系类型有关。(1)在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依赖XY,YX,即X Y。 例如,当学生无重名时,SNO SN。(2)如果属性X与Y有1:m的联系时,则只存在函数依赖XY。 例如,SNO与AGE,DEPT之间均为1:m联系,所以有SNOAGE,SNODEPT。(3)如果属性X与Y有m: n的联系时,则X与Y之间不存在任何函数依赖关系。 例

22、如,一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以SNO与CNO之间不存在函数依赖关系。由于函数依赖与属性之间的联系类型有关,所以在确定由于函数依赖与属性之间的联系类型有关,所以在确定属性间的函数依赖关系时,可以从分析属性间的函数依赖关系时,可以从分析属性间的联系类属性间的联系类型型入手,便可确定属性间的函数依赖。入手,便可确定属性间的函数依赖。 返回返回194 4函数依赖关系的存在与时间无关。函数依赖关系的存在与时间无关。因为函数依赖是指关系中的所有元组应该满足的约束条件,而不是指关系中某个或某些元组所满足的约束条件。当关系中的元组增加、删除或更新后都不能破坏这种函数依赖。因此

23、,必须根据语义来确定属性之间的函数依赖,而不能单凭某一时刻关系中的实际数据值来判断。例如,对于关系模式S,假设没有给出无重名的学生这种语义规定,则即使当前关系中没有重名的记录,也只能存在函数依赖SNOSN,而不能存在函数依赖SNSNO,因为如果新增加一个重名的学生,函数依赖SNSNO必然不成立。所以函数依赖关系的存在与时间无关,而只与数据之间的语义规定有关。 返回返回205 5函数依赖可以保证关系分解的无损连接性。函数依赖可以保证关系分解的无损连接性。设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果XY或XZ,则有R(X,Y,Z)=RX,Y*RX,Z,其中,RX,Y表示关系R在属性(X,

24、Y)上的投影,即R等于其投影在X上的自然连接,这样便保证了关系R分解后不会丢失原有的信息,称作关系分解的无损连接性。例如,对于关系模式SCD,有SNO(SN,AGE,DEPT,MN),SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)=SCDSNO,SN,AGE,DEPT,MN*SCDSNO,CNO,SCORE,也就是说,用其投影在SNO上的自然连接可复原关系模式SCD。这一性质非常重要,在后一节的关系规范化中要用到。 返回返回214.2.1.2 4.2.1.2 函数依赖的基本性质函数依赖的基本性质1 1投影性。投影性。 根据平凡的函数依赖的定义可知,一组属性函数决定它的所有子

25、集。 例如,在关系SCD中,(SNO,CNO)SNO和(SNO,CNO)CNO。2 2扩张性。扩张性。 若XY且WZ,则(X,W)(Y,Z)。 例如,SNO(SN,AGE),DEPTMN,则有(SNO,DEPT)(SN,AGE,MN)。3 3合并性。合并性。 若XY且XZ则必有X(Y,Z)。 例如,在关系SCD中,SNO(SN,AGE),SNO(DEPT,MN),则有SNO(SN,AGE,DEPT,MN)。4 4分解性。分解性。 若X(Y,Z),则XY且XZ。很显然,分解性为合并性的逆过程。 由合并性和分解性,很容易得到以下事实:由合并性和分解性,很容易得到以下事实:XA1,A2,,An成立的

26、充分必要条件是XAi(i=1,2,n)成立。 返回返回224.2.2 4.2.2 完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖定义定义4.24.2 设关系模式设关系模式R(U)R(U),U U是属性全集,是属性全集,X X和和Y Y是是U U的子的子集,集, 如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖(Full Functional Dependency),记作 X Y。 如果对X的某个真子集X,有XY,则称Y对部分函数依赖(Partial Functional Dependency),记作X Y。 例如,在关系模式SCD中,因为SNO SCORE,且C

27、NO SCORE,所以有:(SNO,CNO) SCORE 。 而SNOAGE,所以(SNO,CNO) AGE。 由定义由定义4.24.2可知:可知: 只有当决定因素是组合属性时,讨论部分函数依赖才有意义, 当决定因素是单属性时,只能是完全函数依赖。 例如,在关系模式S(SNO,SN,AGE,DEPT),决定因素为单属性SNO,有SNO(SN,AGE,DEPT),不存在部分函数依赖。 fp fp返回返回234.2.3 4.2.3 传递函数依赖传递函数依赖定义定义4.34.3 设有关系模式设有关系模式R R(U U),),U U是属性全集,是属性全集,X X,Y Y,Z Z是是U U的子集,的子集

28、, 若XY,但Y X,而YZ(Y X,Z Y),则称Z对X传递函数依赖(Transitive Functional Dependency),记作:X Z。 如果YX,则X Y,这时称Z对X直接函数依赖,而不是传递函数依赖。 例如,在关系模式SCD中,SNODEPTN,但DEPTN SNO,而DEPTNMN,则有SNO MN。当学生不存在重名的情况下,有SNOSN,SNSNO,SNO SN,SNDEPTN,这时DEPTN对SNO是直接函数依赖,而不是传递函数依赖。 综上所述,函数依赖分为完全函数依赖、部分函数依赖和传递函数依赖三类,它们是规范化理论的依据和规范化程度的准则,下面我们将以介绍的这些

29、概念为基础,进行数据库的规范设计。 tt返回返回244.3 范式范式 规范化的规范化的基本思想基本思想是消除关系模式中的数据冗余,消是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入、删除除数据依赖中的不合适的部分,解决数据插入、删除时发生异常现象。时发生异常现象。 这就要求关系数据库设计出来的关系模式要满足一定这就要求关系数据库设计出来的关系模式要满足一定的条件。的条件。 我们把关系数据库的规范化过程中为不同程度的规范我们把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为化要求设立的不同标准称为范式范式(Normal FormNormal Form)。)。

30、 由于规范化的程度不同,就产生了由于规范化的程度不同,就产生了不同的范式不同的范式。 满足最基本规范化要求的关系模式叫满足最基本规范化要求的关系模式叫第一范式第一范式, 在第一范式中进一步满足一些要求为在第一范式中进一步满足一些要求为第二范式第二范式, 以此类推就产生了以此类推就产生了第三范式第三范式等概念。等概念。 每种范式都规定了一些限制约束条件。每种范式都规定了一些限制约束条件。 返回返回25范式的概念最早由范式的概念最早由E.F.CoddE.F.Codd提出。提出。从从19711971年起,年起,CoddCodd相继提出了关系的三级规范相继提出了关系的三级规范化形式,即第一范式(化形式

31、,即第一范式(1NF1NF)、第二范式()、第二范式(2NF2NF)、)、第三范式(第三范式(3NF3NF)。)。19741974年,年,CoddCodd和和BoyceBoyce以共同提出了一个新的以共同提出了一个新的范式的概念,即范式的概念,即Boyce-CoddBoyce-Codd范式,简称范式,简称BCBC范式。范式。19761976年年FaginFagin提出了第四范式,提出了第四范式,后来又有人定义了第五范式。后来又有人定义了第五范式。至此在关系数据库规范中建立了一个范式系列:至此在关系数据库规范中建立了一个范式系列:1NF,2NF,3NF,BCNF,4NF,5NF,1NF,2NF,

32、3NF,BCNF,4NF,5NF,一级比一级有更严一级比一级有更严格的要求。格的要求。各个范式之间的联系可以表示为:各个范式之间的联系可以表示为:5NF 4NF BCNF 3NF 2NF 1NF如图4.3所示。 返回返回26图图4.3 4.3 各种范式之间的关系各种范式之间的关系下面逐一介绍各级范式及其规范化。下面逐一介绍各级范式及其规范化。 返回返回274.3.1 4.3.1 第一范式第一范式第一范式第一范式(First Normal Form)是最基本的规是最基本的规范形式,即关系中每个属性都是不可再分的简单范形式,即关系中每个属性都是不可再分的简单项。项。定义定义4.44.4 如果关系模

33、式如果关系模式R R,其所有的属性均为简,其所有的属性均为简单属性,即每个属性都城是不可再分的,则称单属性,即每个属性都城是不可再分的,则称R R属于第一范式,简称属于第一范式,简称1NF1NF,记作,记作R R 1NF1NF。在第在第2 2章讨论关系的性质时,我们把满足这个条件的关章讨论关系的性质时,我们把满足这个条件的关系称为系称为规范化关系规范化关系。在关系数据库系统中只讨论规范化的关系,凡是非规范在关系数据库系统中只讨论规范化的关系,凡是非规范化的关系模式必须化成规范化的关系。化的关系模式必须化成规范化的关系。在非规范化的关系中去掉组合项就能化成规范化的关系。在非规范化的关系中去掉组合

34、项就能化成规范化的关系。每个规范化的关系都属于每个规范化的关系都属于1NF1NF,这也是它之所以称为,这也是它之所以称为“第一第一”的原因。的原因。 返回返回28然而,一个关系模式仅仅属于第一范式是不然而,一个关系模式仅仅属于第一范式是不适用的。适用的。在在4.14.1节中给出的关系模式节中给出的关系模式SCDSCD属于第一范式,属于第一范式,但其具有大量的数据冗余,具有插入异常、删但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。除异常、更新异常等弊端。为什么会存在这种问题呢?为什么会存在这种问题呢?让我们分析一下让我们分析一下SCDSCD中的函数依赖关系,它的中的函数依赖关系

35、,它的关系键是(关系键是(SNOSNO,CNOCNO)的属性组合,所以有:)的属性组合,所以有: (SNO,CNO) SCORESNOSN,(SNO,CNO) SNSNOAGE,(SNO,CNO) AGESNODEPT,(SNO,CNO) DEPTSNO MN,(SNO,CNO) MN fppppt返回返回29我们可以用函数信赖图表示以上函数依赖关系,如图我们可以用函数信赖图表示以上函数依赖关系,如图4.44.4所示。所示。 SDNMNSNOSNOCNOPPf由此可见,在SCD中,既存在完全函数依赖,又存在部分函数依赖和传递函数依赖。这种情况往往在数据库中是不允许的,也正是由于关系中存在着复杂

36、的函数依赖,才导致数据操作中出现了种弊端。克服这些弊端的方法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的范式进行转换。 返回返回304.3.2 4.3.2 第二范式第二范式4.3.2.1 4.3.2.1 第二范式的定义第二范式的定义定义定义4.54.5 如果关系模式如果关系模式R R 1NF1NF,且每个非主属性都完全,且每个非主属性都完全函数依赖于函数依赖于R R的每个关系键,则称的每个关系键,则称R R属于属于第二范式第二范式(Second Normal Form),简称,简称2NF2NF,记作,记作R R 2NF2NF。在关系模式在关系模式SCDSCD中,中,SNOS

37、NO,CNOCNO为主属性,为主属性,AGEAGE,DEPTDEPT,MNMN,MNMN,SCORESCORE均为非主属性,经上述分析,存在非主属均为非主属性,经上述分析,存在非主属性对关系键的部分函数依赖,所以性对关系键的部分函数依赖,所以SCD2NFSCD2NF。而如图而如图4.24.2所示的由所示的由SCDSCD分解的三个关系模式分解的三个关系模式S S,D D,SCSC,其中其中S S的关系键为的关系键为SNOSNO,D D的关系键为的关系键为DEPTDEPT,都是单属性,都是单属性,不可能存在部分函数依赖。不可能存在部分函数依赖。而对于而对于SCSC,(,(SNOSNO,CNOCNO

38、) SCORESCORE。所以。所以SCDSCD分解后,分解后,消除了非主属性对关系键的部分函数依赖,消除了非主属性对关系键的部分函数依赖,S S,D D,SCSC均均属于属于2NF2NF。 f返回返回31又如在又如在2.4.22.4.2中,讲述全码的概念时给出的关中,讲述全码的概念时给出的关系模式系模式TCSTCS(T T,C C,S S),),一个教师可以讲授多门课程,一门课程可以为多个教师讲授,同样一个学生可以选听多门课程,一门课程可以为多个学生选听,(T,C,S)三个属性的组合是关系键,T,C,S都是主属性,而无非主属性,所以也就不可能存在非主属性对关系键的部分函数依赖,TCS2NF。

39、经以上分析,可以得到两个结论:经以上分析,可以得到两个结论:1从1NF关系中消除非主属性对关系键的部分函数依赖,则可得到2NF关系。2如果R的关系键为单属性,或R的全体属性均为主属性,则R2NF。 返回返回324.3.2.2 2NF4.3.2.2 2NF规范化规范化2NF2NF规范化是指把规范化是指把1NF1NF关系模式通过投影分解转换成关系模式通过投影分解转换成2NF2NF关系模式的集合。关系模式的集合。分解时遵循的基本原则就是分解时遵循的基本原则就是“一事一地一事一地”,让一个关系,让一个关系只描述一个实体或者实体间的联系。如果多于一个实体只描述一个实体或者实体间的联系。如果多于一个实体或

40、联系,则进行投影分解。或联系,则进行投影分解。下面以关系模式下面以关系模式SCDSCD为例,来说明为例,来说明2NF2NF规范化的过程规范化的过程例例4.1 4.1 将将SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)规范到规范到2NF2NF。 由SNOSN,SNOAGE,SNODEPT,(SNO,CNO) SCORE,可以判断,关系SCD至少描述了两个实体, 一个为学生实体,属性有SNO、SN、AGE、DEPT、MN; 另一个是学生与课程的联系(选课),属性有SNO、CNO和SCORE。 根据分解的原则,我们

41、可以将SCD分解成如下两个关系,如图4.5所示。 f返回返回33SD(SNO,SN,AGE,DEPT,MN),描述学生实体;SC(SNO,CNO,SCORE),描述学生与课程的联系。SDSD SNOSNAGEDEPTMNS1赵亦17计算机刘伟S2钱尔18信息王平S3孙珊20信息王平S4李思21自动化刘伟SCSC SNOCNOSCORES1C190S1C285S2C557S2C680S2C7 S2C570S3C10S3C270S3C485S4C193图4.5 关系SD和SC 返回返回34 对于分解后的两个关系对于分解后的两个关系SDSD和和SCSC,主键分别为,主键分别为SNOSNO和和(SNO

42、SNO,CNOCNO),非主属性对主键完全函数依赖。因此,),非主属性对主键完全函数依赖。因此,SDSD 2NF2NF,SCSC 2NF2NF,而且前面已经讨论,而且前面已经讨论,SCDSCD的这种分的这种分解没有丢失任何信息,具有无损连接性。解没有丢失任何信息,具有无损连接性。 分解后,分解后,SDSD和和SCSC的函数依赖分别如图的函数依赖分别如图4.64.6和和4.74.7所示。所示。 SNOSNSNOCNOSCOREAGEDEPTMN图图4.6 SD4.6 SD中的函数依赖关系中的函数依赖关系 图图4.7 SC4.7 SC中的函数依赖关系中的函数依赖关系 返回返回35 1NF1NF的关

43、系模式经过投影分解转换成的关系模式经过投影分解转换成2NF2NF后,消除了一后,消除了一些数据冗余。些数据冗余。 分析图分析图4.54.5中中SDSD和和SCSC中的数据,可以看出,它们存储的中的数据,可以看出,它们存储的冗余度比关系模式冗余度比关系模式SCDSCD有了较大辐度的降低。有了较大辐度的降低。 学生的姓名、年龄不需要重复存储多次。学生的姓名、年龄不需要重复存储多次。 这样便可在一定程度上避免数据更新所造成的数据不这样便可在一定程度上避免数据更新所造成的数据不一致性的问题。一致性的问题。 由于把学生的基本信息与选课信息分开存储,则学生由于把学生的基本信息与选课信息分开存储,则学生基本

44、信息因没选课而不能插入的问题得到了解决,插基本信息因没选课而不能插入的问题得到了解决,插入异常现象得到了部分改善。入异常现象得到了部分改善。 同样,如果某个学生不再选修同样,如果某个学生不再选修C1C1课程,只在选课关系课程,只在选课关系SCSC中删去该该学生选修中删去该该学生选修C1C1的记录即可,而的记录即可,而SDSD中有关该中有关该学生的其它信息不会受到任何影响,也解决了部分删学生的其它信息不会受到任何影响,也解决了部分删除异常问题。除异常问题。 因此可以说关系模式因此可以说关系模式SDSD和和SCSC在性能上比在性能上比SCDSCD有了显著提有了显著提高。高。 返回返回36下面对下面

45、对2NF2NF规范化作规范化作形式化的描述形式化的描述。设关系模式设关系模式R R(X X,Y Y,Z Z),),R R 1NF1NF,但,但R2NFR2NF,其中,其中,X X是是键属性键属性,Y Y,Z Z是是非键属性非键属性,且存在,且存在部分函数依赖,部分函数依赖,X X Y Y。设。设X X可表示为可表示为X1X1、X2X2,其中其中X1 YX1 Y。则。则R R(X X,Y Y,Z Z)可以分解为)可以分解为RX1RX1,YY和和RXRX,ZZ。因为因为X1YX1Y,所以,所以R(XR(X,Y Y,Z)=RX1Z)=RX1,YY* *RX1RX1,X2X2,Z=RX1Z=RX1,Y

46、Y* *RXRX,ZZ,即,即R R等等于其投影于其投影RX1RX1,YY和和XX,ZZ在在X1X1上的上的自然连接自然连接,R R的分解具有的分解具有无损连接性无损连接性。由于由于X1 YX1 Y,因此,因此RX1RX1,YY 2NF2NF。若。若RXRX,Z2NFZ2NF,可以按照上述方法继续进行投影分解,可以按照上述方法继续进行投影分解,直到将直到将RXRX,ZZ分解为属于分解为属于2NF2NF关系的集合,且关系的集合,且这种分解必定是有限的。这种分解必定是有限的。 pff返回返回374.3.2.3 2NF4.3.2.3 2NF的缺点的缺点2NF2NF的关系模式解决了的关系模式解决了1N

47、F1NF中存在的一些问题,中存在的一些问题,2NF2NF规范规范化的程度比化的程度比1NF1NF前进了一步,但前进了一步,但2NF2NF的关系模式在进行数的关系模式在进行数据操作时,仍然存在着一些问题:据操作时,仍然存在着一些问题:1数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数。2插入异常。当一个新系没有招生时,有关该系的信息无法插入。3删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录也随之删除了该系的有关信息。4更新异常。更换系主任时,仍需改动较多的学生记录。之所以存在这些问题,是由于在之所以存在这些问题,是由于在SCDSCD中存在着非主属性中存在着非主属性对主键的

48、传递依赖。对主键的传递依赖。分析分析SCDSCD中的函数依赖关系,中的函数依赖关系,SNOSNSNOSN,SNOAGESNOAGE,SNODEPTSNODEPT,DEPTMNDEPTMN,SNO MNSNO MN,非主属性,非主属性MNMN对主键对主键SNOSNO传递依赖。传递依赖。为此,对关系模式为此,对关系模式SCDSCD还需进一步简化,消除这种传递还需进一步简化,消除这种传递依赖,得到依赖,得到3NF3NF。 t返回返回384.3.3 4.3.3 第三范式第三范式4.3.3.1 4.3.3.1 第三范式的定义第三范式的定义定义定义4.64.6 如果关系模式如果关系模式R R 2NF2NF

49、,且每个非主属性都不传,且每个非主属性都不传递依赖于递依赖于R R的每个关系键,则称的每个关系键,则称R R属于第三范式属于第三范式(Third Normal Form),简称,简称3NF3NF,记作,记作R R 3NF3NF。第三范式具有如下性质:第三范式具有如下性质:1 1如果如果R R 3NF3NF,则,则R R也是也是2NF2NF。 证明:3NF的另一种等价描述是:对于关系模式R,不存在如下条件的函数依赖,XY(Y X),YZ,其中X是键属性,Y是任意属性组,Z是非主属性,Z Y。在此定义下,令Y X,Y是X的真子集,则以上条件XY,YZ就变成了非主属性对键X的部分函数依赖,X Z。但

50、由于3NF中不存在这样的函数依赖,所以R中不可能存在非主属性对键X的部分函数依赖,R必定是2NF。 p返回返回392 2如果如果R R 2NF2NF,则,则R R不一定是不一定是3NF3NF。例如,我们前面由关系模式SCD分解而得到的SD和SC都为2NF,其中,SC3NF,但在SD中存在着非主属性MN对主键SNO传递依赖,SD3NF。对于SD,应该进一步进行分解,使其转换成3NF。 4.3.3.2 3NF4.3.3.2 3NF规范化规范化3NF3NF规范化规范化是指把是指把2NF2NF关系模式通过投影分解转换成关系模式通过投影分解转换成3NF3NF关系模式的集合。关系模式的集合。和和2NF2N

51、F的规范化时遵循的原则相同,即的规范化时遵循的原则相同,即“一事一地一事一地”,让一个关系只描述一个实体或者实体间的联系。让一个关系只描述一个实体或者实体间的联系。下面以下面以2NF2NF关系模式关系模式SDSD为例,来说明为例,来说明3NF3NF规范化的过程。规范化的过程。 返回返回40例例4.24.2将将SD(SNO,SN,AGE,DEPT,MN)SD(SNO,SN,AGE,DEPT,MN)规范到规范到3NF3NF。 分析SD的属性组成,可以判断,关系SD实际上描述了两个实体: 一个为学生实体,属性有SNO,SN,AGE,DEPT; 另一个是系的实体,其属性DEPT和MN。根据分解的原则,

52、我们可以将SD分解成如下两个关系,如图4.8所示。 S(SNO,SN,AGE,DEPT),描述学生实体; D(DEPT,MN),描述系的实体。 返回返回41S DS DSNOSNAGEDEPT DEPTMNS1赵亦17计算机 计算机刘伟S2钱尔18信息 信息王平S3孙珊20信息 自动化刘伟S4李思21自动化 对于分解后的两个关系S和D,主键分别为SNO和DEPT,不存在非主属性对主键的传递函数依赖。因此,S3NF,D3NF。图图4.8 4.8 关系关系S S和和D D 返回返回42 分解后,分解后,S S和和D D的函数依赖分别如图的函数依赖分别如图4.94.9和和4.104.10所示。所示。

53、SNOSNDEPTAGEDEPTMN图图4.9 S4.9 S中的函数依赖关系图中的函数依赖关系图图图4.10 D4.10 D中的函数依赖关系图中的函数依赖关系图由以上两图可以看出,关系模式SD由2NF分解为3NF后,函数依赖关系变得更加简单,既没有非主属性对键的部分依赖,也没有非主属性对键的传递依赖,解决了2NF中存在的四个问题。返回返回431数据冗余降低。系主任的名字存储的次数与该系的学生人数无关,只在关系D中存储一次。2不存在插入异常。当一个新系没有学生时,该系的信息可以直接插入到关系D中,而与学生关系S无关。3不存在删除异常。要删除某系的全部学生而仍然保留该系的有关信息时,可以只删除学生

54、关系S中的相关学生记录,而不影响系关系D中的数据。 4不存在更新异常。更换系主任时,只需修改关系D中一个相应元组的MN属性值,从而不会出现数据的不一致现象。 SCD规范到3NF后,所存在的异常现象已经全部消失。 但是,3NF只限制了非主属性对键的依赖关系,而没有限制主属性对键的依赖关系。 如果发生了这种依赖,仍有可能存在数据冗余、插入异常、删除异常和修改异常。 这时,则需对3NF进一步规范化,消除主属性对键的依赖关系,为了解决这种问题,Boyce与Codd共同提出了一个新范式的定义,这就是Boyce-Codd范式,通常简称BCNF或BC范式。它弥补了3NF的不足。返回返回444.3.4 BC4

55、.3.4 BC范式范式4.3.4.1 BC4.3.4.1 BC范式的定义范式的定义定义定义4.74.7 如果关系模式如果关系模式R R 1NF1NF,且所有的函数,且所有的函数依赖依赖XYXY(Y XY X), ,决定因素决定因素X X都包含了都包含了R R的一的一个候选键,则称个候选键,则称R R属于属于BCBC范式范式(Boyce-Codd Normal Form),记作,记作R R BCNFBCNF。BCNFBCNF具有如下性质:具有如下性质:1满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分函数依赖和传递函数依赖。也就是说,如果RBCNF,则R也是3NF。证明:采用反证法

56、。设R不是3NF。则必然存在如下条件的函数依赖,XY(Y X),YZ,其中X是键属性,Y是任意属性组,Z是非主属性,Z Y,这样YZ函数依赖的决定因素Y不包含候选键,这与BCNF范式的定义相矛盾,所以如果RBCNF,则R也是3NF。 返回返回452 2如果如果R R 3NF3NF,则,则R R不一定是不一定是BCNFBCNF。 现举例说明。设关系模式现举例说明。设关系模式SNCSNC(SNOSNO,SNSN,CN0CN0,SCORESCORE),其中),其中SNOSNO代表学号,代表学号,SNSN代表学生姓名并假设没有重名,代表学生姓名并假设没有重名,CNOCNO代表课程号,代表课程号,SCO

57、RESCORE代表成绩。可以判定,代表成绩。可以判定,SNCSNC有两个候选键(有两个候选键(SNOSNO,CNOCNO)和)和(SNSN,CNOCNO),其函数依赖如下:),其函数依赖如下:SNO SN(SNO,CNO)SCORE(SN,CNO)SCORE。 唯一的非主属性唯一的非主属性SCORESCORE对键不存在部分函数依赖,也不存在传递对键不存在部分函数依赖,也不存在传递函数依赖。所以函数依赖。所以SNCSNC 3NF3NF。 但是,因为但是,因为SNO SNSNO SN,即决定因素,即决定因素SNOSNO或或SNSN不包含候选键,从另不包含候选键,从另一个角度说,存在着主属性对键的部

58、分函数依赖:一个角度说,存在着主属性对键的部分函数依赖: (SNOSNO,CNOCNO) SNSN,(,(SNSN,CNOCNO) SNOSNO,所以,所以SNCSNC不是不是BCNFBCNF。 正是存在着这种主属性对键的部分函数依赖关系,造成了关系正是存在着这种主属性对键的部分函数依赖关系,造成了关系SNCSNC中存在着较大的数据冗余,学生姓名的存储次数等于该生所中存在着较大的数据冗余,学生姓名的存储次数等于该生所选的课程数。从而会引起修改异常。选的课程数。从而会引起修改异常。 比如,当要更改某个学生的姓名时,则必须搜索出现该姓名的每比如,当要更改某个学生的姓名时,则必须搜索出现该姓名的每个

59、学生记录,并对其姓名逐一修改,这样容易造成数据的不一致个学生记录,并对其姓名逐一修改,这样容易造成数据的不一致问题。问题。 解决这一问题的办法仍然是通过投影分解进一步提高解决这一问题的办法仍然是通过投影分解进一步提高SNCSNC的范式的范式等级,将等级,将SNCSNC规范到规范到BCNFBCNF。 p p返回返回464.3.4.2 BCNF4.3.4.2 BCNF规范化规范化 BCNFBCNF规范化是指把规范化是指把3NF3NF关系模式通过投影分解转换成关系模式通过投影分解转换成BCNFBCNF关系模式的集合。关系模式的集合。下面以下面以3NF3NF关系模式关系模式SNCSNC为例,来说明为例

60、,来说明BCNFBCNF规范化的过程。规范化的过程。例例4.34.3将将SNC(SNO,SN,CNOSNC(SNO,SN,CNO,SCORE)SCORE)规范到规范到BCNFBCNF。 分析分析SNCSNC数据冗余的原因,是因为在这一个关系中存在数据冗余的原因,是因为在这一个关系中存在两个实体,一个为学生实体,属性有两个实体,一个为学生实体,属性有SNOSNO、SNSN;另一个;另一个是选课实体,属性有是选课实体,属性有SNOSNO、CNOCNO和和SCORESCORE。 根据分解的原则,我们可以将根据分解的原则,我们可以将SNCSNC分解成如下两个关系:分解成如下两个关系:S1(SNO,SN

61、),描述学生实体;S2(SNO,CNO,SCORE),描述学生与课程的联系。 对于对于S1S1,有两个候选键,有两个候选键SNOSNO和和SNSN, 对于对于S2S2,主键为(,主键为(SNOSNO,CNOCNO)。)。 在这两个关系中,无论主属性还是非主属性都不存在在这两个关系中,无论主属性还是非主属性都不存在对键的部分依赖和传递依赖,对键的部分依赖和传递依赖,S1S1 BCNFBCNF,S2S2 BCNFBCNF。 返回返回47分解后,分解后,S1S1和和S2S2的函数依赖分别如图的函数依赖分别如图4.114.11和和4.124.12所示。所示。SNOSNSNOCNOSCORE图图4.11

62、 S14.11 S1中的函数依赖关系中的函数依赖关系 图图4.12 S24.12 S2中的函数依赖关系中的函数依赖关系 关系SNC转换成BCNF后,数据冗余度明显降低。学生的姓名只在关系S1中存储一次,学生要改名时,只需改动一条学生记录中的相应的SN值,从而不会发生修改异常。 返回返回48例例4.44.4设关系模式设关系模式TCSTCS(T T,C C,S S),),T T表示教师,表示教师,C C表示课程,表示课程,S S表表示学生。语义假设是,每一位教师只讲授一门课程;每门课程由示学生。语义假设是,每一位教师只讲授一门课程;每门课程由多个教师讲授;某一学生选定某门课程,就对应于一确定的教师

63、。多个教师讲授;某一学生选定某门课程,就对应于一确定的教师。 根据语义假设,根据语义假设,TCSTCS的函数依赖是:的函数依赖是:(S S,C C)TT,(,(S S,T T)CC,TCTC。 函数依赖图如图函数依赖图如图4.134.13所示。所示。 SCTSTC4.13 TCS4.13 TCS中的函数依赖关系中的函数依赖关系 返回返回49对于对于TCSTCS,(,(S S,C C)和()和(S S,T T)都是候选键,两个候选键相交,有)都是候选键,两个候选键相交,有公共的属性公共的属性S S。TCSTCS中不存在非主属性,也就不可能存在非主属性对中不存在非主属性,也就不可能存在非主属性对键

64、的部分依赖或传递依赖,所以键的部分依赖或传递依赖,所以TCSTCS 3NF3NF。但从但从TCSTCS的一个关系实例(如图的一个关系实例(如图4.144.14)分析,仍存在一些问题。)分析,仍存在一些问题。 TCST1C1S1T1C1S2T2C1S3T2C1S4T3C2S2T4C2S2T4C3S2图图4.14 4.14 关系关系TCSTCS 返回返回501 1数据冗余。数据冗余。虽然每个教师只开一门课,但每个选修该虽然每个教师只开一门课,但每个选修该教师该该门课程的学生元组都要记录这一信息。教师该该门课程的学生元组都要记录这一信息。2 2插入异常。插入异常。当某门课程本学期不开,自然就没有学生

65、当某门课程本学期不开,自然就没有学生选修。没有学生选修,因为主属性不能为空,教师上选修。没有学生选修,因为主属性不能为空,教师上该门课程的信息就无法插入。同样原因,学生刚入校该门课程的信息就无法插入。同样原因,学生刚入校, ,尚未选课,有关信息也不能输入。尚未选课,有关信息也不能输入。3 3删除异常。删除异常。如果选修某门课程的学生全部毕业,删除如果选修某门课程的学生全部毕业,删除学生记录的同时学生记录的同时, ,随之也删除了教师开设该门课程的信随之也删除了教师开设该门课程的信息。息。4 4更新异常。更新异常。当某个教师开设的某门课程改名后,所有当某个教师开设的某门课程改名后,所有选修该教师该

66、门课程的学生元组都要进行修改,如果选修该教师该门课程的学生元组都要进行修改,如果漏改某个数据,则破坏了数据的完整性。漏改某个数据,则破坏了数据的完整性。 返回返回51 分析出现上述问题的原因在于主属性部分依赖于键,分析出现上述问题的原因在于主属性部分依赖于键,(S S,T T)C C,因此关系模式还继续分解,转换成更高一,因此关系模式还继续分解,转换成更高一级的范式级的范式BCNFBCNF,以消除数据库操作中的异常现象。,以消除数据库操作中的异常现象。 将将TCSTCS分解为两个关系模式分解为两个关系模式STST(S S,T T)和)和TCTC(T T,C C),),消除函数依赖(消除函数依赖(S S,T T)C C。其中。其中STST的键为的键为S S,TCTC的键为的键为T T。STST BCNFBCNF,TCTC BCNFBCNF。这两个关系模式的函数依赖图分。这两个关系模式的函数依赖图分别如图别如图4.154.15和和4.164.16所示。所示。 STTC图图4.15 ST4.15 ST中的函数依赖关系中的函数依赖关系 图图4.16 TC4.16 TC中的函数依赖关系中的函数依

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!