《数据库系统概论》知识点总结

期末复习顺便总结下,书本为高等教育出版社的《数据库系统概论》。



第一章知识点

数据库是长期储存之计算机内的、有组织的、可共享的大量数据的集合。
1,数据库数据特点 P4
      永久存储,有组织,可共享
2,数据独立性及其如何保证  P10,P34
逻辑独立性:用户的应用程序与数据库的逻辑结构互相独立。( 内模式保证)
物理独立性:用户的应用程序与存储在磁盘上的数据库中的数据相互( 外模式保证)
3,数据模型的组成要素 P13
      数据结构、数据操作、完整性约束
4,用ER图来表示概念模型 P17
      实体、联系和属性。联系本身也是一种实体型,也可以有属性。



第二章

1,关系的相关概念(如关系、候选码、主属性、非主属性)  P42-P44
      单一的数据结构---- 关系。现实世界的实体以及实体间的各种联系均用关系来表示。
       是一组具有相同数据类型的值的集合。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为 候选码
关系模式的所有属性组是这个关系模式的候选码,称为 全码
若一个关系有多个候选码,则选定其中一个为 主码
候选码的诸属性称为 主属性
不包含在任何侯选码中的属性称为 非主属性

2,关系代数运算符   P52

自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。
3,关系代数表达式



第三章
   
         
   
   
   
模式
CREATE SCHEMA
DROP SCHEMA
 
CREATE TABLE
DROP TABLE
ALTER TABLE
   
CREATE VIEW
DROP VIEW
 
   
CREATE INDEX
DROP INDEX
 
1,SQL的特点P79-P80
1. 综合统一
2. 高度非过程化 
3. 面向集合的操作方式
4.以同一种语法结构提供多种使用方式
5. 语言简洁,易学易用

2,基本表的定义、删除和修改P84-P87
PRIMARY KEY
PRIMARY KEY (Sno,Cno)
UNIQUE
FOREIGN KEY (Cpno)  REFERENCES  Course(Cno)

ALTER TABLE <表名>
ADD <新列名> <数据类型> [ 完整性约束 ] ]
DROP <完整性约束名> ]
ALTER COLUMN<列名> <数据类型> ];

DROP TABLE <表名>[ RESTRICT| CASCADE];

3,索引的建立与删除P89-P90
      CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
      ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
     唯一索引  UNIQUE、非唯一索引或聚簇索引 CLUSTER
      DROP INDEX <索引名>;

4,数据查询P91-P114
     唯一  DISTINCT
确定范围  BETWEEN AND,NOT BETWEEN AND
确定集合  IN,NOT IN
字符匹配  LIKE,NOT LIKE
空值   IS NULL,IS NOT NULL
多重条件(逻辑运算)  AND,OR,NOT
                                                                                                                                                                                                                                                                                 
ORDER BY子句 升序: ASC;降序: DESC缺省值为升序

聚集函数:
计数
COUNT
([DISTINCT|ALL] *)
COUNT
([DISTINCT|ALL] <列名>)
计算总和
SUM
([DISTINCT|ALL] <列名>)
 计算平均值
AVG
([DISTINCT|ALL] <列名>)
最大最小值
MAX
([DISTINCT|ALL] <列名>)
MIN
([DISTINCT|ALL] <列名>)


左外连接  LEFT OUT JOIN  XXX  ON  (XX.A = XXX.A)

5,数据更新P115-P118
INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>]    …           )/或子查询

UPDATE  <表名>
SET  <列名>=<表达式>[,<列名>=<表达式>]…
 [ WHERE <条件>];

  DELETE 
  FROM     <表名>
 [ WHERE <条件>];

6,视图的P118-126
        CREATE  VIEW 
             <视图名>  [(<列名>  [,<列名>]…)]
        AS  <子查询>   --子查询不允许含有ORDER BY子句和DISTINCT短语
       [ WITH  CHECK  OPTION];

      DROP  VIEW  <视图名>;



第四章、第五章
1,授权与回收P137-P140
GRANT语句的一般格式:
       GRANT <权限>[,<权限>]...    -- ALL PRIVILIGES 
       [ON  <对象类型> <对象名>]
       TO <用户>[,<用户>]...  --PUBLIC
       [WITH GRANT OPTION];   --允许他再将此权限授予其他用户
REVOKE语句的一般格式为:
      REVOKE <权限>[,<权限>]... 
      [ON  <对象类型> <对象名>]
      FROM <用户>[,<用户>]...;    --级联(CASCADE)收回

2,数据库角色P142-P143
   角色是权限的集合
一、 角色的创建
CREATE  ROLE  <角色名> 

二、 给角色授权 
 GRANT  <权限>[,<权限>]… 
 ON  <对象类型>对象名  
 TO <角色>[,<角色>]…

三、 将一个角色授予其他的角色或用户
GRANT  <角色1>[,<角色2>]…
TO  <角色3>[,<用户1>]… 
[WITH ADMIN OPTION] 

四、 角色权限的收回 
REVOKE <权限>[,<权限>]…
ON <对象类型> <对象名>
FROM <角色>[,<角色>]…

3,数据库的三类完整性及其实现P152-P158

实体完整性
 CREATE  TABLE中用PRIMARY KEY定义

参照完整性
 在CREATE  TABLE中用FOREIGN KEY短语定义哪些列为外码
 用REFERENCES短语指明这些外码参照哪些表的主码

用户定义的完整性
 CREATE TABLE时定义
 列值非空(NOT NULL)
 列值唯一(UNIQUE)
 检查列值是否满足一个布尔表达式(CHECK)

