1、目录目录第一章 数据库系统概述.1第二章 关系数据库.2第三章 数据库设计.5第四章 SQL 与关系数据库基本操作.5第五章 数据库编程.9第六章 数据库安全与保护.10第七章 数据库应用设计与开发实例.11第八章 数据管理技术的发展.121 1 / 1313第一章 数据库系统概述第一章 数据库系统概述知识点名称知识点名称知识点内容知识点内容数据库基本概念数据库基本概念1.数据(Data)1.数据(Data):描述事务的符号记录符号记录,是指用物理符号记录下来的、可以鉴别的信息。2.数据库(DB)数据库(DB):指长期储存长期储存在计算机中的有组织有组织的、可共享可共享的数据集合数据集合。3.
2、数据库管理系统(DBMS)数据库管理系统(DBMS):专门用于建立和管理数据库的一套软件软件,介于应用程序应用程序和操作系统操作系统之间。4.数据库系统(DBS)数据库系统(DBS):指在计算机中引入数据库技术之后的系统系统。包括:数据库、数据库管理系统以及相关实用工具、应用程序、数据库管理员和用户。数据库管理技术的发展数据库管理技术的发展1.阶段(1) 人工管理阶段1.阶段(1) 人工管理阶段:20 世界 50 年代中期以前。特点特点:(1)数据不保存不保存(2)应用程序应用程序管理数据(3)数据面向应用程序面向应用程序(2) 文件系统阶段(2) 文件系统阶段:20 世纪 50 年代后期到
3、60 年代中期(3) 数据库系统阶段(3) 数据库系统阶段:20 世界 60 年代后期。2.数据库系统特点2.数据库系统特点:(1)数据集成集成;(2)数据共享性高共享性高;(3)数据冗余小冗余小;(4)数据一致性一致性;(5)数据独立性高独立性高:(6)实施统一管理与控制统一管理与控制,即数据库保护;(7)减少减少应用程序开发与维护的工作量工作量;3.数据库管理系统具有对数据的统一管理与控制功能3.数据库管理系统具有对数据的统一管理与控制功能:(1) 数据的安全性数据的安全性:指保护数据,以防止不合法的使用而造成数据泄密和破坏。(2) 数据的完整性数据的完整性:是对数据的正确性、有效性和相容
4、性要求。(3) 并发控制并发控制:指当多个用户的并发进程同时存取、修改数据库时,对多用户的并发操作加以控制和协调。(4) 故障恢复(4) 故障恢复:DBMS 必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。数据库系统的三级模式结构数据库系统的三级模式结构1.结构(1) 外模式1.结构(1) 外模式(也称子模式或用户模式):是数据库用户能够看见和使用的局部数据局部数据的逻辑结构和特征逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。是用于满足不同数据库用户需求的数据视图,即用户视图用户视图。(2) 模式(2) 模式(也称概念模式或逻辑模式):是数据库中全体数据全体数据的逻辑结构和
5、特征逻辑结构和特征的描述,是所有用户的公共数据视图。(3) 内模式(3) 内模式(也称存储模式):是对数据库中数据物理结构和存储方式物理结构和存储方式的描述,是数据在数据库内部的表示形式。是内部视图或存储视图。2.数据库系统三级模式结构的特点2.数据库系统三级模式结构的特点(1)一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于(概念模式)是独立于数据库其他层次结构(内/外模式内/外模式)的描述,其是数据库的核心,也是数据库设计的关键。(2)一个数据库的内部存储内部存储模式依赖于概念模式依赖于概念模式, 但存储模式独立于外部模式, 也独立于具体的存储设备。(3)用户逻辑结构(外模式外模式
6、)是在全局逻辑结构描述的基础上定义的,它面向具体的应用程序,独立于内部模式独立于内部模式和存储设备。(4)特定的应用程序应用程序是在外模式的逻辑结构上编写的, 它依赖于特定的外模式依赖于特定的外模式, 与数据库的模式和存自考押题 vx 344647 公众号/小程序 顺通考试资料2 2 / 1313储结构独立。3.3.外模式外模式/ /模式映像及其如何保证数据的逻辑独立性。模式映像及其如何保证数据的逻辑独立性。(1)外模式外模式/ /模式模式映像定义了各个外模式与概念模式之间的映像关系,这些映像定义通常在各自的外模式中加以描述。由于同一个模式可以有任意多个外模式,因此对于每一个外模式,数据库系统
7、每一个外模式,数据库系统都会有一个外模式都会有一个外模式/ /模式映像模式映像。(2)数据库系统的模式如若发生改变模式如若发生改变,数据库管理员(DBA)通常会对各个外模式/模式的映像做出相应的改变,以使那些对用户可见的外模式保持不变对用户可见的外模式保持不变,从而应用程序的编程人员就不必去修改那些依据数据的外模式所编写的应用程序,如此实现了外模式不受概念模式变化的影响,并保证了数据与程序的逻辑独立性逻辑独立性。数据库系统数据库系统的运行与应的运行与应用结构用结构1. 1.客户客户/ /服务器结构(服务器结构(C/SC/S):):(1)客户端客户端(或前台或前台、表示层表示层):命令行客户端、
8、图形化界面图形化界面管理工具、应用程序等。主要完成与数据库使用者的交互任务。(2 2)服务器(或)服务器(或后台、后台、数据层):数据层):数据库管理系统数据库管理系统。主要负责数据管理。2.浏览器浏览器/ /服务器结构服务器结构 (B/SB/S) : 基于 Web 应用的客户/服务器结构, 也称为三层客户/服务器结构 (表表示层、处理层(中间层)、数据层示层、处理层(中间层)、数据层)。数据模型的数据模型的分类分类1. 1.概念层数据模型概念层数据模型(1) 实体实体:客观存在并可相互区别的事物称为实体。(2) 属性属性:实体所具有的某种特性称为实体的属性。2.2.逻辑层数据模型:逻辑层数据
9、模型:主要的逻辑数据模型:(1 1)层次模型;()层次模型;(2 2)网状模型;()网状模型;(3 3)关系模型;()关系模型;(4 4)面向对象模型。)面向对象模型。3.3.物理层数据模型物理层数据模型第二章第二章 关系数据库关系数据库知识点名称知识点名称知识点内容知识点内容关系数据关系数据结构结构1. 1.概念:概念:(1) 表表:也称为关系,是一个二维的数据结构,它由表名、构成表的各个列及若干行数据组成。一个一个关系关系逻辑上对应一张一张二维表二维表。(2) 列列:也称作字段或属性。表中属性的个数称为关系的元或度。(3) 行行:也称作元组或记录。(4) 分量分量:表中的一行即为一个元组,
10、元组中的一个属性值,称为分量。(5) 码或键:能用来唯一标识该关系的元组的属性(或属性组)。(6) 超码或超键超码或超键:在关系的一个码中移去某个属性,它仍然是这个关系的码。(7) 候选码或候选键候选码或候选键:在关系的一个码或键中,不能从中移去任何一个属性,否则它就不是这个关系的码或键。(8) 全码或全键全码或全键:一个关系模式的所有属性集合是这个关系的主码或主键。(9) 主码或主键主码或主键:若干个候选码或候选键中指定一个用来唯一标识关系的元组。(10)外码或外键外码或外键:当关系中的某个属性不是这个关系的主码或候选码,而是另一关系的主码时,称该属性为这个关系的外码或外键。3 3 / 13
11、13(11) 主属性和非主属性主属性和非主属性:关系中包含包含在任何一个候选码中的属性称为主属性或码属性,不包含不包含在任何一个候选码中的属性称为非主属性或非码属性。(12)域域:表示属性的取值范围。(13)参照关系和被参照关系参照关系和被参照关系:以外码作为主码的关系称为被参照关系被参照关系(也称为主关系主关系),外码所在的关系称为参照关系参照关系(也称为从关系从关系),被参照关系与参照关系是通过外码相联系的,这种联系通常是一对多的联系。2.2.关系数据库关系数据库对关系限定的具体要求对关系限定的具体要求:(1) 每一个属性都是不可分解不可分解的。(2) 每一个关系仅仅有一种仅仅有一种关系模
12、式。(3) 每一个关系模式中的属性必须命名,在同一个关系模式中,属性名必须是不同属性名必须是不同的。(4) 同一个关系中不允许不允许出现候选码候选码或候选键值完全相同完全相同的元组。(5) 在关系中元组的顺序元组的顺序是无关紧要的,可以任意交换任意交换。(6) 在关系中属性的顺序属性的顺序是无关紧要的,可以任意交换任意交换。基本的关系基本的关系操作操作1. 1.查询查询(Query)操作:5 种基本操作:选择、投影、并、差、笛卡尔积。选择、投影、并、差、笛卡尔积。可用基本操作来定义和导出的操作:连接、除、交连接、除、交等2.2.插入插入(Insert)、删除删除(Delete)、修改修改(Up
13、date)操作关系数据语关系数据语言的分类言的分类1.关系代数语言关系代数语言:并、差、交、笛卡尔积、选择、投影、连接、除。2.结构化查询语言(结构化查询语言(SQLSQL):兼具两者双重特点,介于关系代数和关系演算之间。3.3.关系演算语言关系演算语言:元组关系元组关系演算和域关系域关系演算。关系代数关系代数1.并并:R3 是由属于关系 R1 或 R2 的所有不同元组所组成,记为 R3=R1R2。2.差差:R3 是由属于关系关系 R1,但不属于 R2 的元组组成,记为 R3=R1-R2。3.交交:R3 是由既属于关系 R1,同时又属于 R2 的元组组成,记为 R3=R1R2。4.笛卡尔积笛卡
14、尔积:R1 为 m 元关系,R2 为 n 元关系,新关系 R3,记作 R3=R1R2。R3 有(m+n)个分量,(mn)个元组组成。5.选择选择:表示为:,其中,F 为条件表达式,R 为指定的被运算关系名被运算关系名。6.投影投影:表示为:A(R),其中,R 为被运算关系名,A 为属性序列属性序列。7.连接连接:表示为:。连接运算是选取两个指定关系中的属性满足给定条件的元组连接在一起来组成一个新关系。常用:等值连接和自然连接。8.8.除除:表示为:RS,在除运算中,若被除关系为 m 元关系,除关系为 n 元关系,则运算结果为一个 m-n 元关系。【注意:该知识点中的“选择”和“投影”必定会在设
15、计题中出现。】【具体例题及答题思路总结见考前急救 120 题第 41 题】关系的关系的完整性约束完整性约束1.实体完整性约束实体完整性约束:指关系的主属性,即主码的组成不能为空,也就是关系的主属性不能是空值NULL。关系模型完整性约束的检验关系模型完整性约束的检验:(1)执行插入插入操作:执行插入操作时,首先检查实体完整性约束,然后再检查参照完整性约束,最后检查用户定义完整性约束。(2)执行删除删除操作:当执行删除操作时,一般只需要对被参照关系检查参照完整性约束。4 4 / 1313(3)执行更新更新操作:当执行更新操作时,因为更新操作可看成是先执行删除操作,再执行插入操作,因此是上述两种情况
16、的综合。2.参照完整性约参照完整性约束束:定义外码和主码之间的引用规则,它是对关系间引用数据的一种限制。3.用户定义完整性约束用户定义完整性约束:针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。关系模式中关系模式中可能存在的可能存在的冗余和异常冗余和异常问题问题1.“不好不好”的关系模式的关系模式中可能存在的问题:(1)数据冗余数据冗余:是指同一数据被反复存储的情况。(2)更新异常更新异常:数据冗余将导致存储空间的浪费和潜在数据不一致性及修改麻烦等问题。(3)插入异常插入异常:应该插入到数据库中的数据不能执行插入操作的情形。(4)删除异常删除异常:不应该删去的数
17、据会出现被删去的情形。2.2.产生原因和消除这些问题的方法,都与数据依赖数据依赖的概念密切相关。函数依赖与函数依赖与关键字关键字1.函数依赖函数依赖:(1) 完全函数依赖完全函数依赖:设 R 为任一给定关系,X、Y 为其属性集,若 XY,且对 X 中的任何真子集 X,都有 X,Y,则称 Y 完全函数依赖于 X。(2) 部分函数依赖部分函数依赖:设 R 为任一给定关系,X、Y 为其属性集,若 XY,且 X 中存在一个真子集 X,满足 X,Y,则称 Y 部分函数依赖于 X。(3) 传递函数依赖传递函数依赖:设 R 为任一给定关系,X、Y、Z 为其不同属性子集,若 XY,YX,YZ,则有 XZ,称为
18、 Z 传递函数依赖于 X。2.候选关键字候选关键字:设 R 为任一给定关系,U 为其所含的全部属性集合,X 为 U 的子集,若有完全函数依赖 XU,则 X 为 R 的一个候选关键字。【注意:综合题中常考本知识点。】【具体例题及答题思路总结见考前急救 120 题第 20 题】范式与关系范式与关系规范化过程规范化过程1.第一范式第一范式 1NF1NF: 设 R 为任一给定关系, 如果 R 中每个列与行的交点处的取值都是不可再分的基本不可再分的基本元素元素,则 R 为第一范式。2.第二范式第二范式 2NF2NF:设 R 为任一给定关系,若 R 为 1NF,且其所有非主属性都完全函数依赖所有非主属性都
19、完全函数依赖于候选关键字,则 R 为第二范式。3.第三范式第三范式 3NF3NF:设 R 为任一给定关系,若 R 为 2NF,且其每一个非主属性都不传递函数依赖每一个非主属性都不传递函数依赖于候选关键字,则 R 为第三范式。4.BCNFBCNF:设 R 为任一给定关系,X、Y 为其属性集,F 为其函数依赖集,若 R 为 3NF,且其 F 中所有函数依赖所有函数依赖 XY(Y 不属于 X)中的 X 必包含候选关键字必包含候选关键字,则 R 为 BCNF。【助记:1NF:不含重复组;2NF,消除了非主属性对候选键的部分函数依赖;3NF,消除了非主属性对候选键的传递函数依赖。注意:满足最低要求的称为
20、 1NF,在 1NF 的基础上进一步满足一些新要求的称为 2NF,以此类推,满足高级范式的一定满足低级范式,但满足低级范式的不一定满足高级范式。】【注意:综合题中常考本知识点。】【具体例题及答题思路总结见考前急救 120 题第 20 题】5 5 / 1313第三第三章章 数据库设计数据库设计知识点名称知识点名称知识点内容知识点内容数据库的生数据库的生命周期命周期1.数据库分析与设计分析与设计阶段:需求分析;概念设计;逻辑设计;物理设计需求分析;概念设计;逻辑设计;物理设计。2.数据库实现与操作实现与操作阶段:数据库的实现;操作与监督;修改与调整数据库的实现;操作与监督;修改与调整。数据库设计数
21、据库设计的方法的方法1.直观设计法直观设计法:是一类最原始最原始的数据库设计方法。2.规范设计法规范设计法:是一类较为普遍普遍、常用常用的数据库设计方法。包括:新奥尔良设计方法、基于 E-R 模型的数据库设计方法、基于第三范式的设计方法。3.计算机辅助设计法计算机辅助设计法:通常通过人机交互人机交互的方式来完成。计算机辅助软件工程工具(俗称 CASECASE 工工具具)可以帮助完成数据库设计工作。数据库设计数据库设计的基本步骤的基本步骤1. 1.需求分析:需求分析:数据库设计的起点起点。2.2.概念概念结构设计:在需求分析中产生的需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结
22、构。3.3.逻辑逻辑结构设计:将概念模型转换为等价的、并为特定 DBMS 所支持数据模型的结构。4.4.物理物理结构设计:指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程。5.5.数据库实施:实施:需要完成的工作包括:加载数据、应用程序设计和数据库试运行加载数据、应用程序设计和数据库试运行。6.6.数据库的运行和维护:运行和维护:最困难的工作:数据库重组重组与重构重构。E-RE-R 图的图的表示方法表示方法1. 1.E-RE-R 图的表示方法图的表示方法实体型实体型:用矩形矩形表示,矩形框内写明实体的名称。属性属性:用椭圆椭圆表示。联系联系:用菱形菱形表示,菱形框内写明联系的名称,并用
23、无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。2.2.E-RE-R 图转换为关系模型原则如下:图转换为关系模型原则如下:(1)一个实体型实体型转换为一个关系模式。实体的属性作为关系的属性,实体的码作为关系的码。(2)一个一对一联系一对一联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。(3)一个一对多联系一对多联系可以转换为一个独立的关系模式,也可以与 N 端对应的关系模式合并。(4)一个多对多联系多对多联系转换为一个关系模式。(5)三个或三个以上实体间的一个多元联系实体间的一个多元联系可以转换为一
24、个关系模式。(6)具有相同码的关系模式可合并合并。【注意:综合题中常考本知识点。】【具体例题及答题思路总结见考前急救 120 题第 29 题】物理设计物理设计方法方法1.建立索引:静态建立索引(应用人员预先建立)和动态建立索引(临时建立)。2.建立聚集:建立聚集:聚集聚集:将相关数据集中存放的物理存储技术。数据聚集结构数据聚集结构的一种有效方式是块结构块结构方式方式,块与块之间由指针连接,一个块对应于一个物理分区。第四第四章章 SQLSQL 与关系数据库基本操作与关系数据库基本操作知识点名称知识点名称知识点内容知识点内容SQLSQL 的的1.SQL 是于 19741974 年由年由 Boyce
25、Boyce 和和 ChamberlinChamberlin 提出的提出的,并在 IBM 公司研制的关系数椐库管理系6 6 / 1313发展发展统原型原型 SystemSystem R R 上实现。、2.目前没有一个数据库系统能够支持目前没有一个数据库系统能够支持 SQLSQL 标准的全部概念和特性标准的全部概念和特性。各个关系数据库管理系统产品在实现标准 SQL 时各有差别各有差别,与 SQL 标准的符合程度也不相同,但它们仍然遵循遵循 SQLSQL 标准标准,并以 SQL 标准为主体进行相应的扩展扩展,提供一些执行特定操作的额外功能或简化方法。3.SQLSQL 标准颁布的年份标准颁布的年份:
26、最早的最早的 SQLSQL 标准标准是 19861986 年年 1010 月月由美国国家标准局颁布的。随后,国际化标准组织于 1987 年6 月也正式采纳它为国际标准,并在此基础上进行了补充,且于 1989 年 4 月 ISO 提出了具有完整性特征的 SQL,称之为 SQL-89。(1) 19891989 年年:SQL-89SQL-89(2) 19921992 年年:SQL-92SQL-92(或称为 SQL2)(3) 19991999 年年:SQL-99SQL-99(或称为 SQL3)SQLSQL 的的特点特点1.SQL 不是不是某个特定数据库供应商专有的语言专有的语言。2.SQL 简单简单易
27、学。3.SQL 是一种强有力强有力的语言,灵活灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。SQLSQL 的的组成组成1.数据定义语言(数据定义语言(DDLDDL)(1) CREATE:创建数据库数据库或数据库对象(2) ALTER:对数据库数据库或数据库对象进行修改(3) DROP:删除数据库数据库或数据库对象2.数据操纵语言数据操纵语言(DMLDML)(1) SELECT:从表或视图中检索数据数据(2) INSERT:将数据数据插入到表或视图中(3) UPDATE:修改表或视图中的数据数据(4) DELETE:从表或视图中删除数据数据3.数据控制语言(数据控制语言(DCLDCL)
28、(1) GRANT:授予权限权限(2) REVOKE:收回权限权限MySQLMySQL 中中的的 SQLSQL1.常量常量字符串常量(ASCII 字符串常量和 Unicode 字符串常量)、数值常量(整数常量和浮点数常量)、十六进制常量 (最前面有一个大写字母 X 或小写字母 x) 、 时间日期常量、 位字段值、 布尔值 【TRUE(数字值 1)和 FALSE(数字值 0)】和 NULL 值(“没有值”、“无数据”)。2.变量变量(1)(1) 用户变量:用户变量:在使用时,用户变量前常添加一个符号一个符号“”用于将其与列名区分开。(2) 系统变量:系统变量:大多数系统变量应用于其他 SQL 语
29、句中时,必须在系统变量名称前添加两个两个“”符号符号。3.3.运算符运算符(1) 算术运算符算术运算符:+(加)、-(减)、*(乘)、/(除)和%(求模)(2) 位运算符位运算符:&(位与)、|(位或)、(位异或)、(位取反)、(位右移)、(大于)、=(大于等于)、=(小于等于)、(不等于)、!=(不等于)、(相等或都等于空)。(4) 逻辑运算符逻辑运算符:NOT 或!(逻辑非)、AND 或&(逻辑与)、OR 或|(逻辑或)、XOR(逻辑7 7 / 1313异或)4.4.内置函数内置函数(1) 数学函数,例如 ABS()函数、SORT()函数;(2) 聚合函数,例如 COUNT()函数;(3)
30、 字符串函数,例如 ASCII()函数、CHAR()函数;(4) 日期和时间函数,例如 NOW()函数、YEAR()函数;(5) 加密函数,例如 ENCODE()函数、ENCRYPT()函数;(6) 控制流程函数,例如 IF()函数、IFNULL()函数;(7) 格式化函数,例如 FORMAT()函数;(8) 类型转换函数,例如 CAST()函数;(9) 系统信息函数,例如 USER()函数、VERSION()函数。数据库模式数据库模式定义定义1. 1.创建创建数据库:CREATECREATE DATABASEDATABASE 或 CREATE SCHEMASCHEMA2.选择选择数据库:US
31、EUSE3.修改修改数据库:ALTERALTER DATABASEDATABASE 或 ALTER SCHEMASCHEMA4.删除删除数据库:DROPDROP DATABASEDATABASE 或 DROP SCHEMASCHEMA5.查看查看数据库:SHOWSHOW DATABASESDATABASES 或 SHOW SCHEMASSCHEMAS表定义表定义1. 1.创建创建表:表:CREATECREATETABLETABLE2.2.更新表:ALTERALTER TABLETABLE3.3.重命名表:RENAMERENAME TABLETABLE4.4.删除表:DROPDROP TABLE
32、TABLE5.5.查看表:(1)显示表的名称名称:SHOWSHOW TABLESTABLES(2 2)显示表的结构结构:SHOWSHOW COLUMNSCOLUMNS索引定义索引定义1. 1.分类分类(1) 普通索引(INDEXINDEX):最基本的索引类型,它没有任何限制。(2)(2) 唯一性索引(UNIQUEUNIQUE):索引列中的所有值都只能出现一次,必须是唯一的。(3)(3) 主键(PRIMARYPRIMARY KEYKEY):是一种唯一性索引。每个表只能有一个,且不能为空。2.2.创建创建(1) CREATE INDEX:专门用于创建索引(2)(2) CREATE TABLE:在创
33、建表的同时一起创建索引(INDEX|KEY)(3)(3) ALTER TABLE:修改表的同时,可以向已有的表中添加索引(ADD INDEX)3.3.查看查看SHOW INDEX4.4.删除删除(1) DROP INDEX:专门用于删除索引(2)(2) ALTER TABLE:修改表的同时,删除索引(DROP INDEX)数据更新数据更新1. 1.插入数据插入数据(1) INSERTVALUESVALUES 语句:插入单行或多行元组数据(2) INSERTSETSET 语句:插入部分列值数据(3) INSERTSELECTSELECT 语句:插入子查询数据2.2.修改数据:修改数据:UPDAT
34、EUPDATESET语法格式如下:8 8 / 1313UPDATEUPDATE tb1_name(要修改的表名);SETSET 指定表中要修改的列名及其列值;WHEREWHERE where_condition指定数据的选择条件。【注意:该知识点一般出现在设计题中的一个小问中。】3.删除数据删除数据:DELETEDELETE数据查询数据查询1. 1.SELECTSELECT:说明:要返回的列或表达式。ASAS 子句修改列的别名。子句修改列的别名。COUNT(*)COUNT(*)筛选全部字段筛选全部字段。2.FROMFROM:说明:从中检索数据的表。3.WHEREWHERE:说明:指定数据的过滤
35、条件(行级过滤)。4.GROUPGROUP BYBY:说明:分组说明。5.HAVINGHAVING:说明:过滤分组(组级过滤)。6.ORDERORDER BYBY:说明:输出排序顺序。ASCASC 升序(默认)、升序(默认)、DESCDESC 降序降序。7.LIMITLIMIT:说明:限制要检索的行数。LIMIT a OFFSET b:从第 b+1 行开始取 a 行。【注意: 该知识点必考一个设计题。 查询语句必有 SELECT 和 FROM 子句, 其余子句根据题意选用。 】【具体例题及答题思路总结见考前急救 120 题第 41 题】FROMFROM 子子句与多表连句与多表连接查询接查询1.
36、 1.交叉连接交叉连接(又称笛卡尔积):CROSSCROSS JOINJOIN2.2.内连接:内连接:INNER JOIN(或 JOINJOIN)3.外连接外连接(1) 左外连接:左外连接:LEFT OUTER JOIN(或 LEFTLEFT JOINJOIN)(2) 右外连接:右外连接:RIGHT OUTER JOIN(或 RIGHTRIGHT JOINJOIN)WHERWHERE E子句与条件子句与条件查询查询1.判定范围(1) 查询的过滤条件被限定在值得某个范围范围:“BETWEENBETWEENANDAND”(2) 指定一个值的枚举表枚举表:“ININ”2.子查询(1) ININ:主要
37、用于判定一个给定值是否存在于子查询的结果集中。(2) 比较运算符比较运算符:主要用于将表达式的值和子查询的结果进行比较运算。ALLALL、SOMESOME、ANYANY。(3) EXISTEXIST:主要用于判定子查询的结果集是否为空是否为空。视图视图1.视图视图是从一个或多个表或者其他视图中通过查询语句导出的虚拟虚拟的表。2.优点优点:(1) 集集中分散数据;(2) 简简化查询语句;(3) 重重用 SQL 语句;(4) 保保护数据安全;(5) 共共享所需数据;(6) 更更改数据格式。【助记:共集简,更保重】1. 1.创建创建视图CREATECREATE VIEWVIEW其常用语法格式为:CR
38、EATECREATE VIEWVIEW view_name(column_list) ASAS select_statementview_name 用于指定视图的名称;9 9 / 1313column_list 是可选项,用于为视图中的每个列指定明确的名称;select_statement 用于指定创建视图的 SELECT 语句。参照“数据查询”知识点。【注意:该知识点一般出现在设计题的最后一个小题中。】2.修改修改视图ALTERALTER VIEWVIEW3.删除删除视图DROPDROP VIEWVIEW4.查看查看视图定义SHOWSHOW CREATECREATE VIEWVIEW5.更新
39、更新视图数据INSERTINSERT通过视图向基本表插入插入数据UPDATEUPDATE通过视图修改修改基本表的数据DELETEDELETE通过视图删除删除基本表的数据第五第五章章 数据库编程数据库编程知识点名称知识点名称知识点内容知识点内容存储过程存储过程1.好处好处(1) 可增强 SQL 语言的功能和灵活性。(2) 良好的封装性。(3) 高性能,即提高运行速度。(4) 可减少网络流量。(5) 存储过程可作为一种安全机制来确保数据库的安全性和数据的完整性。【助记:分工有灵性,完全可减少流量。(封功灵性,完全减少流量)】1.创建(1)(1) 修改结束符:修改结束符:DELIMITERDELIM
40、ITER(2) 创建创建存储过程:CREATE PROCEDURE2.存储过程体存储过程体局部变量(1)(1) 声明声明局部变量:DECLARE(2) 为局部变量赋值:赋值:SETSET(3) 把选定列的值直接存储存储到局部变量中:SELECTSELECTINTOINTO(4) DEFAULTDEFAULT 子句用于为局部变量指定一个默认值指定一个默认值,若没有指定,则默认为 NULL。(5) 在存储过程中局部变量与用户变量的区别在存储过程中局部变量与用户变量的区别:局部变量局部变量声明时,在其前面没有使用没有使用符号符号, 并且它只能被声明它的 BEGINBEGINENDEND 语句块中语句
41、块中的语句所使用;而用户变量用户变量在声明时,会在其名称前面使用名称前面使用符号符号,同时已声明的用户变量存在于整个会话之中整个会话之中。游标(1)(1) 过程过程1)1)声明声明游标:DECLARE CURSOR2)打开打开游标:OPEN3)读取数据:读取数据:FETCH.INTOFETCH.INTO4)关闭关闭游标:CLOSE(2) 使用游标的原因使用游标的原因:在使用 SELECT 语句进行数据检索时,若该语句1010 / 1313成功被执行,则会返回一组称为结果集结果集的数据行,该结果集中可能拥有多行数据多行数据,这些数据无法直接被一行一行地进行处理无法直接被一行一行地进行处理,此时就
42、需要使用游标。3.调用在程序中调用调用存储过程:CALLCALL4.删除删除删除数据库中已创建的存储过程:DROPDROP PROCEDUREPROCEDURE存储函数和存储函数和存储过程的存储过程的区别区别1. 1.存储函数存储函数(1)不能拥有输出参数不能拥有输出参数;(2)可以直接对存储函数进行调用;(3)必须包含一条 RETURN 语句。2.2.存储过程存储过程(1)可以拥有输出参数;(2)需要使用 CALL 语句对存储过程调用;(3)不允许包含 RETURN语句。第六章第六章 数据库安全与保护数据库安全与保护知识点名称知识点名称知识点内容知识点内容完整性约束完整性约束条件的作用条件的
43、作用对象对象1.列级列级约束,是指对列的类型、取值范围、精度类型、取值范围、精度等的约束。2.元组元组约束,是指元组中各个字段之间字段之间的相互约束。3.表级表级约束,足指若干元组之间、关系之间元组之间、关系之间的联系的约束。定义与实现定义与实现完整性约束完整性约束1. 1.实体完整性实体完整性:(1 1)主键约束主键约束:一个表中只能创建一个。PRIMARY KEY 索引(2 2)候选键约束候选键约束:一个表中可定义若干个。UNIQUE 索引。2.参照完整性参照完整性:通过在创建表(CREATE TABLE)或更新表(ALTER TABLE)的同时定义一个外键声明外键声明 (FOREIGNF
44、OREIGN KEYKEY) 来实现的。 实现策略实现策略: (1) CASCADECASCADE: 级联策略; (2) SETSET NULLNULL:置空策略;(3)RESTRICTRESTRICT:限制策略。3.用户定义的完整性用户定义的完整性:非空约束(NOT NULL)、CHECK 约束、触发器(TRIGGER)。命名完整性命名完整性约束约束语法格式是:CONSTRAINTCONSTRAINT 约束名字更新完整性更新完整性约束约束ALTERALTER TABLETABLE 语句删除完整性约束,不会删除表本身。(DROP TABLE 语句删除表中所有的完整性约束)触发器触发器1. 1.
45、创建创建触发器CREATECREATE TRIGGERTRIGGER。(共共 6 6 种种: INSERTINSERT 触发器、 DELETEDELETE 触发器、 UPDATEUPDATE触发器的“之前之前”和和“之后之后”。)注意:当触发器涉及对触发表自身的更新操作触发表自身的更新操作时,只能使用 BEFOREBEFORE UPDATUPDATE E触发器,而 AFTER UPDATE 触发器将不被允许。2.删除删除触发器DROPDROP TRIGGERTRIGGER3.3.使用使用触发器(1) INSERTINSERT 触发器引用 NEWNEW 虚拟表,访问被插入的行。NEW 中的值可以
46、被更新(2) DELETEDELETE 触发器引用 OLDOLD 虚拟表,访问被删除的行。OLD 中的值全部都是只读的,不能被更新。(3) UPDATEUPDATE 触发器引用 NEWNEW 虚拟表,访问新更新新更新的值。NEW 中的值可以被更新。1111 / 1313安全性与安全性与访问控制访问控制1.安全性安全性:指保护数据库以防止不合法的使用而造成数据泄露、更改或破坏,所以安全性对于任何一个 DBMS 来说都是至关重要的。2.在 MySQL 数据库中,数据库系统对数据的安全管理安全管理是使用身份验证身份验证、数据库用户权限确认数据库用户权限确认等访问控制措施,来保护数据库中的信息资源,以
47、防止这些数据遭受破坏。用户账号用户账号管理管理1. 1.创建创建用户账号:CREATECREATE USER2.删除删除用户:DROPDROP USERUSER3.修改修改用户账号:账号:RENAMERENAME USER4.修改修改用户口令:口令:SETSET PASSWORD账户权限账户权限管理管理1. 1.查看查看用户授权表:用户授权表:SHOWSHOW GRANTS FOR2.2.授予授予:GRANTGRANT 可表示权限的级别级别有:列权限、表权限、数据库权限、用户权限。:列权限、表权限、数据库权限、用户权限。3.3.转移转移:在 GRANT 中添加子句:WITHWITH GRANT
48、GRANT OPTIONOPTION4.4.撤销撤销:REVOKEREVOKE事务定义的事务定义的语句语句1.事务(1)(1) 定义定义:是用户定义的一个数据操作序列,这些操作可作为一个完整的工作单元,要么全部执行,要么全部不执行,是一个不可分割的工作单位。(2)(2) 特征:原子性、一致性、隔离性和持续性。特征:原子性、一致性、隔离性和持续性。2.2.标记事务的开始开始BEGINBEGIN TRANSACTIONTRANSACTION3.3.标记事务的结束结束(1)(1) COMMITCOMMIT:提交(正常结束)(2)(2) ROLLBACKROLLBACK:回滚(发生故障)封锁封锁1.
49、1.锁锁实际上就是允许或阻止一个事务对一个数据对象的存取特权存取特权。分类分类:排他锁(X 锁):写操作;共享锁(S 锁):读操作2.2.活锁与死锁封锁带来的一个重要问题是可能引起“活锁活锁”与与“死锁死锁”3.两段封锁法定理定理:遵循两段锁协议的事务的任何并发调度都是可串行化可串行化的。4.封锁的级别(1) 0 0 级封锁级封锁: 指封锁的事务不重写其他非 0 级封锁事务的未提交的更新数据。该状态实用价值不大。(2) 1 1 级封锁级封锁:指被封锁的事务不允许重写未提交的更新数据。这防止丢失更新的发生。(3) 2 2 级封锁级封锁:指被封锁的事务既不能重写也不读未提交的更新数据。这除了1 级
50、封锁的效果外还防止了读脏数据。(4)(4) 3 3 级封锁级封锁:指被封锁的事务不读未提交的更新数据,不写任何未提交数据,防止了不可重读的问题。这是严格的封锁,它保证了多个事务并发执行的“可串行化”。备份与恢复备份与恢复数据库的恢复恢复是以备份为基础备份为基础的,它是与备份相对应的系统维护系统维护和管理管理操作。1.备份备份数据:SELECT INTOOUTFILE2.2.恢复恢复数据:LOADLOAD DATADATA INFILEINFILE第七章第七章 数据库应用设计与开发实例数据库应用设计与开发实例知识点名称知识点名称知识点内容知识点内容1212 / 1313系统功能的系统功能的实现实