自考数据库系统原理复习总结

上传人:jin****ng 文档编号:218881012 上传时间:2023-06-22 格式:DOCX 页数:39 大小:52.35KB
收藏 版权申诉 举报 下载
自考数据库系统原理复习总结_第1页
第1页 / 共39页
自考数据库系统原理复习总结_第2页
第2页 / 共39页
自考数据库系统原理复习总结_第3页
第3页 / 共39页
资源描述:

《自考数据库系统原理复习总结》由会员分享,可在线阅读,更多相关《自考数据库系统原理复习总结(39页珍藏版)》请在装配图网上搜索。

1、第一章 数据库系统基本概念要求、目标:本章属于基础知识,主要是对一些概念的理解和记忆。没有难点, 相对的重点是数据管理技术的发展阶段,数据描述的术语,数据抽象 的四个级别,数据库管理系统的功能,数据库系统的组成。一、数据管理技术的发展1. 分为四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库阶段。2. 数据库阶段数据管理的特点:1) 采用数据模型表示复杂的数据结构.2) 有较高的数据独立性。3) 数据库系统为用户提供了方便的用户接口。4) 提供四方面的数据控制功能:数据库的恢复、数据库的并发控制、数据的完整性、数据安全性。5) 增加了系统的灵活性.3. 数据库(DB):是长期存储在

2、计算机内、有组织的、统一管理的相关数据的集合。4. 数据库管理系统(DBMS):是位于用户与操作系统之间的一层数 据管理软件,它为用户或应用程序提供访问DB的方法:包括 DB 的建立、查询、更新及各种数据控制。5. 数据库系统(DBS):是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,它是采用数据库技术的计算机系统。二、数据描述1. 分为三个阶段:概念设计、逻辑设计和物理设计2. 概念设计中的术语:1)实体:客观存在,可以相互区别的事物称为实体。2)实体集:性质相同的同类实体的集合。3)属性:实体有很多特性,每一个特性称为属性。4)实体标识符(关键

3、码或键):能惟一标识实体的属性或属性集。以上概念均有类型和值之分。3. 逻辑设计中的术语:1)字段(数据项):标记实体属性的命名单位称为字段或数据项.2)记录:字段的有序集合。3)文件:同一类记录的集合。4)关键码:能惟一标识文件中每个记录的字段或字段集。以上概念均有类型和值之分。4. 概念设计和逻辑设计中术语的对应关系:概念设计 逻辑设计实体 一 记录属性 一字段(数据项)实体集 一文件实体标识符 一 关键码5. 实体之间联系的元数:与一个联系有关的实体集个数。常用二元 联系。二元联系的类型有三种:一对一联系、一对多联系、多对多联系。6. 一对一联系:如果实体集 El 中每个实体至多和实体集

4、 E2 中的一 个实体有联系.反之亦然,那么实体集 El 和 E2 的联系称为“一对 一联系”,记为“1:1”.7. 一对多联系:如果实体集 E1 中每个实体与实休集 E2 中任意个(零 个或多个)实体间有联系,而 E2 中每个实体至多和 El 中一个实体 有联系,那么称El对E2的联系是“一对多联系”.记为“1:N” .8. 多对多联系:如果实体集 El 中每个实休可以与实体集 E2 中任意 个(零个或多个)实体间有联系.反之亦然,那么称 El 和 E2 的联系是 “多对多联系”,记为“ M: N.三、教据抽象的级别1. 数据模型:描述数据库的结构和定义.对现实世界的数据进行抽 象。2. 从

5、现实世界的信息到数据库存储的数据以及用户使用的数据 是一个逐步抽象过程 .根据数据抽象的级别定义了四种模型 :概念模 型、逻辑模型、外部模型和内部模型。3. 概念模型:表达用户需求观点的数据全局逻辑结构的模型。4. 逻辑模型:表达计算机实现观点的 DB 全局逻辑结构的模型。5. 外部模型:表达用户使用观点的 DB 局部逻辑结构的模型。6. 内部模型:表达 DB 物理结构的模型。7. 数据抽象的过程、即数据库设计的过程具体步骤:1)根据用户需求,设计数据库的概念模型:2)根据转换规则,把概念模型转换成数据库的逻辑模型 3)根据用户的业务特点,设计不同的外部模型,给程序员使用:4)数据库实现时,要

6、根据逻辑模型设计其内部模型。通常分为概念设计、逻辑设计(2 和 3 步)和物理设计三个阶段。8. 常用的概念模型是实体联系(ER)模型.ER模型主要用ER图来表示。9. 逻辑模型的分类:层次模型、网状模型、关系模型.10. 层次模型 :用树型(层次)结构表示实体及实体间联系的数据模型。11. 1969年,美国 IBM 公司的 IMS 系统是典型的层次模型系统.12. 网状模型:用有向图结构表示实体及实体间联系的数据模型。13. 1969年,CODASYL组织提出DBTG报告中的数据模型是网状状模型的主要代表。14. 关系模型:是由若干个关系模式组成的集合.关系模式即记录类 型,它的实例称为关系

