数据库系统概论期末复习笔记

★第一章  绪论

1.数据

(1)定义:描述事物的符号记录称为数据 。

(2)数据的含义称为数据的语义,数据与其语义是不可分的。

2.数据库:数据库就是长期存储在计算机内 有组织、可共享的大量数据的集合。

3.数据库系统阶段的数据具有如下特点 :

(1)整体数据的结构化。

(2)数据的共享性强、冗余度低且易于扩充 。

(3)数据的独立性强。

(4)数据由数据库管理系统统一管理和控制 。

4.数据库可以供各种用户共享, 具有最小的冗余度和较强的数据独立性。 数据库管理系统在数据库建立、运维时对数据库进行统一控制 ,以保证数据的完整性和安全性 ,并在多用户同时使用数据库时进行并发控制, 在发生故障后对数据库进行恢复 。

5.数据模型的三要素 :数据结构、 数据操纵和完整性约束三部分 。

6.关系模型的优点 

(1)关系模型建立在严格的数学概念基础上 。

(2)关系模型的概念单一 。

(3)关系模型的存取路径对用户隐蔽。

7.数据库系统的三级模式结构

(1)模式

模式是所有用户的公共数据视图。一个数据库对应一个模式 。

(2)外模式

外模式也称子模式或用户模式 ,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述 。外模式是数据库用户的数据视图,是与某一中有关的数据的逻辑表示 。

一个数据库可以有多个外模式。

(3)内模式

内模式也称物理模式或存储模式, 它是对数据物理结构和存储方式的描述 ,是数据在数据库内部的组织方式 。

一个数据库只有一个内模式。

8.外模式/模式映像和模式/内模式映像保证了数据库系统中的数据能够具有较强的逻辑独立性和物理独立性 。

★第二章  关系模型

1.关系模型可以有三种类型 :基本关系(通常又称为基本表或基表 ) 、查询结果和视图 。

2.视图是由基本表或其他视图导出的虚表, 不存储实际数据 。

3.关系的完整性 

(1)实体完整性

实体完整性约束:若属性(是一个或一组属性 )A是基本关系R的主属性, 则A不能取空值 。

(2)参照完整性

(3)用户定义的完整性:用户定义的完整性就是针对某一具体关系数据库的约束条件 ,它反映某一具体应用所涉及的数据必须满足的语义要求 。例如在学生关系中 ,若要求学生必须有姓名 ,则可以定义姓名属性不能取空值。

4.传统的集合运算 :并,差,交,笛卡尔积。

★第三章  关系数据库标准语言SQL

1.建立表

例如:建立“学生选课”表SC

65815db9f02e4eb6ba30a88a597fc247.jpg

 2.修改基本表27193bb7fb9d4c5e9694ec85365351e8.jpg

 

3.删除基本表66120d0b438e4f349c9469222161ded6.jpg

 

4.建立索引9980cefc405b44e29dd02aa18e50bd1a.jpg

 5.数据查询

课本80-107页

6.数据更新

(1)插入一个元组

INSERT INTO<表名>【(<属性列1>【,<属性列2>】…)】

VALUES(<常量1>【,<常量2>】…);

(2)插入子查询结果

INSERT INTO<表名>【(<属性列1>【,<属性列2>…】)

子查询;

(3)修改数据

UPDATE<表名>

SET<列名>=<表达式>【,<列名>=<表达式>】…

【WHERE<条件>】;

(4)删除数据

DELETE FROM <表名>

【WHERE<条件>】;

★第四章  数据库的安全性

1. 数据库的安全性是保护数据库,以防不合法使用所造成的数据泄露、 篡改或破坏 。

2.

(1)用户身份鉴别是数据库管理系统提供的最外层安全保护措施 。

(2)存取控制

(3)视图机制

(4)审计

(5)数据加密

(6)其他安全性保护

3.授予与回收对数据的操作权限

(1)GRANT语句

GRANT<权限>【,<权限>】…

ON <对象类型> <对象名>【,<对象类型> <对象名>】…

TO <用户> 【,<用户>】…

【WIITH GRANT OPTION】;

(2)REVOKE语句

