数据库|数据库系统概论 期末知识点复习


数据库系统复习

  • 第一章 绪论
  • 第二章 关系数据库
    • 2.1 关系模式
    • 2.2 关系操作
    • 2.3 关系语言的分类
    • 2.4 完整性
  • 第三章 SQL语言
  • 第四章 数据库的安全性
    • 4.1 数据不安全的因素
    • 4.2 数据库安全性控制
    • 4.3 视图机制
    • 4.4 审计
    • 4.5 数据加密
    • 4.6 授权:授予与收回
    • 4.7 数据库角色(按岗位职责,组织权限)
  • 第五章 数据库的完整性
    • 5.1 正确性
    • 5.2 相容性
      • 维护完整性需要的功能
    • 5.3 三大完整性
      • (数据库的完整性与安全性的区别)
  • 第六章 关系数据理论
    • 6.1 范式
      • - 1NF
      • - 2NF
      • - 3NF
      • - BCNF
  • 第七章 数据库设计
    • 7.1 基本步骤
    • 7.2 概念结构设计:ER图
    • 7.3 逻辑结构设计:转化表
  • 第八章 数据库编程
    • 8.1 嵌入式SQL
    • 8.2 过程化SQL
    • 8.3 存储过程和函数
  • 第九章 关系查询处理和优化
    • 9.1 查询处理
  • 第十章 数据库恢复技术
    • 10.1 事务(ACID)
    • 10.2 恢复技术

第一章 绪论 第二章 关系数据库 2.1 关系模式 关系模式:对关系的描述(表头、对表的描述)
关系:一张二维表
2.2 关系操作 查询 插入 删除 修改
查询又分为
  1. 选择
  2. 投影:选择某些列
  3. 连接:将共同属性进行等值连接
    -包括自然连接、外连接、左外连接、右外连接
    -自然连接中被舍弃的元组成为悬浮元组
    -外连接即保留悬浮元组
  4. 除法
    R/S 得到完全包含S的R值
  5. 并、差、交
  6. 笛卡尔积
其中基本操作为:选择、投影、并、差、笛卡尔积
2.3 关系语言的分类
  1. 关系代数语言(本章重点)
  2. 关系演算语言
  3. 具有关系代数和关系演算的SQL语言
2.4 完整性 实体完整性:主码唯一且不能为空
参照完整性:外码要么为空,要么对应另一个表的主码
用户定义的完整性:自己定义的完整性(如数据范围要求)
第三章 SQL语言 数据查询:SELECT(P88)
数据定义:CREATE DROP ALTER
  • 模式、表、视图、索引均可使用CREATE和DROP
  • 模式和视图不可以使用ALTER
数据操作:INSERT UPDATE DELETE(P113)
数据控制:GRANT REVOKE(见第四章)
使用方法和例子见书
第四章 数据库的安全性 4.1 数据不安全的因素
  • 非授权用户对数据库的恶意存取和破坏
  • 数据库中重要或敏感的数据被泄露
  • 安全环境的脆弱性
4.2 数据库安全性控制
  • 用户身份鉴别:口令、身份特征
  • 存取控制
  • 自主存取控制
  • 强制存取控制
4.3 视图机制 为不同的用户定义不同的视图,把不需要的数据给隐藏起来,这样用户就不会进行误操作。
4.4 审计 把对数据库的所有操作都记录到审计日志中,然后就可以通过日志审查这个里面是否有一些非法行为。
4.5 数据加密 4.6 授权:授予与收回 1.GRANT
GRANT <权限>[,权限]···
ON <对象类型><对象名>[,<对象类型><对象名>]···
TO <用户>[,<用户>]···
[WITH GRANT OPTION]
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户
数据库|数据库系统概论 期末知识点复习
文章图片

数据库|数据库系统概论 期末知识点复习
文章图片

