《2022年《数据库原理》知识点总结.docx》由会员分享,可在线阅读,更多相关《2022年《数据库原理》知识点总结.docx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点数据库系统概述 一、有关概念 1数据 2数据库( DB)3数据库治理系统(DBMS )Access 桌面 DBMS VFP SQL Server Oracle 客户机 /服务器型 DBMS MySQL DB2 4数据库系统(DBS)数据库( DB)数据库治理系统(DBMS )开发工具 应用系统 二、数据治理技术的进展1数据治理的三个阶段( 1)人工治理阶段( 2)文件系统阶段( 3)数据库系统阶段概念模型 一、模型的三个世界1现实世界 2信息世界:即依据需求分析画概念模型(即 E-R 图)
2、, E-R 图与 DBMS 无关;3机器世界:将 E-R 图转换为某一种数据模型,数据模型与 DBMS 相关;留意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性1实体:客观存在并可相互区分的事物;2属性:3关键词:能唯独标识每个实体又不含余外属性的属性组合;一个表的码可以有多个,但主码只能有一个;4实体型:即二维表的结构 5实体集:即整个二维表 三、实体间的联系:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - -
3、 - - - -名师总结 精品学问点1两实体集间实体之间的联系 1: 1 联系、 1: n 联系、 m:n 联系 2同一实体集内实体之间的联系 1: 1 联系、 1: n 联系、 m:n 联系数据模型 一、层次模型:用树型结构表示实体之间的联系;二、网状模型:用图结构表示实体之间的联系;三、关系模型:用二维表表示实体之间的联系;1重要术语:关系:一个关系就是一个二维表;元组:二维表的一行,即实体;关系模式:在实体型的基础上,注明主码;关系模型:指一个数据库中全部二维表结构的集合;数据库系统结构 数据库系统的 模式结构 三级模式 1模式:是数据库中全体数据的规律结构和特点的描述;模式只涉及数据库
4、的结构;模式既不涉及应用程序,又不涉及数据库结构的储备; 外模式:是模式的一个子集,是与某一个应用程序有关的规律表示;特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用; 内模式:描述数据库结构的储备,但不涉及物理记录;2两级映象 外模式 /模式映象:保证数据库的规律独立性; 模式 /内模式映象:保证数据库的物理独立性;3两级映象的意义 使数据库与应用系统完全分开,数据库转变时,应用系统不必转变; 数据的存取完全由 DBMS 治理,用户不必考虑存取路径;数据库治理系统 1 DBMS 的功能:负责对数据库进行统一的治理与掌握; 数据定义:即定义数据库中各对象的结构 数据操纵
5、:包括对数据库进行查询、插入、删除、修改等操作; 数据掌握:包括安全性掌握、完整性掌握、并发掌握、数据库复原;2 DBMS 的组成:DDL 语言 DML 语言细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点DCL 语言 有用程序 一、基本概念1码:能唯独标识元组的属性集;2候选码:一个属性集既能唯独标识元组,且又不含有余外属性,一个关系模式可以有多个候选码;3主码:任选候选码中的一个;4主
6、属性:主码中包含的各个属性;5非主属性:不包含在主码中的各个属性;6外码:设F 是关系 R 的一个属性,不是R 的主码,但却是另一个关系S 的主码,就称F 是关系 R的外码;关系的数学定义 一、域1定义:域是一组具有相同类型的值的集合;2域的基数:域中所含数据的个数;二、笛卡尔积1定义:给定一组域 D1,D2,D3 ,就 D1 D2 D3 称为笛卡尔积;2笛卡尔积 D1 D2 D3 对应一个二维表,所含元组的个数等于各个域的基数之积;三、关系1定义:笛卡儿积的一部分元组称为关系;2关系的目(或度) :一个关系所含属性的个数;3关系的性质 任意两个元组不能完全相同,但属性名答应重复;四、关系的完
7、整性1实体完整性:指关系的全部主属性都不能取空值;留意:实体完整性不仅仅是主码整体不能取空值;2参照完整性:指一个关系外码的取值必需是相关关系中主码的有效值或空值;五、特地的关系运算 1挑选:从关系 R 中挑选满意条件的元组;2投影:从关系 R 中挑选如干属性组成新的关系,并把新关系的重复元组去掉;3条件连接:将两关系按肯定条件连接成一个新关系 说明:条件连接:两关系可以没有公共属性,如有公共属性,就新关系含有重复属性;4自然连接:将两关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉;说明: 自然连接:两关系至少有一个公共属性; 对于 R 的每个元组, S 都从第一个元组开头判定,新
8、元组添加到新关系中,最终把新关系中的重复属性去掉;如两元组的公共属性值相同,就产生一个关系数据库规范化理论 函数依靠 一、有关概念:1函数依靠:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点任给 R(U), U 为属性集, x、y 为 U 的子集,假如对于 称 x 打算 y,或 y 函数依靠于 x;2. 完全函数依靠:x 的每个值, y 有唯独确定的值与之对应,就如 x y,且对于 x
9、的全部真子集x, 都有 x y,就称 x 完全打算 y,或 y 完全函数依靠于x;结论: 如 xy,且 x 只包含一个属性,就xfy;3部分函数依靠:如 x y,且存在 x 的一个真子集x, 满意 x y,就称 x 部分打算 y,或 y 部分函数依靠于x;4传递函数依靠:如 x y,y z, 但 y x, 就xtz二、平凡函数依靠与非平凡函数依靠设 x y,假如 y 是 x 的子集,就该依靠是平凡的;假如 y 中至少有一个属性不在 x 中,就该依靠是非平凡的;假如 y 中没有一个属性在一、存在问题 数据冗余大; 修改麻烦;x 中,就该依靠为完全非平凡的;关系模式的规范化 插入反常:应当插入到
10、DB 中的数据插不进去;如:新开课程没有同学选修时,新开课程的课程号、课程名插不进去; 删除反常:不应当删除的数据被删掉;如选修某门课的同学毕业了,在删除同学信息的同时,把课程信息也删除掉;结论:一个好的关系模式应满意: 冗余应尽可能少; 应尽可能防止插入、删除反常; 消去关系中不合适的属性依靠关系;二、关系模式的规范化1第一范式( 1NF) 定义:如关系R 的全部属性不能再分,就R 1NF 存在问题 缘由:存在非主属性对主码的部分依靠; 解决方法:排除非主属性对主码的部分依靠,将关系 R 一分为二,将满意完全依靠的属性集组成一个关系;将满意部分依靠的属性集组成另一个关 系;2其次范式( 2N
11、F ) 定义:如关系R1NF,且它的每个非主属性都完全依靠于主码,就称R 2NF;3第三范式( 3NF)细心整理归纳 精选学习资料 定义:如关系R2NF,且它的每个非主属性都不传递依靠于主码,就称R3NF; 第 4 页,共 20 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点4结论 如 R1NF,且主码只含一个属性,就 R肯定为 2NF; 如 R2NF,且只有 01 个非主属性,就 R肯定为 3NF; 3NF 一般掌握了数据冗余,一般防
12、止了操作反常; 范式并非越高越好,适可而止;数据库设计一、数据库设计的步骤 需求分析:明白分析用户的需要、要求; 概念结构设计:依据需求分析的结果画概念模型(即 E-R 图); 规律结构设计:将 E-R 图转换为某一种数据模型,并优化; 物理结构设计 数据库实施 数据库运行与复原概念结构设计 一、局部 E-R 图设计 1确定局部范畴 通常把系统涉及的各个部门或各个主要功能作为局部;2确定实体与属性 属性是不能再分的数据项; 联系只发生在两实体之间; 原就上,能够作为属性,就不要作为实体;二、合并成总体 E-R 图1排除各局部 E-R 图的冲突问题;2按公共实体名合并,生成初步 E-R 图;3排
13、除冗余的属性和冗余的联系,生成总体 E-R 图;规律结构设计 一、联系的属性和主码(1)联系的属性:必需包含相关联的各实体型的主码;(2)联系的主码 1: 1 联系:可以是相关联的任一实体型的主码;1: n 联系:必需是 n 方实体型的主码;m: n 联系:必需是相关联的各实体型的主码之和;二、 E-R 图向关系模型的转换(1)把每个实体型转换为一个关系模式;(2)1: 1 联系:可以消化到相关联的任一实体型对应的关系模式中;(3)1: n 联系:可以消化到 n 方实体名对应的关系模式中;(4)m:n 联系:必需转换为一个关系模式,并且不能消化;(5)多元联系:不能消化细心整理归纳 精选学习资
14、料 - - - - - - - - - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点物理结构设计与数据库实施1物理结构设计 在规律设计的基础上,为每个关系模式挑选合适的储备结构与储备方式;挑选储备结构:即打算每个表的记录次序;挑选存取方式:即打算为哪些属性建立非集合索引,以便加快查找速度;一般把常常查询的属性名指 定为非集合索引;2数据库实施 主要工作:定义数据库结构;组织数据入库;编写应用程序;数据库试运行;创建和使用数据库 一、数据库文件1一个
15、数据库至少有一个主要数据文件和一个事务日志文件;据文件、多个次要数据文件和多个事务日志文件;主数据文件 .mdf 次数据文件 .ndf 用于存放数据库的各类对象假如数据库很大, 可以使用一个主要数事务日志文件 .ldf :用来记录对数据库对象的全部更新操作;2系统数据库 Master 数据库、 Model 数据库 二、创建数据库1打开数据库:Use 数据库名 2删除数据库:Drop database数据库名 三、修改数据库1分别和附加数据库 2备份和仍原数据库 3数据的导入和导出 创建和使用表 数据类型 1字符型 charn、varcharn、 Text 2统一码字符型细心整理归纳 精选学习资
16、料 - - - - - - - - - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -每个英文字母、数字、汉字算名师总结精品学问点1 个字符,每个字符占2 个字节;ncharn、 nvarcharn、ntext 3整型 4实型 精确数值型 近似数值型5贷币型 6日期时间型 使用对象资源治理器创建和治理表 一、创建表1在一个表中只能定义一个标识字段;2只有整型和精确数值型(decimal、numeric)字段才能指定为标识字段;3把某个字段指定为公式字段;二、设置约束1主
17、键约束:每个表中只能有一列或一个组合被指定为主键,主键中的各个列不能为空值;2外键约束:创建外键约束,就是定义两个表的永久关联,这两个表分别称为主键表、外键表;外键表中外键的值 只能是主键表中主键的有效值或空值;3唯独性约束:主键约束与唯独性约束的区分是:(1) 在一个表中只能定义一个主键约束,但可定义多个唯独性约束;(2)指定为主键约束的列不能取空值,但指定为唯独性约束的列答应取空值;4唯独性约束:用于限制输入到一列或多列的值的范畴,保证数据库的数据完整性;5默认值约束:T-SQL 一、 SQL 语言的特点 SQL 语言集数据定义、数据查询、数据操纵、数据掌握的功能于一体;全部的 DBMS
18、都支持 SQL 语言; T-SQL 基础 一、创建和使用数据库1创建数据库 create database 数据库名 2使用数据库细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点Use数据库名 3删除数据库 drop database数据库名 二、定义表1创建表create table 表名(属性名类型, ,属性名 类型)指定标识字段:identity 标识种子,标识增量指定公式字段:属性
19、名as 表达式2删除表 drop table 表名 , , 表名 三、 select 语句select */表达式表 into 新表 from 表名 , ,表名 where 条件 group by 属性名 having 条件 order by 属性名 Asc/Desc 1 Select 子句 *代表全部属性名 如一个属性名来自多个表,就属性名前须冠以表名,格式为:表名 . 属性名 设置表达式的别名:表达式 As 别名 限制查询结果的记录行数:all 返回全部记录 top n 返回前面 n 行记录 distinct 表示取消重复行 说明: top n 只能放在关键字 select 的后面;all
20、、distinct 只能放在关键字 select 或聚合函数的后面;2 Where 子句 in 的格式:属性名 in 常量, ,常量 like 的格式:属性名 like 通配字符串 在 Where 子句中指定连接:Where 表名 1. 属性名 =表名 2. 属性名 3 Order by 子句order by 属性名 1 Asc/Desc, 属性名 2 Asc/Desc 4聚合函数细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - -
21、 - - - - -名师总结 精品学问点5 Group by 子句 使用 Group by 子句时, Select 子句只能使用分组项字段和聚合函数 6 Having 子句 Having 子句只能跟在 Group by 子句之后,且只能使用聚合函数和分组项字段; where 子句放在 Group by 子句之前,甚至可以没有 7 into 子句 功能:将查询结果储存到新的基表中;一、查询的分类 单表查询 连接查询 嵌套查询 五、数据操纵1 insert 语句(1)每次插入一条记录insert into 表名 属性名表 values表达式表 (2)插入子查询的结果insert into 表名 属
22、性名表 Group by 子句;且不能包含聚合函数;update 表名 set 属性名 =值, ,属性名 =值 where 条件 缺省 where 子句,默认为更新全部记录;3 delete 语句 delete from 表名 where 条件 T-SQL 程序设计基础一、常量:字符型:由单引号括住 整型 实型 二、变量:局部变量:由用户定义和赋值,以 开头; 第 9 页,共 20 页 全局变量:由系统定义和赋值,以 开头;1. 声明局部变量Declare 变量名类型2. 给局部变量赋值细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - -
23、- - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点 使用 set 语句:Set 变量名 =表达式 使用 select 语句 Select 变量名 =表达式 , ,变量名 =表达式 from 表名 3. 如表达式中含有属性名,就必需使用from 子句;输出表达式的值:使用 print 语句 Print 表达式 使用 select 语句 Select 表达式, ,表达式 from 表名 4局部变量的作用域:只能在声明它的批处理中使用;批处理 1什么叫批处理?一个脚本由一个或多个批处理组成,批处理以 GO 作为终止标志;2批处理
24、是脚本的编译单位,行;当一个批处理中的某个语句显现编译错误,就批处理中的任何语句均无法执3当一个批处理中的某个语句显现运行错误,就批处理中当前语句和它之后的语句将无法执行;流程掌握语句 一、 begin end 语句 二、 if-else 语句 当规律表达式包含子查询时,子查询必需用括号括住;三、 case表达式 说明: case表达式不是语句,不能单独执行;四、 while 语句 2专用于循环体的语句:Break 强制退出 while 语句,执行其后续语句;Continue 返回 while 语句的入口;Break、 Continue 必需放在循环体内,并常与 if-else 语句结合使用;
25、其它语句 二、1 Return 语句 2储备过程细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点 创建储备过程 删除储备过程函数1创建函数create function 函数名 形参名类型 returns 类型as begin 函数体End 注:函数体最终一条语句必需是return 语句; 两类函数:标量函数、内嵌表值函数2执行函数Exec 变量名 1=函数名 常量 | 变量名Print
26、 函数名 常量 | 变量名 3删除函数Drop function 函数名T-SQL 高级应用一、查询的分类单表查询连接查询嵌套查询一、 连接查询:在 where 子句中指定连接1内连接: where 表名 1.属性名 =表名 2.属性名2自身连接:给一个表取两个别名,where 子句的格式为:where 别名 1.属性名 =别名 2.属性名3左外连接: where 表名 1.属性名 *= 表名 2.属性名意义:查询结果包含了表1 的全部记录和表2 满意条件的记录;4右外连接: where 表名 1.属性名 =* 表名 2.属性名意义:查询结果包含了表2 的全部记录和表1 满意条件的记录; 第
27、11 页,共 20 页 三、连接查询:在from 子句中指定连接细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1内连接: from 表名 1 inner join 名师总结条件精品学问点表名 2 on 2左外连接: from 表名 1 left outer join 表名 2 on 条件条件3右外连接: from 表名 1 right outer join 表名 2 on 条件4完全外连接:from 表名 1 full outer
28、join 表名 2 on 5交叉连接四、嵌套查询事务处理 1什么叫事务?事务是用户定义的一组操作序列; 事务是并发掌握的基本单位; 一个事务包含的诸操作要么都执行,要么都不执行;1 事务的属性 原子性:指事务中包含的诸操作要么都执行,要么都不执行; 一样性:事务必需使数据库从一个一样性状态变到另一个一样性状态; 隔离性:一个事务的执行不能被其他事务干扰;长久性 3显式定义事务 4在事务内设置储存点 使用游标 一、游标的概念1 每个表均有一个游标,它可以指向表的任意一条记录;2 移动游标的方法:在触发器或储备过程中,使用 SQL 语句定义和使用游标;在前台应用程序中,使用主语言实现对游标的移动;
29、二、 Transact-SQL 游标的使用:1. 声明游标 Declare 游标名 cursor forward_only / scroll global /local read_only for select 语句forward_only 只进游标 :只能进行next 操作,缺省为forward_only ;scroll (滚动游标)global /local :缺省为: global 2打开游标 open 游标名 打开游标时,游标指向查询结果集的第一条记录之前;3提取游标细心整理归纳 精选学习资料 fetch next / prior / first /last from游标名 第 12
30、页,共 20 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点into 局部变量名表 缺省 into 子句:移动游标,并显示当前记录的内容; 含 into 子句:移动游标,并将当前记录各属性值依次赋给局部变量; 缺省游标移动方式,就为 next;4关闭游标 close 游标名 5释放游标索引 一、索引的概念: 假如把数据表比作一本书,那么表的索引就是这本书的目录;可见, 索引使用户能快速拜访数据表的特定信息; 索引包括两项:索引字段值、原
31、记录号 索引必需依附于某个基本表,不能单独存在;二、索引的类型:集合索引:影响数据表的记录次序 非集合索引:不会影响数据表的记录次序 注:一个表只能建立一个集合索引,但可以建立如干个非集合索引;三、创建索引1自动创建索引:;假如在数据表的某个属性设置主键约束或唯独约束,就系统将在这些属性上自动创建唯独索引;自动创建的索引随约束的存在而存在,随约束的消逝而消逝;2使用 SQL 语句创建索引 Create unique clustered/nonclustered index 索引名 On 表名(属性名 asc/desc, 属性名 asc/desc)注:如未指定 clustered,就创建非集合索
32、引;如未指定排序方式,就为 ASC; text,ntext 类型的字段不能指定为索引字段;四、删除索引:Drop index 索引名, ,索引名 视图 一、视图的特点:视图只有结构,没有记录,是虚表;一个视图总对应着一个 select 语句;对视图的查询、更新,实际上是对基本表的查询、更新;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点二、定义视图:1创建视图:Create view
33、视图名 属性名, ,属性名 As 子查询with check option 说明:视图的属性个数必需与子查询中 2删除视图:Drop view 视图名, ,视图名 三、查询视图:select */表达式表 from 视图名 , ,视图名 where 条件 group by 属性名 order by 属性名 Asc/Desc 四、操纵视图:1向视图插入一条记录select 子句的表达式个数相同;insert into 视图名 属性名表 values 表达式表 2修改视图中的数据 update 视图名 set 属性名 =值, ,属性名 =值 where 条件 缺省 where 子句,默认为更新全部
34、记录;3删除视图中的记录 delete from 视图名 where 条件 触发器 一、保护数据完整性的措施:创建约束,创建触发器基于一个表创建创建规章:以单独的对象创建,可以绑定到数据库的全部表中;二、触发器类型:1 after 触发器:1 Instead of 触发器:三、创建触发器:Create trigger 触发器名 On 表名 |视图名 For | after | Instead of 触发操作细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - -
35、 - - - - - - - - - - - -名师总结 精品学问点As SQL 语句序列说明: for 或 after,表示创建 after 触发器;触发操作是指 Insert、 update、delete 中的一个或多个;五、删除触发器Drop trigger 触发器名 ,触发器名 ;把一个登录名指定为数据库的(1)图书信息表public 和 db_owner,就登录名对该数据库拥有全部权限;数据库的构建与数据装入细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料
36、 - - - - - - - - - - - - - - -名师总结 精品学问点(2)读者信息表细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点(3)治理员信息表细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - -
37、- - -名师总结 精品学问点(4)借阅表细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 18 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师总结 精品学问点(5)治理员书籍(6)治理员同学细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 19 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -细心整理归纳 精选学习资料 名师总结精品学问点 第 20 页,共 20 页 - - - - - - - - - - - - - - - - - - - - - - - -