REVOKE<权限>【,<权限>】…

ON <对象类型> <对象名>【,<对象类型> <对象名>】…

FROM<用户> 【,<用户>】…

【CASCADE|RESTRICT】;

4.数据库角色

(1)角色的创建

CREATE  ROLE <角色名>

(2)给角色授权

GRANT<权限>【,<权限>】…

ON <对象类型> 对象名

TO <角色> 【,<角色>】…

(3)将一个角色授予其他的角色或用户

GRANT<角色1>【,<角色2>】…

TO<角色3>【,<角色4>】…

【WIITH ADMIN OPTION】;

(4)角色权限的收回

REVOKE<权限>【,<权限>】…

ON <对象类型> <对象名>

FROM<角色> 【,<角色>】…

★第五章  数据库完整性

1.数据库的完整性是指数据库数据的正确性和相容性。

2.数据库的完整性是防止数据库中存在不符合语义的数据 ,也就是防止数据库中存在不正确的数据, 数据的安全性是保护数据库防止恶意的破坏和非法的存取。

3.提供检查完整性约束的方法 

关系数据库管理系统中检查数据是否满足完整性约束的机制称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。

4.参照完整性

课本155-157页例题

5.用户定义的完整性

课本的158属性上的约束

课本的159元组上的约束

6.触发器

增加、删除、修改时触发器会改变 。

课本164页例5.1891e5f050d14f43cd83e42595bf824572.jpg

 ★第六章  关系数据理论

1.函数依赖

(1)非平凡的函数依赖

(2)平凡函数依赖

(3)完全函数依赖

(4)部分函数依赖

(5)传递函数依赖

d5c989fad5d74140a446d799a75a317b.jpg

 2.范式

满足最低要求的关系叫做第一范式 ,简称1NF;在第一范式中满足进一步要求的关系为第二范式, 其余以此类推。

一个低一级的范式的关系模式通过模式分解可以转化成若干个更高级别范式的关系 模式的集合 ,这种过程就叫做规范化。

3.二范式

(1)如果关系模式R的每一个分量是一个不可分的数据项, R是满足最低要求的关系模式, 则R∈2NF。

(3)若R∈1NF,并且每一个非主属性完全函数依赖于任何一个候选码 ,则R∈2NF。

4.三范式324c03a5c12d4832b3c9269caff3a527.jpg

 5.BCNF

2ec03ede8016476f809e5ee853d0c383.jpg

 6.数据依赖的公理系统 

课本185-189例题

(1)公理系统设U为属性组全集, F是U上的一组函数依赖,于是有关系模式R (U,F),对R(U,F)来说有以下的推理规则 。

①自反律

②增广律

③传递律

★第七章 数据库设计

1.需求分析

2.概念结构设计(概念结构设计就是将需求分析得到的用户需求抽象为信息结构的过程。 )

(1)实体与属性的划分原则。为了简化E-R图的处置, 现实世界的事物能作为属性的尽量作为属性对待。

 (2)符合什么条件的事物可以作为属性对待呢 ?可以给出两条准则 :

①属性不能再具有需要描述的性质。

②属性不能与其他实体具有联系 。

3.逻辑结构设计(E-R图向关系模型的转换)

(1)定义用户外模式时 ,具体可以包括以下几方面:

a.使用更符合用户习惯的别名

b.对不同级别的用户定义不同的视图

c.简化用户对系统的使用。

4.物理结构设计

(1)选择关系模式存取方法:B+树索引和哈希索引。

(2)关系数据库系统一般提供多种存储方法, 常用的是索引方法和聚簇方法。

(3)哈希索引方法的选择

如果一个关系的属性主要出现在等值连接条件或等值比较选择条件中, 而且满足下列两个条件之一, 则此关系可以选择哈希索引方法:

①一个关系的大小可预知, 而且不变。

②关系的大小动态改变, 但数据库管理系统提供了动态哈希索引方法。 

(4).B+树索引方法的选择:根据应用要求确定对关系的哪些属性列建立索引, 对哪些属性列建立组合索引, 以及确定哪些索引要设计为唯一索引等。

(5) 聚簇方法的选择