CONSTRAINT 约束
CONSTRAINT <完整性约束条件名>
[PRIMARY KEY短语
   |FOREIGN KEY短语
   |CHECK短语]

使用ALTER TABLE语句修改表中的完整性限制
 可以先删除原来的约束条件,再增加新的约束条件
      ALTER TABLE Student
      DROP CONSTRAINT C1;
      ALTER TABLE Student
      ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999)


第六章
关系模式 是一个五元组:  R(U, D, DOM, F)

1,函数依赖和码的定义P172-P174
 数据依赖:一个关系内部属性与属性之间的约束关系。
最重要的数据依赖:函数依赖和多值依赖
函数依赖:一个属性或一组属性的值可以决定其它属性的值。

函数依赖: 平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y 不属于 X,则称X→Y是非平凡的函数依赖
若X→Y,但Y 属于 X,   则称X→Y是平凡的函数依赖

在R(U)中,如果X→Y,并且对于X的任何一个真子集X' ,都有X' Y,则称Y对X完全函数依赖,记作:XY 。 
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XY。

在R(U)中,如果X→Y,(YX),Y不函数依赖1.GIF (62 bytes)X,Y→Z,则称Z对X传递函数依赖。 加上条件Y→X,是因为如果Y→X,则X←→Y,实际上是, 是直接函数依赖而不是传递函数依赖


2,1NF,2NF,3NF  P175-P176
     如果一个关系模式R的所有属性都是 不可分的基本数据项,则R∈ 1NF
     第一范式是对关系模式的最起码的要求
     若R∈1NF,且每一个 非主属性完全函数依赖于码,则R∈ 2NF。
     每一个非主属性既不部分依赖于码也 不传递依赖于码,则R∈ 3NF
 

3,函数依赖公理系统(Armstrong公理系统P183,闭包P184,最小覆盖P186)
Armstrong公理系统
     A1. 自反律(Reflexivity):若Y属于XU,则X →Y为F所蕴含。属于
     A2. 增广律(Augmentation):若X→Y为F所蕴含,且Z属于U,则XZ→YZ为F所蕴含。
     A3. 传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。
(导出规则):
 合并规则:由X→Y,X→Z,有X→YZ。
       (A2, A3)
 伪传递规则:由X→Y,WY→Z,有XW→Z。
       (A2, A3)
 分解规则:由X→Y及 Z属于Y,有X→Z。
       (A1, A3)

在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作 F的 闭包,记为F+。
设F为属性集U上的一组函数依赖,X 属于U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包

F+ = G+ 的充分必要条件是F 属于 G+ ,和G 属于 F+ 
最小依赖集
    (1) F中任一函数依赖的右部仅含有一个属性。
    (2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
    (3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。 

4,模式分解(模式分解的准则及定义P189-P190,模式分解方法P191)
     模式的分解要保持 无损联接性和函数依赖性。算法见教材...



第七章
1,数据库设计的基本步骤P201
  需求分析
 概念结构设计
 逻辑结构设计
 物理结构设计
 数据库实施
 数据库运行和维护 

2,概念结构设计的方法和步骤P209-P211
设计概念结构的4类方法
  自顶向下 首先定义全局概念结构的框架,然后逐步细化
  自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构
  逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构
  混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

3,E-R图向关系模型的转换P224-P225
     属性不能再具有需要描述的性质。属性不能与其他实体具有联系。
这种 转换一般遵循如下原则
⒈ 一个实体型转换为一个关系模式。
⒉ 一个m:n联系转换为一个关系模式。
⒊ 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
⒋ 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
⒌ 三个或三个以上实体间的一个多元联系转换为一个关系模式。
⒍ 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。
⒎ 具有相同码的关系模式可合并。

4,物理设计(关系模式存取方法的选择P228-P230,数据库的存取结构P230-P231)
常用存取方法
1、 索引方法 B+树索引方法
     查询条件,聚集函数,连接操作
2、 聚簇(Cluster)方法
     连接操作,相等比较,重复率高
3、 HASH方法
     大小可预知,DBMS提供动态存取方法

确定数据库的物理结构
⒈ 确定数据的存储结构
⒉ 设计数据的存取路径
⒊  确定数据的存放位置存取时间 存储空间利用率 维护代价
⒋  确定系统配置


第十一章
事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位;
事务是恢复和并发控制的基本单位;

1,事务的特性P279
     事务的 ACID特性: 原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability )

2,并发控制不当导致的问题P294
     1) 丢失修改(Lost Update)
     2) 读“脏数据” (dirty read)
     3) 不可重复读(Non-repeatable Read)

3,封锁P295-296
封锁具有3个环节:
     第一个环节是 申请加锁
     第二个环节是 获得锁
     第三个环节是 释放锁
基本的封锁类型有两种: 排它锁(Exclusive Locks,简称 X锁)和 共享锁(Share Locks,简称 S锁)。

解决活锁问题的方法是采用先来先服务。
解决死锁方法
(1)预防死锁的发生;(2)允许发生死锁,然后采用一定手段定期诊断系统中有无死锁,若有则解除之。
预防死锁的方法: 一次封锁法, 顺序封锁法
死锁的诊断:超时法,事务等待图法

4,并发调度的可串行性P299-P230
      定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。

      冲突操作是指不同的事务对同一个数据的读写操作和写写操作。
      不同事务的冲突操作不能交换。
     同一事务的两个操作不能交换。
     冲突可串行化调度是可串行化调度的充分条件,不是必要条件。

5,两段锁协议P301-P302
     两段锁协议:指所有事务必须 分两个阶段对数据项加锁和解锁。
      第一阶段是 获得封锁,也称为扩展阶。 第二阶段是 释放封锁,也称为收缩阶段。

事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值