2.REVOKE
REVOKE<权限>[,<权限>]···
ON <对象类型><对象名>[,<对象类型><对象名>]···
FROM <用户>[,<用户>]···[CASCADE|RESTRICT]
4.7 数据库角色(按岗位职责,组织权限) 角色(教室、家长、学生…表示一类人)→用户
4.7.1 角色的创建
CREATE ROLE <角色名>
4.7.2 给角色授权
GRANT <权限>[,<权限>]···
ON <对象类型>对象名
【数据库|数据库系统概论 期末知识点复习】TO <角色>[,<角色>]···
3.将一个角色授予其他的角色和用户
GRANT <角色1>[,<角色2>]···
TO <角色3>[,<用户1>]···
[WITH ADMIN OPTION]
如果指定了WITH ADMIN OPTION子句,则获得某种权限的角色或用户还可以把这种权限再授予其他的角色
4.角色权限的收回
REVOKE <权限>[,<权限>]···
ON <对象类型><对象名>
FROM <角色>[,<角色>]···
第五章 数据库的完整性 数据库的完整性包括正确性及相容性
5.1 正确性 定义:符合现实世界语义、反映当前实际情况的
5.2 相容性 定义:数据库同一对象在不同关系表中的数据是符合逻辑的
维护完整性需要的功能
1、提供定义完整性约束条件的机制
2、提供完整性检查的方法
3、进行违约处理
5.3 三大完整性 实体完整性:主码唯一且不能为空
参照完整性:外码要么为空,要么对应另一个表的主码
用户定义的完整性:自己定义的完整性(如数据范围要求)
实现:创建时用check 或constraint进行完整性约束
CHECK <约束条件>
CONSTRAINT <约束名><约束条件>
(数据库的完整性与安全性的区别)
  • 完整性:数据合理正确、符合逻辑、不发生冲突
  • 安全性:防范非法用户的非法操作
第六章 关系数据理论 函数依赖:
部分函数依赖、完全函数依赖、传递函数依赖
为什么要引入范式?
因为关系模式存在诸多问题:
  1. 数据冗余
  2. 更新异常
  3. 插入异常
  4. 删除异常
超码:能推出所有属性的属性集
候选码:最小的超码,真子集不能再推出所有属性(可以有多个候选码集)
主码:挑选任意候选码中的一个(候选码中的某一个)
码:所有主码和候选码的简称(找候选码就行)
全码:所有的属性都可以是码(候选码/主码)
主属性:包含在任意一个候选码中的属性
非主属性:不包含在候选码中的属性
6.1 范式 - 1NF
表中无表
- 2NF
在1NF的基础上,没有非主属性对于码的部分依赖
即:不存在→有多个码可以推出某非主属性
- 3NF
在2NF的基础上,没有非主属性对于码的传递函数依赖
即:不存在→某个码可以通过传递方式重复地推出某非主属性
例如:
数据库|数据库系统概论 期末知识点复习
文章图片

学号->班级号 学号->班级名
班级号->班级名
拆成R1(学号,姓名,班级号);R2(班级号,班级名)
全码一定是3NF(因为没有非主属性)
- BCNF
在3NF的基础上,没有主属性对码的部分 和传递函数依赖
注意:之前是非主属性,这里是主属性
第七章 数据库设计 7.1 基本步骤
  • 需求分析
  • 概念结构设计:ER图和数据字典
  • 逻辑结构设计:ER图→逻辑模型(表)
  • 物理结构设计
  • 数据库实施
  • 运行和维护
7.2 概念结构设计:ER图 矩形表示实体
椭圆表示属性
菱形表示联系
联系:
  • 1对1:人和身份证
  • 1对n:班级和学生
  • m对n:顾客和商品
7.3 逻辑结构设计:转化表 1对1:转换为主码
1对n:转换为外码
m对n:转换为一张表
第八章 数据库编程 8.1 嵌入式SQL 处理过程:
  1. 预编译转化为函数调用
  2. 主语言再编译
  3. 变成诸语言编译内容
嵌入式SQL与主语言的通信:
  1. SQL给主语言传递状态
  2. 主语言给SQL提供参数
  3. SQL把查询结果交给主语言处理
主变量: 主语言程序变量
游标: 一个缓冲区,用于存放SQL的执行结果
不用游标的SQL语句: 说明性语句、数据定义语句、数据控制语句、查询结果为单记录的SELECT语句
使用游标的SQL语句: 查询结果为多条记录的SELECT语句
  1. 说明游标
  2. 打开游标
  3. 推进游标
  4. 关闭游标
动态SQL: 执行的时候才确定SQL子句
8.2 过程化SQL 过程化SQL程序的基本结构是块
过程化SQL的基本语句
8.3 存储过程和函数 存储过程: 没有返回值
函数: 有返回值
第九章 关系查询处理和优化 9.1 查询处理
  1. 查询分析
  2. 查询检查
  3. 查询优化 (代数优化)
  4. 查询执行
数据库|数据库系统概论 期末知识点复习
文章图片

第十章 数据库恢复技术 10.1 事务(ACID) 原子性(atom)、一致性(consistent)、隔离性(isolate)、持久性(duration)
故障的种类:
  1. 事务内部故障:REDO和UNIDO(撤销)
  2. 系统故障(DBMS故障)
  3. 介质故障(硬件损坏)
  4. 计算机病毒
10.2 恢复技术 数据转储: 对失败的事务重新执行
日志文件: 记录事务对数据更新操作的文件

    推荐阅读