7、,每个关系实际上是一张二维表格.15. 1970年,美国IBM公司的E.F.Codd连续发表论文.提出关系模型,奠定了关系数据库的理论基础。关系数据库是目前的主流 数据库。16. 外部模型中的模式称为视图。17. 三级模式:从用户(或应用程序)到数据库之间,DB的数据结构描述有三个层次:1) 外模式:用户与数据库系统的接口是用户用到的那部分数据的描 述。外模式由若干个记录类型组成.2) 逻辑模式:是数据库中全部数据的整体逻辑结构的描述。3) 内模式:是数据库在物理存储方面的描述。18.两级映像:1) 外模式逻辑模式映像 :存在于外模式和逻辑模式之间 .用于定义外模式和逻辑模式之间的对应性。2)

8、 逻辑模式内模式映像:存在于逻辑模式和内模式之间 .用于定 义逻辑模式和内模式之间的对应性。19.数据库系统的三级模式、两级映像结构使数据库系统达到了高 度的数据独立性。20.数据独立性 :是指应用程序与数据库的数据结构之间相互独立 . 在修改数据结构时.尽可能不修改应用程序。分为逻辑数据独 立性和物理数据独立性。21.逻辑数据独立性:如果数据库的逻辑模式要修改 .那么只要对外 模式/逻辑模式映像作相应的修改.可以使外模式和应用程序尽 可能保持不变.这样就认为数据库达到了逻辑数据独立性.22.物理数据独立性:如果数据库的内模式要修改,即数据库的物理 结构有所变化.那么只要对逻辑模式/内模式映像

9、作相应的修改, 可以使逻辑模式尽可能保持不变。也就是对内模式的修改尽量不 影响逻辑模式,当然对外模式和应用程序的影响更小 .这样就认为数据库达到了物理数据独立性。四、数据库管理系统(DBMS )1 . DBMS的主要功能:数据库的定义功能(DBMS提供DLL,定义 数据库的三级模式、两级映像等 )、数据库的操纵功能 (提供DML 实现对数据的操作,基本的数据操作有检索和更新两类)、数据库的保护功能、数据库的维护功能、数据字典。五、数据库系统(DBS)1. DBS 的组成:是数据库、硬件、软件和数据库管理员的集合体.2. 软件包括DBMS、OS、各种主语言和应用开发支撑软件等程序。 其中,DBM

10、S是DBS的核心软件.要在OS支付下才能工作。3. 数据库管理员(DBA ):是控制数据整体结构的一组人员,负责DBS 的正常运行,承担创建、监控和维护数据库结构的责任。第二章 数据库设计和 ER 模型要求、目标:本章总的目的要求是了解和掌握数据库应用系统设计的全过程, 掌握 ER 模型和关系模型的基本概念,掌握概念设计中 ER 棋型的设 计方法,掌握逻辑设计中 ER 模型向关系模型转换的方法。一、数据库系统生存期1. 数据库系统生存期:数据库应用系统从开始规划、设计、实现、维护 到最后被新的系统取代而停止使用的整个期间。2. 数据库系统生存期分七个阶段:规划、需求分析、概念设计、逻辑设 计、

11、物理设计、实现、运行维护。3. 规划阶段三个步骤:系统调查、可行性分析、确定数据库系统总目标。4. 需求分析阶段:主要任务是系统分析员和用户双方共同收集数据库 系统所需要的信息内容和用户对处理的需求,并以需求说明的形式确 定下来。5. 概念设计阶段:产生反映用户单位信息需求的概念模型。与硬件和 DBMS 无关6.逻辑设计阶段:将概念模型转换成 DBMS 能处理的逻辑模型。外模 型也将在此阶段完成。7.物理设计阶段:对于给定的基本数据模型选取一个最适合应用环境 的物理结构的过程。数据库的物理结构主要指数据库的存储记录格 式、存储记录安排和存取方法。8. 数据库的实现: 包括定义数据库结构、数据装

12、载、编制与调试应用程序、数据库试运行。二、ER模型的基本概念1. ER 模型的基本元素是:实体、联系和属性。2. 实体:是一个数据对象,指应用中可以区别的客观存在的事物。 实体集:是指同一类实体构成的集合。 实体类型:是对实体集中实体的定义。一般将实体、实体集、实体类型统称为实体。3. 联系:表示一个或多个实体之间的关联关系。 联系集:是指同一类联系构成的集合。 联系类型:是对联系集中联系的定义。 一般将联系、联系集、联系类型统称为联系。4. 同一个实体集内部实体之间的联系,称为一元联系:两个不同实体集 实体之间的联系,称为二元联系,以此类推。5. 属性:实体的某一特性称为属性。在一个实体中,

13、能够惟一标识实体 的属性或属性集称为实体标识符.6. ER 模型中,方框表示实体、菱形框表示联系、椭圆形框表示属性 实体与联系、实体与其属性、联系与其属性之间用直线连接 .实体 标识符下画横线。联系的类型要在直线上标注。注意 :联系也有可 能存在属性,但联系本身没有标识符。7. 概念设计三个步骤:设计局部 ER 模型、设计全局 ER 模型和全局 ER 模型的优化。三、关系模型的基本概念1. 关系模型的定义:用二维表格表示实体集,用关键码表示实体之间 联系的数据模型.2. 在关系模型中,字段称为属性,字段值称为属性值,记录类型称 为关系模式。记录称为元组,元组的集合称为关系或实例。有时 习惯称关