为了提高某个属性(或属性组)的查询速度, 把这个或这些属性上具有相同值的元组集中存放在连续的物理块中称为聚簇,该属性(或属性组)称为聚簇码。

5.数据库实施

6.数据库运行和维护

★第八章  数据库编程

1.一个游标与一个SQL语句相关 。

2.(1)声明游标

DECLARE 游标名【(参数一1数据类型,参数2数据类型 ,…)】

CURSOR FOR

SELECT 语句;

定义游标仅仅是一条说明性语句 ,这时关系数据库管理系统并不执行select语句。 

(2)打开游标

OPEN游标名【(参数一1数据类型,参数2数据类型 ,…)】;

(3)使用游标

FETCH 游标名 INTO 变量1【,变量2,…】;

(4)关闭游标

CLOSE游标名;

★第十一章  数据库恢复技术

1.事物通常是以BEGIN  TRANSACTION开始,以COMMIT或ROLLBACK结束。

(1)COMMIT表示提交,及提交事务的所有操作,具体的说就是将事物中所有对数据库的更新写回到磁盘上的物理数据库中,事物正常结束。

(2)ROLLBACK表示回滚。即在事物运行的过程中发生了某种故障,事物不能继续执行, 系统将事务中对数据库的所有已完成的更新操作全部撤销,回滚到事务开始时的状态 。

2.事务的ACID特性

(1)原子性(adomicity)

(2)一致性(consistency)

(3)隔离性(isolation)

(4)持续性(durability)

3.检查点记录的内容包括 :

(1)建立检查点时刻所有正在执行的事务清单。 

(2)这些事务最近一个日志记录的地址。

4 恢复子系统的恢复策略 

(1)

a390cf94a7394bd99b66911ed61befb9.jpg

 (2)系统使用检查点方法进行恢复的步骤是 :

①从重新开始文件中找到最后一个检查点记录在日志文件中的地址 ,由该地址在日志文件中找到最后一个检查点记录。

②由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。

③从检查点开始正向扫描文件 。

a.如有开始的事务T,把T暂时放入撤销队列。

b.如有已提交的事务T,把T从撤销队列移到重做队列 直到日志文件结束 。

④对撤销中的每个事务执行撤销操作, 对重做队列中的每个事物执行重做操作 。

★第十二章  并发控制

1.并发操作带来的数据不一致性主要有丢失修改、 脏读 、不可重复读 、幻读等多种情况 。(ROLLBACK一般可想到脏读 。)

2.几种数据不一致性示例 c62ab0ad097b4694a9872973efe7f024.jpg

 3.基本的封锁类有两种 :排他型锁(X锁)和共享型锁 (S锁)。(排他型锁又称为写锁 ,共享型锁又称为读锁。 )

4.使用封锁机制解决三种数据不一致性的示例 3fe63e64ffb3418ca8a2ba3ae807555c.jpg

 5.三级封锁协议是指在一级封锁协议的基础上,增加事务t在读取数据r之前必须先对其加s锁, 直到事务结束才释放。

6.二级封锁协议是指在一级封锁协议基础上,增加事务t 在读取数据r之前必须先对其加s锁 ,读完后即可释放s锁 。

7.封锁的方法可能引起活锁和死锁的问题 。

8.避免活锁的简单方法是采用先来先服务的策略 。 

9.死锁

(1)死锁的预防

①一次封锁法

②顺序封锁法

(2)死锁的诊断与解除

①超时法

②事物等待图法

 10.并发事务的不同调度 ac80192503dc4e68b095a660570a0aef.jpg

 11.课本344页例题12.32bc4ee124f304a81b8be4dc60461b7e6.jpg

 12.两段锁协议是指事务必须分两个阶段对数据项加锁和解锁 。

13.意向共享型锁( IS锁),意向排他型锁 (IX锁),共享意向排他型锁(SIX锁)。

14.申请封锁时应按自上而下的次序进行,释放封锁时则应按自下而上的次序进行 。

 

以上是我的数据库系统概论笔记,如果有写错的地方可以告诉我,我来改正😁

 

 

 

 

 

 

 

 

 

 

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值