版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 关系数据库2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数2.5 关系规范化2.6 小结2.4 关系代数 概述 传统的集合运算 专门的关系运算集合运算符-并差交笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义概 述专门的关系运算符 选择投影连接除逻辑运算符 非与或2.4 关系代数 概述传统的集合运算 专门的关系运算1. 并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S 2. 差(Difference)R和S具有相同的目n相应
2、的属性取自同一个域R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS 3. 交(Intersection)R和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S)4. 笛卡尔积(Cartesian Product)严格地讲应该是广义的笛卡尔积(Extended Cartesian Product) R: n目关系,k1个元组S: m目关系,k2个元组RS 列:(n+m)列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS = tr ts
3、|tr R tsS 交 (续)2.4 关系代数概述传统的集合运算专门的关系运算2.4.2 专门的关系运算先引入几个记号 (1) R,tR,tAi 设关系模式为R(A1,A2,An) 它的一个关系设为R tR表示t是R的一个元组 tAi则表示元组t中相应于属性Ai的一个分量 (2) A,tA, A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或属性组。 tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。 A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。专门的关系运算(续)(3) tr ts R为n
4、目关系,S为m目关系。 tr R,tsS, tr ts称为元组的连接。 tr ts是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。 (4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。 当tX=x时,x在R中的象集(Images Set)为: Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合专门的关系运算(续)选择投影连接除专门的关系运算(续)(a) Student4) 学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept2002
5、15121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course(b)(c)SC学号Sno课程号Cno成绩Grade2002151211922002151212852002151213882002151222902002151223801. 选择(Selection) 1) 选择又称为限制(Restriction)2) 选择运算符的含义在关系R中选择满足给定条件的诸元组 F
6、(R) = t|tRF(t)= 真F:选择条件,是一个逻辑表达式,基本形式为: X1Y13) 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算选择(续)例1 查询信息系(IS系)全体学生 Sdept = IS (Student)或 5 =IS (Student) 结果: SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19IS例2 查询年龄小于20岁的学生 Sage 20(Student) 或 4 20(Student)结果: SnoSnameSsexSageSdept200215122刘晨女19IS200215123王
7、敏女18MA200215125张立男19IS2. 投影(Projection) 1)投影运算符的含义从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列 2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)投影(续)例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)SnameSdept李勇CS刘晨IS王敏MA张立IS例4 查询学生关系Student中都有哪些系 Sdept(Student)结果:Sdep
8、tCSISMA结果:3. 连接(Join) 1)连接也称为连接2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组 ABtr ts 连接(续) 3)两类常用连接运算等值连接(equijoin) 什么是等值连接为“”的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = | tr Rts StrA =
9、 tsB A=Btr ts 连接(续) 自然连接(Natural join) 自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组B R S = | tr Rts StrB = tsB tr ts连接(续)4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。 ABRS连接(续)例5关系R和关系S 如下所示:一般连接 R S的结果如下: CE 连接(续) 等值连接 R S 的结果如下:R.B=S.B 自然连接 R S的结果如下: 连接(续)外连接如果把舍弃的元组也保存
10、在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。左外连接如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。 连接(续)下图是例5中关系R和关系S的外连接 图(b)是例5中关系R和关系S的左外连接,图(c)是右外连接 4. 除(Division) 给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除
11、运算得到一个新的关系P(X),P是R中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作: RS =trX|trRY(S)Yx Yx:x在R中的象集,x =trX除(续)除操作是同时从行和列角度进行运算RS除(续)例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c) 分析在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6)S在(B,C)上的投影为 (b1,c2),(b2,c
12、1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影 所以 RS =a1 除法运算(Division):设关系R和S的度数分别为n和m(nm0),那么RS是一个度数为(nm)的关系,它满足下列条件:RS中的每个元组t与S中每个元组u所组成的元组(t,u)必在关系R中。为叙述方便起见,我们假设S的属性为R中的后m个属性,则RS的具体计算过程如下: (1) T1,2,n-m(R) (2) W(TS)R (即计算TS中但不在R中的元组) (3) V1,2,n-m(W) (4) RSTV除法运算(补充)关系R和S 的除法RS ABCDa1a1a1a2a3a3b1b1b1b2b3b3c
13、1c2c3c2c1c2d1d2d3d2d1d2CDc1c2d1d2ABa1a2a3b1b2b3ABCDa2b2c1d1ABa2b2ABa1a3b1b3RSTWVR S 5综合举例 以学生-课程数据库为例 (P56)例7 查询至少选修1号课程和3号课程的学生号码首先建立一个临时关系K: 然后求:Sno,Cno(SC)K Cno 1 3SnoCno20021512112002151212200215121320021512222002151223200215121象集 1,2,3200215122象集 2,3K=1,3于是:Sno,Cno(SC)K= 200215121综合举例(续)例8 查询选修
14、了2号课程的学生的学号。 Sno(Cno=2(SC) 200215121,200215122例9 查询至少选修了一门其直接先行课为5号课程的学生姓名 Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course) SC Sno,Sname(Student)或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student) 例10 查询选修了全部课程的学生号码和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student) 小结 关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择
15、、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达关系代数表达式关系代数运算经有限次复合后形成的式子19 七月 20222.4 关系数据库规范化理论 2.5.1 关系模式规范化的必要性2.5.2 数值依赖 2.5.3 范式与规范化 2.5.4 关系分解原则 关系数据库的规范化2.5.1 关系规范化的必要性每个关系由哪些属性组成?1.关系数据库逻辑设计问题 构造几个关系?关系数据库关系属性关系数据库的设计归根到底是如何构造关系,即如何把具体的客观事物划分为几个关系,而每个关系又由哪些属性组成,就是要构造“好的”、“合适”
16、的关系模式。由于合适的关系模式要符合一定的规范化要求,所以又称其为关系数据库的规范化理论。382.规范化理论研究的内容 (1)函数依赖核心模式分解和设计的基础(2)范式模式分解的标准(3)模式设计19 七月 20222.5.1 关系模式规范化的必要性1. 关系模式应满足的条件2. 关系规范化可能出现的问题19 七月 2022 关系数据库的设计主要是关系模式的设计。关系模式设计的好坏将直接影响到数据库设计的成败。将关系模式规范化,使之达到较高的范式是设计好关系模式的唯一途径。否则,所设计的关系数据库会产生一系列的问题。19 七月 20221.关系模式应满足的条件 关系数据库是根据关系模式设计的。
17、好的关系模式除了能满足用户对信息存储和查询的基本要求外,还应当使它的数据库满足如下要求。 元组的每个分量必须是不可分的数据项 关系数据库特别强调,关系中的属性不能是组合属性,必须是基本项,并把这一要求规定为鉴别表格是否为“关系”的标准。如果表格结构的数据项都是基本项,则该表格为关系,它服从关系模式的第一范式,以后可以在此基础上进一步规范化。否则,如果表格结构中含有组合项,必须先使之转换为基本数据项。 19 七月 2022 数据库中的数据冗余应尽可能少数据冗余大是指数据库中重复的数据过多。“数据冗余”是数据库最忌讳的毛病,数据冗余会使数据库中的数据量巨增,系统负担过重,并浪费大量的存储空间。数据
18、冗余还可能造成数据的不完整,增加数据维护的代价。数据冗余还会造成数据查询和统计的困难,并导致错误的结果。尽管关系数据库是根据外键建立关系之间的连接运算的,外键数据是关系数据库不可消除的“数据冗余”,但在设计数据库时,应千方百计将数据冗余控制在最小的范围内,不必要的数据冗余应坚决消除。19 七月 2022 关系数据库不能因为数据更新操作而引起数据不一致问题 如果数据模式设计的不好,就可能造成不必要的数据冗余,一个信息就会多次的在多地重复存储。对于“数据冗余大”的关系数据库,当执行数据修改时,这些冗余数据就可能出现有些被修改,有些没有修改,从而造成数据不一致问题。数据不一致问题影响了数据的完整性,
19、使得数据库中数据的可信度降低。19 七月 2022 当执行数据插入操作时,数据库中的数据不能产生插入异常现象 所谓插入异常是指希望插入的信息由于不能满足数据完整性的某种要求而不能正常地被插入到数据库的异常问题。 出现数据插入异常问题的主要原因是由于多种信息混合放在一个表中,就可能造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题,这是使得信息不能独立插入的关键所在。19 七月 2022 数据库中的数据不能在执行删除操作时产生删除异常问题 删除异常是指在删除某种信息的同时把其他信息也删除了。删除异常也是数据库结构不合理产生的毛病。和插入异常一样,如果关系中多种信息捆绑在一起,当被
20、删除信息中含有关系的主属性时,由于关系要满足实体完整性,整个元组将全部从数据库中被删除,即出现删除异常。19 七月 2022 数据库设计应考虑查询要求,数据组织应合理 在数据库设计时,不仅要考虑到数据自身的结构完整性,还要考虑到数据的使用要求。为了使数据查询和数据处理高效简洁,特别是对那些查询实时性要求高、操作频度大的数据,有必要通过视图、索引和适当增加数据冗余的方法,来增加数据库的方便性和可用性。19 七月 20222. 关系规范化可能出现的问题 在我们构造关系时,经常会发现数据冗余和更新异常等现象,这是由关系中各属性之间的相互依赖性和独立性造成的。如果一个关系没有经过规范化,可能会导致上述
21、谈到的数据冗余大、数据更新造成不一致、数据插入异常和删除异常问题。 例如,要求设计一个教学管理数据库,希望从该数据库中得到学生学号、姓名、性别、年龄、所在系、系主任姓名、学生学习的课程和该课程的成绩信息。若将此信息要求设计为一个关系,则关系模式为:学生(学号,姓名,性别,年龄,所在系,系主任姓名,课程名,成绩)。 此关系模式的主键为(学号,课程名)。仅从关系模式上看,该关系已经包括了需要的信息,如果按此关系模式建立关系,并对它进行深入分析,就会发现其中的问题所在。19 七月 2022 该关系存在着如下问题: 数据冗余大。每一个“所在系”和“系主任姓名”存储的次数等于该系的学生人数乘以每个学生选
22、修的课程门数。 插入异常。一个新系没有招生时,“所在系”和“系主任姓名”无法插入到数据库中,因为在这个关系模式中,主键是(学号,课程名),而这时因没有学生而使得学号无值,所以没有主属性值,关系数据库无法操作,因此引起插入异常。 删除异常。当一个系的学生都毕业了而又没招新生时,删除了全部学生记录,随之也删除了“所在系”和“系主任姓名”。这个系依然存在,而在数据库中却无法找到该系的信息,即出现了删除异常。 更新异常。若某系更换系主任,数据库中该系的学生记录应全部修改。如有不慎,某些记录漏改了,则造成数据的不一致出错,即出现了更新异常。19 七月 20222.5.2 数据依赖 1. 函数依赖2. 平
23、凡函数依赖与非平凡函数依赖 3. 完全函数依赖与部分函数依赖 4. 传递函数依赖 19 七月 2022数据之间存在的各种联系现象称为数据依赖(Data Dependency),它是同一关系中属性间的相互依赖和相互制约。而数据冗余和更新异常等现象与数据依赖有着紧密的关联。关系规范理论致力于解决关系模式中不合适的数据依赖问题。在数据依赖中,函数依赖(Functional Dependency,FD)是最基本的一种依赖形式,它反映了同一关系中属性间一一对应的约束,它是关系模式中属性之间最常见的一种依赖关系,也是关系模式中最重要的一种约束。19 七月 2022 函数依赖普遍地存在于现实生活中。例如,描
24、述一个学生的关系,可以有“学号”、“姓名”、“所在系”等几个属性。由于一个学号只对应一个学生,一个学生只在一个系。因而当“学号”值确定之后,姓名及其所在系的值也就被唯一地确定了。属性间的这种依赖关系类似于数学中的函数。因此说学号函数决定姓名和所在系,或者说姓名和所在系函数依赖于学号,记作:学号姓名,学号所在系。 19 七月 2022关系模式的表示关系模式的完整表示:RR为关系名,U为关系的属性集合D为属性集U中属性的数据域DOM为属性到域的映射F为属性集U的数据依赖集简化表示:R19 七月 20221. 函数依赖假设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意
25、一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。注意:X和Y都是属性组,如果XY,表示X中取值确定时,Y中的取值惟一确定,即X决定Y或Y函数依赖于Y,X是决定因素。函数依赖类似于数学中的单值函数,函数的自变量确定时,应变量的值惟一确定。反映了关系模式中属性间的决定关系,体现了数据间的相互关系。 19 七月 2022例7:学生(学号,姓名,性别,年龄,班级号) 存在以下的函数依赖: 学号姓名 学号性别 学号年龄 学号班级号说明: 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关
26、系实例均要满足的约束条件。 函数依赖是RDB用以表示数据语义的机制。人们只能根据数据的语义来确定函数依赖。例:“姓名年龄”这个函数依赖只有在没有相同姓名人的条件下成立。若有相同姓名的人,则“年龄”就不再函数依赖于“姓名”了。19 七月 2022 DB设计者可对现实世界作强制规定例:在学生关系中,设计者可强行规定不允许出现相同姓名的人,因而使函数依赖“姓名年龄”成立。当插入某元组时,该元组上的属性值必须满足规定的函数依赖,若发现有相同姓名的人存在,则拒绝插入该元组。 若XY,则X称为这个函数依赖的决定属性集。 若XY,并且YX,则记为XY。 若Y不函数依赖于X,则记为X Y。19 七月 2022
27、2. 平凡函数依赖与非平凡函数依赖在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡函数依赖。若Y X,则称XY为平凡函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。 19 七月 20223. 完全函数依赖与部分函数依赖完全函数依赖:在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y完全函数依赖于X,记作X Y。部分函数依赖:若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X Y。 fp 19 七月 2022例8: 学生(学号,姓名,所在系,系主任姓名,
28、课程号,成绩) 学生关系模式存在的部分函数依赖: (学号,课程号) 姓名 (学号,课程号) 所在系 (学号,课程号) 系主任姓名ppp19 七月 20224. 传递函数依赖在关系模式R(U)中,如果XY,YZ,且Y X,Z Y,Y X,则称Z传递函数依赖于X。 例9:学生(学号,姓名,所在系,系主任姓名,课程名,成绩),存在如下的函数依赖: 学号所在系 所在系系主任姓名 学号系主任姓名19 七月 20222.5.3 关系的 范式及规范化1. 第一范式(1NF)2. 第二范式(2NF)3. 第三范式(3NF)4BC范式5多值依赖6第四范式 19 七月 2022 范式是衡量关系模式优劣的标准。范式
29、的级别越高,其数据冗余和操作异常现象就越少。范式之间的联系可以表示为 :1NF 2NF 3NF BCNF 4NF 5NF后面的范式可以看成是前面范式的特例。对于数据库设计者来,1NF和2NF本身并不重要,最重要的是3NF和BCNF两种范式。关系仅仅满足第一范式的条件是不够的,尤其在增、删、改时,往往会出现更新异常。这在前面的关系规范化的必要性中讨论过。为了消除这些异常,人们采用分解的办法,力求使关系的语义单纯化,这就是所谓关系的规范化。通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合,这一过程称为规范化。19 七月 20221. 第一范式(1NF)若一个关系模式R的所有属
30、性都是不可分的基本数据项,则该关系属于1NF 。在任何一个RDBS中,1NF是对关系模式的一个必须的要求,不满足1NF的DB模式不能称为RDB。 DB模式:多个关系模式的集合。满足1NF的关系模式并不一定是好的关系模式。例如:学生(学号,姓名,所在系,系主任姓名,课程名,成绩)它显然满足1NF,但本身存在插入异常、删除异常、更新异常和数据冗余问题,所以它不是一个好的关系模式。19 七月 20222. 第二范式(2NF)若关系模式R属于1NF,且每个非主属性都完全函数依赖于主关键字,则R属于2NF 。2NF不允许关系模式中的非主属性部分函数依赖于主关键字。 19 七月 2022下面分析一下关系模
31、式“学生”的函数依赖,看它是否服从2NF。如果“学生”模式不服从2NF,可以根据2NF的定义对它进行分解,使之服从2NF。在学生模式中:属性集=(学号,姓名,性别,年龄,所在系,系主任名称,课程名,成绩)函数依赖集=学号姓名,学号性别,学号年龄,学号所在系,所在系系主任名称,(学号,课程名)成绩。主键=(学号,课程名)。非主属性=(姓名,年龄,所在系,系主任姓名,成绩)。p19 七月 2022非主属性对键的函数依赖=(学号,课程名)姓名,(学号,课程名)性别,(学号,课程号)年龄,(学号,课程名)所在系,(学号,课程名)系主任姓名;(学号,课程名)成绩。显然,学生模式不服从2NF,即:教学不属
32、于2NF。19 七月 2022 根据2NF的定义,将学生模式分解为;学生-系(学号,姓名,性别,年龄,所在系,系主任姓名);选课(学号,课程名,成绩)。再用2NF的标准衡量学生-系和选课模式,会发现它们都服从2NF,即:学生系2NF;选课2NF。19 七月 20223. 第三范式(3NF)若关系模式R属于1NF,且每个非主属性都不传递依赖于主关键字,则R属于3NF。若R3NF,则每一个非主属性既不部分函数依赖于主键,也不传递函数依赖于主键。3NF是一个可用的关系模式应满足的最低范式。也就是说,一个关系模式如果不服从3NF,实际上它是不能使用的。 19 七月 2022考查学生-系关系,会发现由于
33、学生-系的关系模式中存在:学号所在系,所在系系主任姓名。则:学号系主任姓名。由于主键“学号”与非主属性“系主任姓名”之间存在传递函数依赖,所以学生-系不属于3NF。如果对学生-系关系按3NF的要求进行分解,分解后的关系模式为:学生(学号,姓名,性别,年龄,所在系);教学系(所在系,系主任姓名)。显然分解后的各子模式均属于3NF。19 七月 20224BC范式若关系模式R属于第一范式,且每个属性都不传递依赖于主键,则R属于BC范式。通常BC范式的条件有多种等价的表述:每个非平凡依赖的左边必须包含主键;每个决定因素必须包含主键。从定义可以看出BC范式既检查非主属性,又检查主属性,显然比第三范式限制
34、更严。当只检查非主属性而不检查主属性时,就成了第三范式。因此可以说任何满足BC范式的关系都必然满足第三范式。 19 七月 2022 分析下面的关系是否满足BC范式。S11(学号,姓名,所在系)S12(所在系,系主任姓名)S2(学号,课程名,成绩)S11关系模式中,由于学生有可能重名,因此它只有一个主键“学号”,且只有一个函数依赖:学号(姓名,所在系),符合BC范式的条件,所以S11满足BC范式。S12关系模式中,函数依赖集为所在系系主任姓名,满足BC范式。S2关系模式中,主键为学号、课程名,函数依赖集为(学号,课程名)成绩,因此S2也满足BC范式。19 七月 2022 如果R属于BC范式,由于R排除了任何属性对码的传递依赖与部分依赖,所以R一定属于3NF。但是,若R3NF,则R未必属于BC范式。 BC范式比3NF又进了一步。通常认为BC范式是修正的第三范式,有时也称它为扩充的第三范式。19 七月 2022 对关系模式进行分解的目的:使关系模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冰箱的租赁合同范文
- 参建住宅协议书的编写范本
- 交通银行借款合同范本
- 房屋租赁合同终止声明书
- 物业公司管理协议书
- 旅游合作开发合同范文点评
- 建筑劳务分包合同格式范本
- 广东省茶叶原料采购合同模板
- 工程劳动力和施工合同示例
- 员工劳动合同续签互用协议
- 正余弦定理知识点权威总结18页
- 国企纪检监察嵌入式监督的探索与实践
- 浅议小升初数学教学衔接
- 设备安装应急救援预案
- 深基坑工程降水技术及现阶段发展
- 暂堵压裂技术服务方案
- 《孔乙己》公开课一等奖PPT优秀课件
- 美的中央空调故障代码H系列家庭中央空调(第一部分多联机)
- 业主委员会成立流程图
- (完整版)全usedtodo,beusedtodoing,beusedtodo辨析练习(带答案)
- 广联达办公大厦工程施工组织设计
评论
0/150
提交评论