14、系为表或表格,元组为行,属性为列。关系中属性个数称为元数,元组个数称为基数。3.关键码(简称健):由一个或多个属性组成。4. 超键:在关系中能惟一标识元组的属性集称为关系模式的超键。5.候选键:不含有多余属性的超键。6. 主键:用户选作元组标识的候选键。一般如不加说明,键是指主键。7.外键:如果模式R中属性集K是其他模式的主键.那么K在模式R中称为外键。8. 值域:关系中每一个属性都有一个取值范围.称为属性的值域.每个属性对应一个值域,不同的属性可对应于同一值域。9. 关系的定义:关系是一个属性数目相同的元组的集合。10. 关系的性质:关系是一种规范化的二维表格。I )关系中每一个属性值都是不

15、可分解的:2)关系中不允许出现重复元组;3)关系没有行序;4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的 顺序。11.关系数据库中的数据与更新操作必须遵循三类完整性规则:实体完整性规则、参照完整性规则、用户定义的完整性规则。12. 实体完整性规则:要求关系中元组在组成主键的属性上不能有空 值。13. 参照完整性规则:如果属性集K是关系模式RI的主建,K也是 关系模式 R2 的外键.那么在 R2 关系中, K 的取的只允许两种可 能,或者为空值或者等于 R1 关系中某个主键值。这条规则的实 质是不允许引用不存在的实体。其中, R1 称为参照关系, R2 称 为依赖关系。注意:这条规则

16、在具体使用时.有三点变通:1)外键和相应的主键可以不同名.只要定义在相同值域 上即可:2)RI 和 R2 可以是同一个关系模式.此时表示了同一个关系中不 同元组之间的联系。3)外键值是否允许空,应视具体问题而定。14. 用户定义的完整性规则:用户针对具体的数据约束,设置的完整 性规,由系统来检验实施。四、ER模型到关系模型的转换1 . ER 图转换成关系模式集的算法:1)实体类型的转换:将每个实体类型转换成一个关系模式.实体的 属性即为关系模式的属性.实休标识符即为关系模式的键。2)联系类型的转换:主要掌握二元联系类型的转换。a)若实体间联系是1: 1,可以在两个实体类型转换成的关系模 式中任

17、意一个关系模式的属性中加入另一个关系模式的键(作为外健)和联系类型的属性。b)若实体联系是1: N,则在N端实体类型转换成的关系换式中加入 1 端实体类型的键(作为外键和联系类型的属性。c)若实体间联系是M: N.则将联系类型也转换成关系模式.其属性为两端实体类型的键(作为外健)加上联系类 M 的属性.而 键为两端实体键的组合。第三章 关系模式设计理论要求、目标:本章特点是理论性较强,应从概念着手,搞清概念间的联系和作 用。了解关系数据库规范化理论及其在致据库设计中的作用。本章的 重点是函数依赖、无损分解、保持依赖和范式。重点是函数依赖和范 式,要求掌握这些概念并能运用它们来进行模式分解。一、

18、关系模式的设计准则 1.数据冗余:同一个数据在系统中多次重复出现, 2.关系模式设计不当引起的异常问题:数据冗余、操作异常(包括修改 异常、插入异常和删除异常)3. 关系模式的非形式化设计准则1)关系模式的设计应尽可能只包含有直接联系的属性,不要包含有 间接联系的属性。也就是每个关系模式应只对应于一个实体类型或 一个联系类型。2)关系模式的设计应尽可能使相应关系中不出现插入异常、删除和 修改等操作异常现象。3)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的 属性。4)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属 性上进行,并且保证以后不会生成额外的元组。4. 习惯使用的一

19、些符号:1 )英文字母表首部的大写字母A. B. C.”表示单个的属性。2) 英文字母表尾部的大写字母“.U. VW. X. Y Z表示属性集。3) 大写字母 R 表示关系模式.小写字母 r 表示其关系。4) 关系模式的简化表示方法:R (A. B. C.)5) 属性集 x 和 Y 的并集简写为 XY.二、函数依赖1. 函数依赖(FD的定义:设有关系模式R (U). X和Y是属性集U 的子集.函数依赖是形成XTY的一个命题,只要r足R的当 前关系.对r中任意两个元组t和s.都有tXJ=sX蕴涵 tYJ=sY;那么称FD XTY在关系模式R (U)中成立.说明:1) tX表示元组t在属性集x上的

20、值.其余类同。2) XTY读作“X函数决定Y”或“Y函数依赖于x”3) FD是对关系模式R的一切可能的关系r定义的.对于当 前关系 r 的任意两个元组,如果 x 值相同,则要求 Y 值 也相同. 即有一个 x 值就有一个 Y 值与之对应,或者 说 Y 值由 X 值决定。2. FD的逻辑蕴涵:设F是在关系模式R上成立的函数依赖的集合XTY是一个函数依赖。如果对于R的每个满足F的关系r 也满足XTY.那么称F逻辑蕴涵XTY.记为FI=XTY.3. 设 F 是函数依赖集.被 F 逻辑蕴涵的函数依赖全体构成的集合. 称为的函数依赖集 F 的闭包,记为 F+。4. FD的推理规贝(Armstrong公理

21、)设U是关系模式R的属性集.F是R上成立的只涉及到U中属 性的函数依赖集。1)自反性:若YWXWU.则XTY在R上成立。2)增广性:若XTY在R上成立,且ZEU.则XZTYZ在R 上成立。3)传递性:若XTY和YTZ在R上成立,则XTZ在R上 成立。5.FD 的其他五条推理规则:1)合并性2)分解性3)伪传递性4)复合性5);X-Y. W-Z 卜 XU (W-Y)一、Z6. 对于FD XTY,如果YEX,那么称XTY是一个“平凡的FD.否则称为“非平凡的FD.通常研究非平凡FD.7. 函数依赖是关键码概念的推广。设关系模式R的属性集是U,X是U的一个子集。如果XTU 在R上成立.那么称x是R的

22、一个超键.如果XTU在R上成立. 但对于R的任一真子集X1,有X1TU不成立,那么称X是R 的一个候选键。在关系模式设计理论中.键通常是指候选键。8. 属性集的闭包9. 设F足属性集U上的FD 集, X上U的子集,那么(相对于)属性彼X的闭包用X+表示,它是一个从F集使用FD推理 规则推出的所有满足XTA的属性A的集合。10. XTY能用FD推理规则推出的允分必要条件是Y EX+从而 避开求F+,使问题得到简化。三、关系模式的分解特性1.关系模式的分解:设有关系模式R (U).属性集为U.而R,. R2.,Rk都是U的子集,井且有R1UR2U.URI=U.关系摸式R1. R2.,RI的 集合用

23、P表示,P=R1, R2,,RK用P代替R的过程称 为关系模式的分解.这里P称为R的一个分解.也称为数据库 模式。2.o和r是否等价.即是否表示同样的数据。这个问题用“无损 分解”特性表示。四、范式1. 范式:衡量关系模式好坏的标准。2. 数据库设计中最常用的是 3NF 和 RCN F.3. 第一范式(1NF):如果关系模式R的每个关系r的属性值都是 不可分的原子值,那么称 R 是第一范式的模式。满足 1NF 的关系称为规范化的关系 .否则称为非规范化的关系。 1NF 是关系模式应具备的最起码的条件。4. 局部依赖和完全依赖:对于FD WTA.如果存在X W有 XTA成立.那么称WTA是局部依

24、赖(A局部依赖于W):否 则称WTA是完全依赖。5. 主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称 A 是 R 的主属性:否则称 A 是 R 的非主属性。6. 第二范式(2NF):如果关系模式是1NF,且每个非主属性完 全函数依赖于候选键.那么称R是第二范式(2N F)的模式。7. 分解成 2NF 模式集的算法:设关系模式R(U),主键是W, R上还存在FD XTZ,并且Z 是非主属性和Xu W那么WTZ就是一个局部依赖。此时应 把 R 分解成两个模式:Rl(XZ),主键是X:R2(Y),其中Y=U-Z.主键仍是W,外键是X(参照R1).如果R1和R2还不是2NF.则.则重复上

25、述过程,一直到数据库模式中的每一个关系模式都是 2NF 为止。8如果XTY. Y TA,且YpX和A * Y那么称XTA是传递依赖(A传递依赖于X)。9. 第三范式(3NF):如果关系模式R是2NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3N F) 的模式。10. 分解成 3N F 模式集的算法:设关系模式R(U),主键是W, R上还存在FD XTZ。并且 Z是非主属性,ZuX, X不是候选键,这样WTZ就是一个 传递依赖。此时应把R分解成两个模式:Rl(XZ).主键是X:R2(Y).其中Y=U-Z.主键仍是W夕卜键是X (参照R1).如果R1和R2还不是3NF.则重复上

26、述过程,一直到数据库模 式中的每一个关系模式都足3NF为止。11. 如果 R 是 3NF 模式,那么 R 也是 2NF 模式。如果 R 是 2NF 模式.那么 R 也是 1NF 模式。12. BC范式(BCNF):如果关系模式是1NF,且每个属性都不 传递依赖于 R 的候选键.那么称 R 是 BCNF 的模式。13. 如果 R 是 BCNF 模式.那么 R 也是 3NF 模式。14. 分解成 BCNF 模式集的算法能保持无损分解.但不一定能 保持FD集。而分解成3NF模式集的算法既能保持无拐分解, 又能保持 FD 集。15. 关系模式由1NF分解为2NF.消除了非主属性对键的局部 函数依赖:由

27、 2NF 分解为 3NF, 消除了非主属性对键的传递 函数依赖:而BCNF则消除了每一属性对键的传递函数依赖。16. 关系模式设计理论主要用于数据库的逻辑设计过程中。第四章关系运算要求、目标:理解关系模型的运算理论,了解关系演算和查询优化,熟练掌握 关系代数运算,掌握关系代数表达式的构造方法。一、简介1. 关系模型的三个组成部分:数据结构、数据操纵和数据完整性规则。2. 数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二 维表格)的形式。关系模型基本的数据结构是关系。3. 数据操纵:关系模型提供一组完备的高级关系运算,以支持付数据 库的各种操作。关系运算分成关系代数和关系演算两类。4

28、. 数据完整性规则:数据库中数据必须满足实体完整性、参照完整性 和用户定义的完整性等三类完整性规则。5. 关系数据库的数据操纵语言(DML的语句分成查询语句和更新语 句两大类。查询语句用于描述用户的各种检索要求:更新语句用于描 述插入、删除、修改操作。前者是基础。6. 关系查询语言分两类:关系代数语言(查询操作以集合操作为革础) 和关系演算语言(查询操作以谓词演算为基础)二、关系代数1关系代数中的操作可以分为两类:I)传统的集合操作:并、差、交、笛卡尔积2) 扩充的关系操作:投影、选择、连接等。2. 关系代数的五个基本操作:并、差、笛卡儿积、投影和选择。3. 并:设关系R和S具有相同的关系模式

29、,R和S的并是由属于R 或属于 S 的元组构成的集合,记为 RU S.4. 差:设关系 R 和 S 具有相同的关系模式, R 和 S 的差是由属于 R 但不属于 S 的元组构成的集合,记为 R-S,5. 笛卡儿积:设关系 R 和 S 的元数分别为 r 和 s, R 和 S 的笛卡儿积 是一个(r+s)元的元组集合,每个元组的前r个分最(属性值)来自R的 一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n 个元组,则 RXS 有 mXn 个元组。6. 投影:对一个关系:进行垂直分割,消去某些列,并重新安排列的顺 序。7. 选择:对关系做水平分割,即选取符合条件的元组。8. 交:设关系

30、R 和 S 具有相同的关系摸式, R 和 S 的交是由属于 R 又 属于S的元组构成的集合,记为RGS。RGS=R-(R-S咸RG S=S-(S-R )9. 连接:从关系R和S的笛卡儿积中选取属性值满足某一。操作的 元组,记为RS,i和j分别是关系R和S中的第i个和第j个属性 名或序号。连接是由笛卡儿积和选择操作组合而成。如果。为“=”该连接操作称为“等值连接”10. 自然连接:公共属性只出现一次的等值(公共属性值全部相等)连接。一般自然连接使用在R和S有公共属性的悄况中。如果两个关系没有公共属性。那么自然连接就转化为笛卡儿积操作。 四、关系代数表达式的优化1. 目的:提高系统效率。2. 三条

31、启发式规则:1)尽可能早地执行选择操作;2)尽可能早地执行投影操作;3)避免直接做笛卡儿积,把笛卡儿积操作之前和之后的一连串选 择和投影合并起来一起做。第五章 SQL 语言要求、目标:SQL 语言是关系数据库的标准语言,是本课程的一个重点。本章 总的要求是:全面掌握、探刻理解、熟练应用。要求了解嵌入式 SQL 和存储过程,掌握 SQL 定义语句的应用, 熟练掌握SQL查询语句、视图、SQL更断语句的应用。一、 SQL 简介1. SQL :结构化查询语言,关系数据库的标准语言。2. SQL 数据库的体系结构SQL 数据库的体系结构基本上也是三级结构,但术语与传统的关 系模型术语不同。在SQL中,

32、关系模式称为“基本表”存储摸式称 为“存储文件”,子模式称为“视图”,元组称为“行”。属性称为列。 SQI.数据库的体系结构要点:1 一个 SQL 模式是表和约束的集合。2)一个表由行集构成,一行是列的序列,每列对应一个数据项。3)表有三种类型:基本表、视图和-导出表。 基本表:实际存储在数据库中的表。 视图:由若干基本表或其他视图构成的表的定义。 导出表:执行了查询时产生的表。4)一个基本表可以跨一个或多个存储文件,一个存储文件也可以存放一个或多个基本表。每个存储文件与外部存储器上一个物理文件对 应。5)用户可以用SQL语句对基本表和视图进行杳询等操作。在用户看 来,两者一样,都是表。6)S

33、OL 语句可嵌在 C.、FORTRAN 等主语言的程序中使用,也可在 交互环境下供终端用户使用。3. SQL 的组成核心 SQL 主要有四个部分:1)数据定义语言,即DDL,用于定义SQL模式、基本表、视图、 索引等结构。2)数据操纵语言,即SQL DML,数据操纵分成数据查询和数据更 新两类。而数据更新又分成插入、删除和修改三种操作。3)嵌入式 SQL 语言的使用规定4)数据控制语言,即SQL DCL,这一部分包括对基本表和视图的 授权、完整性规则的描述、事务控制等内容。4. SQL 的特点1)SQL 有十分灵活和强大的查询功能。2)SQL 不是一个应用开发语言,它只提供对数据库的操作功能。

34、 但 SQL 既可作为交互式语言独立使用,也可作为子语言嵌入在主语 言中使用,成为应用开发语言的一部分。3)SQL 是国际标准语言,有利于各种数据库之间交换数据,有利 于程序的移植,有利于实现高度的数据独立性,有利于实现标准化。4)SQL完成核心功能只用9个英语动词,语法结构接近英语,容 易学习和使用。二、SQL的数据定义1. SQL模式的创建在SQL中,一个SQL摸式定义为基本表的集合。一个SQL模式由 模式名和模式拥有者的用户名或帐号来确定.并包含模式中每一个元 素(基本表、视图、索引等的定义。创建SQL模式,就是定义了一个 存储空间。创建模式语法:CREATE SCIIEMA摸式名AUT

35、HORIZATION1 用户名2. SQL模式的撤梢语法:DROP SCHEMA模式名CASCADE|RESTRICT说明:CASCADE(级联式)方式:执行DROP语句时,把SQL模式及其下属 的基本表、视图、索引等所有元素全部撤俏。RESTRICT(约束式)方式:只有当SQL模式中没有任何下属元素 时,才能撤俏SQL模式,否则拒绝执行DROP句。3. SQL的基本数据类型1)数值型INTEGER(或INT)长整数SMALLINT短整数REAL浮点数DOUBLE PRECISION 双精度浮点数FLOAT(n)浮点数,精度至少为n位数字NUMERIC(p,d )定点数,有p位数字(不包括符号

36、、小数点)小数点后有d位数字,2) 字符串型CHAR(n)长度为n的定长字符串VARCHAR(n)具有最大长度为n的变长字符串3) 位串型BIT(n)长度为n的二进制位串BIT VARYING(n)最大长度为n的变长二进制位串4) 时间型DATE日期,包含年、月、日,形为YYYY-MM-DDTIME时间,包含时、分、秒,形为HH:MM:SS4. 基本表结构的创建语法:CREATE TABLE基本表名(列名类型,完整性约束,)说明:完整性约束常用以下几种子句:主键子句(PRIMARY KEY)、外键 子句(FOREIGN KEY)等NOT NULL:表示不允许某一列的值为空值5. 基本表结构的修

37、改1)增加新的列语法:ALTER TABLE基本表名ADD列名类型2)删除原有的列语法:AITER TABLE基本表名DROP列名CASCADE|RESTRICT说明:CASCADE方式表示在基本表中删除某列时,所有引用到该 列的视图和约束也要一起自动地被删除:RESTRICT方式表示在没有视 图或约束引用该属性时,才能在基本表中删除该列,否则拒绝删除。3)修改原有列的类型、宽度语法:ALTER TABLE基本表名MODIFY列名类型6. 基本表的撤销语法:DROP TABLE基本表名CASCADE|RESTRICT7. 索引的创建语法:CREATE UNIQUE INDEX索引名0N基本表名

38、(列 名序列)说明:UNIQUE表示每个索引值对应惟一的数据记录。 索引在用户查询时会自动起作用。一个索引键可以对应多个列。索引排列时可以升序,也可以 降序.升序排列用ASC表示,降序排列用DESC表示,默认时 表示升序。8. 索引的撤销语法:DROP INDEX索引名三、SQL的数据查询1.SELECT查询语句句型在关系代数中最常用的式子是下n列表达式:nAlAn(OF(Rl XXRm)这里,R1、Rm为关系,F是公式,Al、An为属性。与该表达式对应,SQL设计了 SELECT-FROM-WHERE句型:SELECT Al,AnFROM R1,RmWHERE F注意:1)在学习时.应把SE

39、LECT语句和关系代数表达式联系起来考 虑问题。2) 在WHERE子句的条件表达式F中可使用下列运算符:比较运算符:、=、=、=、()或!=逻辑运算符:AND, OR, NOT集合成员资格运林符:IN, NOT IN谓词:EXISTS, ALL,SOME聚合函数:AVG, MIN, MAX, SUM, COUNTF中运算对象还可以是另一个SELECT语句,即SELECT语句可以 嵌套。2. SELECT语句的用技术SELECT使用时有三种写法:连接查询、嵌套查询和带存在量词的嵌 套查询。例:针对前面使用的教学数据库,检索学习课程号为C2课程的学生学号与姓名。第一种写法(连接查询):SELECT

40、 S.SN,SNAMEFROM S.SCWHERE S.S#=SC.S# AND C#=C2第二种写法(嵌套查询):SELECT S#. SNAMEFROM SWHERE S# IN(SELECT S#FROM SCWHERE C#= C2)第三种写法(使用存在量词的嵌套查询):SELECT SI. SNAMEFROM SWHERE EXISTS (SELECT*FROM SCWHERE SC.S#-S.S# AND C#=C2)3. 聚合函数COUNT(*):计算元组个数COUNT(列名):对一列中的值计算个数SUM(列名):求某一列值的总和(此列值为数值型)AVG(列名 ):求某一列值的平

41、均值(此列值为数值型)MAX (列名):求某一列值的最大值MIN(列名):求某一列值的最小值说明:列名前均可加DISTINCT,表示去掉重复值。4. SELECT 语句完整的句法SELECT(目标表的列名或列表达式序列)FROM 基本表名和(或)视图序列HERE 行条件表达式GROUP BY列名序列HAVING 组条件表达式ORDER BY 列名ASC IDISC ,说明: 表示其中的内容根据需要可以省略。I 表示二选一。各子句的作用:SELECT子句用于指定输出的内容:FROM 子句用于指定要检索的数据的来源表: WHERE 子句称为 “行条件子句”用于指定对元组的选取条件;GROUP BY

42、 子句称为“分组子句”,作用是指定对元组进行分类后再检 索:HAVING子句称为“组条件子句”.用于指定对分类后的 元组的选取条件:ORDER BY子句称为“排序子句”作用 是对检索到的元组进行排序。整个语句的执行过程为:1)读取 FROM 子句中基本表、视图的数据,执行笛卡儿积操作。2)选取满足 WHERE 子句中给出的条件表达式的元组。3)按 GROUP 子句中指定列的值分组,同时提取满足 HAVING 子 句中条件表达式的那些组。4)按 SELECT 子句中给出的列名或列表达式求值输出。5)ORDER子句对输出的目标表进行排序,按附加说明ASC升序排 列,或 DESC 降序排列。6)列和

43、基本表的改名操作有时,一个基本表在SELECT语句中多次出现,即这个表被多次 调用,为区别不同的引用,应给每次的引用加上不同的名字。当然, 除此情况之外,也可以给任何一个表起别名。但要注意,一旦给表起 了别名,在该语句中,凡是引用该表名时,必须用别名而不能用原表 名。有时,用户也可以要求输出的列名与基本表中列名不一致,可在SELECT 子句用“旧名 AS 新名”形式改名。其中 AS 可以省略。 五、视图1. 在SQL中,外模式一级数据结构的基本单位是视图。2. 视图的定义:视图是从若干基本表和(或)其他视图构造出来的表。 这种构造方法采用SELECT语句实现。在我们创建一个视图时,只 是把其视

44、图的定义存放在数据字典中,而不存储视图对应的数据,在 用户使用视图时才去求对应的数据。因此,视图被称为“虚表”。3. 视图的创建语法:CREATE VIEW视图名(列表序列)AS SELECT 查询语句4. 视图的撤销语法:DROP VIEW视图名5.对视图的操作1)视图的查询操作,与基本表一样。2)视图的更新操作,一般仅限于“行列子集视图”。 行列子集视图:如果视图是从单个基本表中只使用选择、投影操作导 出的,并且包含了基本表的主键,那么这样的视图称为“行列子集视 图”。六、嵌入式 SQL1SQL 语言有两种使用方式:一种是在终端交互方式下使用,称为 交互式SQL;另一种是在主语言的程序中使

45、用,称为嵌入式SQI,.2. 嵌入式SQI.的实现,有两种处理方式:一种是扩充主语言的编译 程序,使之能处理SQL语句;另一种是采用预处理方式。目前多数 系统采用后一种方式。预处理方式是先用预处理程序对源程序进行扫 描,识别出SQI.语句,并处理成主语言的函数调用形式:然后再用主 语言的编译程序编译成目标程序。3嵌入式 SQL 的使用规定:1)在程序中要区.分SQI.语句与主语言语句。2)允许嵌入的 SQL 语句引用主语言的程序变量(成为共享变量)。3)通过游标协调SQI.的集合处理方式和主语言的单记录处理方式 七、存储过程1. 存储过程是使用 SQL 语句和流程控制语句编写的模块,存储过程经

46、 编译和优化后存储在数据库服务器端的数据库中, .使用时调用即可。2. 使用存储过程的优点:1)提高运行速度;2)增强了 SQL 的功能和灵活性3)可以降低网络的通信量。4)减轻了程序编写的工作量。5)间接实现安全控制功能。第六章数据库管理要求、目标: 了解效据库的恢复、数据库的安全性,熟悉事务、数据库的并发 控制、数据库的完整性。一、事务1. DBMS 对 DB 的监控,称为数据库的管理,也称为数据库的保护。 它分为四个方面:数据库的恢复、并发控制、完整性控制和安全性控 制。2. 事务:是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。DBS运行的最小逻辑工作单位是“事务”所

47、有对 数据库的操作,都要以事务作为一个整体单位来执行或撤俏。3. 一个事务由应用程序中的一组操作序列组成,在程序中,事务以BEGIN TRANSACTION 开始,以 COMMIT 语句或 ROLLBACK 语句结束。COMMIT语句表示事务执行成功地结束(提交);ROLLBACK 语句表示事务执行不成功地结束(应该回退。4. 事务的 ACID 性质:1)原子性(Atomicity): 个事务对数据库的所有操作,是一个不 可分割的工作单元。这些操作要么全部执行,要么什么也不 做。2) 一致性(Consistency ):一个事务独立执行的结果.应保持数据库的一致性,即数据不会因事务的执行而遭受

48、破坏。3)隔离性(Isolation):在多个事务并发执行时,系统应保证与 这些事务先后单独执行时的结果一样。4)持久性(Durability): 一个事务一且完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失。二、数据库的恢复1. 数据库的可恢复性:系统能把数据库从被破坏、不正确的状态, 恢复到最近一个正确的状态, DBMS 的这种能力称为可恢复性。2. 为保证可恢复性,平时应做好转储和建立日志。日志库记录事务 的开始、结束标志,记录事务对数据库的每一次插入、删除和修改前 后的值。3. 常见故障分三类:事务故障、系统故障(硬件故障、软件DBMS、OS 或应用程序)错误、掉电

49、等,不破坏数据库、介质故障。 事务故障和系统故障的恢复由系统自动进行,而介质故障的恢复需要 DBA 配合执行。系统故障通常称为软故障,介质故障通常称为硬故 障。三、数据库的并发控制1. 并发操作带来的三个问题:丢失更新、读胜数据(把未提交的随 后被撤销的数据称为“脏数据”)、不可重复读。采用“封锁”技术 解决这些问题。2. 锁:是一个与数据项相关的变量,对可能应用于该数据项上的操 作而言,锁描述了该数据项的状态。通常在数据库中每个数据项都有 一个锁。3. 锁的主要类型:1)排他锁(X锁、写锁):如果事务T对某个数据R(可以是数据项、 记录、数据集乃至整个数粥库实现了x锁,那么在T对数据R解 除

50、封锁之前,不允许其他事务再对该数据加任何类型的锁,这种锁称 为“x锁”2)共享锁 (S 锁、读锁):如果事务 T 对某数据加 S 锁后,仍允许其 他事务再对该数据加S锁,但在对该数据的所有S锁都解除之前决不 允许任何事务对该数据加 X 锁。4. 封锁的粒度:封锁对象的大小。封锁的粒度与系统的并发程度成 反比。5. 调度:事务的执行次序。如果多个事务依次执行,称为事务的串 行调度:如果利用分时的方法,同时处理多个事务,则称为事务的并 发调度。6. 可串行化调度:每个事务中,语句的先后顺序在各种调度中始终 保持一致。在这个前提下,如果一个并发调度的执行结果与某一串行 调度的执行结果等价,那么这个并

51、发调度称为“可串行化的调度”. 否则是“不可串行化的调度。”四、数据库的完整性1数据库的完整性:是指数据的正确性、有效性和相容性.防止错误 的数据进入数据库。I)正确性:是指数据的合法性。2)有效性:是指数据是否属于所定义的有效范围。3)相容性:是指表示同一事实的两个数应相同,不一致就是不相容。2. SQL 中的完整性约束1)域约束2)基本表约束 主要有三种形式:候选键定义、外键定义和检查约束定义。这些定义 都可在前面加CONSTRAINT约束名,也可以省略。候选键的定义:UNIQUE(列名序列)或PRIMARY KEY(列名序) UNIQUE方式:表示值惟一;PRIMARY KEY:值惟一,

52、并且自动设 为非空。一个基本表只能指定一个主键。检查约束的定义:例:CHECK (AGE=18 AND AGE=20)3)断言:如果完整性约束牵涉面较广,与多个关系有关,或者与聚合 操作有关,应使用断言。3. 触发器:是一个能由系统自动执行对数据库修改的语句。有时也称为 主动规则(相对于前面的各种被动约束机幼)。五、数据库的安全性1. 数据阵的安全性:是指保护数据库,防止不合法的使用,以免数据 的泄密、更改或破坏。2. SQL 中的安全性机制:提供四个:视图、权限、角色和审计1)视图:使系统具有三个优点:数据安全性(用来对无权用户屏蔽数据)、逻辑数据独立性和操作简便性。视图不占存储空间。2)权

53、限:授权语句GRANT、回收语句REVOKE3)角色:在 SQL 中,用户是实际的人或访问数据库的应用程序。而角色是一 组具有相同权限的用户,实际上角色是属于目录一级的概念。 用户和角色之间存在多对多联系,即一个用户可以参与多个角色,一 个角色也可授予多个用户。4)审计:用于安全性目的的数据库日志称为审计追踪。第九章数据库技术的发展要求、目标:了解数据库技术发展的前景,了解面向对象的概念建模和开放数 据库互连技术。一、面向对象的概念建模1. 概念建模经历了 “ER图一对象联系图一类图”的发展历程。2. 面向对象的数据类型系统:由基本类型、复合类型和引用类型三 部分组成。3. 对象联系图:是面向

54、对象数据模型中数据结构的一种重要图例表 示方法,由于使用了对象标识的概念,使结构的嵌套和递归成为可 能。是描述面向对象数据模型的基本工具。它不仅完整地揭示了数 据之间的联系,也把查询的层次观点表现的一清二楚。4. 统一建模语言(UML):面向对象开发的行业标准语言。二、开放数据库互连(ODBC)1. API:即应用程序设计接口,是为开发者提供单一的编程接口,.这样同一个应用程序就可以访问不同的数据库服务器。2. ODBC: Microsoft公司的产品,以C/S结构为设计基础。该技术使用应用程序与 DBMS 之间在逻辑上可以分离,使应用程序 具有数据库的特性。OI)BC定义了一个API,每个应用程序 利用相同的源代码就可访问不同的数据库系统,存取多个数据库中的数据。ODBC 一个最显著的优点是:用它生成的应用程序与数据库或数据库引擎无关。

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