《数据库系统》期末复习知识点总结(全)

《数据库系统》期末复习知识点总结(全),第1张

 目录

1. 数据库系统基础

1.1 数据库系统概述

1.1.1 基本概念

1.1.2 数据独立性

1.2 概念模型

1.3 数据库系统的结构

2. 关系数据库

2.1 关系数据结构及形式化定义

2.2 关系的完整性

2.2.1 实体完整性

2.2.2 参照(引用)完整性

2.3 关系代数

1.选择(selection)

2.投影(projection)

3.连接(笛卡尔积)

4.并UNION

5.差minus(except)

6.重命名 as

3. 关系数据标准语言SQL

3.1 数据定义

3.1.1 模式

3.1.2 表

3.1.3 索引

3.2 数据查询

3.3 数据更新

3.3.1 插入元组

3.3.2 插入子查询结果

3.4 修改数据

3.5 删除数据

3.6 视图

3.6.1 定义视图

3.6.2 删除视图

3.7 索引

3.8 过程与函数

3.8.1 过程

3.8.2 函数

4.1 数据库安全性控制

4.2 对数据库不安全的因素

4.3 数据库安全性控制

4.4. 审计

4.1.1 授权:授予与收回

4.1.2 数据库角色(按岗位职责,组织权限)

6. 关系数据理论

6.1 规范化

6.1.1 函数依赖

6.1.2 第二范式(2NF)

6.1.3 第三范式(3NF)

6.1.4 BCNF(Boyce Codd Normal Form)

7. 数据库设计

7.1. 数据库设计概述

7.2. 数据库设计的基本步骤

7.3. 数据字典

8. 数据库编程

8.1. 标准SQL缺点和SQL编程技术优点

8.2. 存储过程

8.3. JDBC编程

10. 数据恢复技术

10.1. 事务的概念及事务的4个特性及恢复技术能保证事务的哪些特性

10.2. 故障种类(数据库的高可用性技术

10.3. 恢复技术

10.4. 为什么事务的非正常结束会影响数据库数据的正确性?

10.5. 登记日志文件时为什么必须先写日志文件,后写数据库?

10.6. 针对不同的故障的恢复策略和方法

10.6.1. 事务内部故障

10.6.2. 系统故障

10.6.3. 介质故障

10.7. 什么是检查点记录,包括什么内容

10.8. 具有检查点恢复技术有什么优点?

10.9. 使用检查点方法进行恢复的步骤

10.10. 什么是数据库镜像?它有什么用途

10.11. 为什么UNDO是反向扫描日志,REDO是正向扫描日志

10.12. 恢复系统是否可以保证事务的原子性和持续性

11. 并发控制

11.1. 数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?

11.2. 并发 *** 作会产生哪几类数据的不一致?用什么方法可以避免

11.3. 什么是封锁?封锁类型有哪几种?

11.4. 三级协议分别能解决哪些问题

11.5. 什么是活锁,产生原因和解决办法

11.6. 什么是死锁,解决死锁的办法

11.7. 什么样的并发调度是正确的调度

11.8. 如何保证并发调度的正确性

12. NoSQL和New数据库


1. 数据库系统基础 1.1 数据库系统概述 1.1.1 基本概念

数据:描述事物的符号记录

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

DBMS:数据库管理系统

数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统

DBMS的体系结构:3层

数据源(DATA SOURCE):远程数据库的别名

ODBC:开发工具访问数据库统一的平台

JDBC:Java数据库连接

1.1.2 数据独立性

数据独立性包括物理独立性和逻辑独立性(本质:希望不管怎么变,想不修改应用程序)

物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的

逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的


1.2 概念模型

实体(entity):客观存在并可相互区别的事物,虚拟的概念

属性(attribute):实体所具有的某一特性,共同的性质

码(key),键:唯一标识实体的属性集

实体类型(entity type,class):用实体名及其属性名集合来抽象和刻画同类实体。例如学生(学号,姓名,性别,出生年月日,所在院系,入学时间)就是一个实体型

实体集(entity set):同一类型实体的集合。例如,全体学生就是一个实体集

联系(relationship):实体集内的单个实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型

Association(联系、关联)

关系数据库系统采用关系模型作为数据的组织方式

基本概念:

关系(ralation):一个关系对应通常说的一张表

元组(tuple):表中的一行即为一个元组

属性(attribute):表中的一列即为一个属性,给每一个属性起一个名称即为属性名

码,键(key):表中的某个属性组,它可以唯一确定一个元组

域(domain):域是一组具有相同数据类型的值的集合。即某个属性的取值范围

分量:元组中的一个属性值

关系模式:对关系的描述,一般表示为

关系名(属性1,属性2,···,属性n)


1.3 数据库系统的结构

 

1.模式(schema)

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,不同的dbms表示模式的方法不一样!

Create schema schema_name ;

Schema : object (user, table , view , function, procedure,index,…);

Schema = user(MYSQL, ORACLE,…)

Schema : object ( table , view , function, procedure,index,…);

Create user user_name  identified by pass_wd;

2.外模式(external schema)

它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述(

(你有权限可我也看到的东西!VIEW)

3.内模式(internal schema)

一个数据库只有一个内模式。它是数据物理结构和存储方式的描述

2. 关系数据库
2.1 关系数据结构及形式化定义

基本概念:

候选码(key):某一属性组的值能唯一地标识一个元组,而其自己不能,则称该属性组为候选码(candidate key)

主码:若一个关系有多个候选码,则选定其中一个为主码(primary  key),主码只可以有一个

主属性(prime attribute):候选码的诸属性称为(主属性)

非主属性:不包含在任何候选码中的属性

全码(all key):关系模式的所有属性是这个关系模式的候选码;

代理键(id,序列号、序号,系统自动生成,自增长)


2.2 关系的完整性 2.2.1 实体完整性

若属性A是基本关系的主属性,则A不能取空值

2.2.2 参照(引用)完整性

主(父亲)、从(子)


2.3 关系代数 1.选择(selection)

选择是在关系R中选择满足给定条件的诸元组,记作

δF(R) = {t|t∈R∩F(t)='真'}

其中F表示选择条件,它是一个逻辑表达式

例如:查询信息系(IS系)的学生

δSdept='IS'(Student)

2.投影(projection)

关系R上的投影是从R中选择出若干属性列组成新的关系,记作

∏A(R) = {t[A]|t∈R}

其中A为R中的属性列

例如:查询学生的姓名和所在系

∏Sname,Sdept(Student)

3.连接(笛卡尔积)

其中,A和B分别为R和S上列数相等且可比的属性组,θ是比较运算符

等值连接:θ为“=”的连接运算自然连接:是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉 ????悬浮元组(dangling tuple):因为公共属性组不相等被舍弃的元组外连接(outer join):把悬浮元组保存在结果关系中左外连接(left outer join或left join):只保留左边关系R中的悬浮元组右外连接(right outer join或right join):只保留右边关系S中的悬浮元组

4.并UNION 5.差minus(except) 6.重命名 as

3. 关系数据标准语言SQL

删除(drop 、delete )

Drop : 删除数据库对象(user table,view,index,function,procedure)Delete: 删除数据

修改(alter , update)

Alter 改数据库对象(modify)(user table,view,index,function,procedure)Update 改数据!


3.1 数据定义 3.1.1 模式

1.定义模式

CREATE SCHEMA<模式名> AUTHORIZATION<用户名>

Create user <用户名> identified by <用户密码>;

2.删除模式

DROP SCHEMA<模式名>

Drop user <用户名> ;

Drop user <用户名> cascade;

3.1.2 表

1.定义基本表

CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]

           [,<列名><数据类型>[列级完整性约束条件]]

           ···

           [,<表级完整性约束条件>]);

例如:

2.修改基本表

ALTER TBALE<表名>

[ADD [COLUMN]<新列名><数据类型>[完整性约束]]

[ADD<表级完整性约束>]

[DROP[COLUMN]<列名>[CASCADE|RESTRICT]]

[DROP CONSTRAINT<完整性约束名>[RESTRICT|CASCADE]]

[ALTER COLUMN<列名><数据类型>];

3.删除基本表

DROP TABLE <表名> [RESTRICT|CASCADE]

3.1.3 索引

1.建立索引

CREATE [UNIQUE][CLUSTER] INDEX <索引名>

ON <表名>(<列名>[<次序>][,<列名>[<次序>]]···);

2.修改索引

ALTER INDEX <旧索引名> RENAME TO <新索引名>;


3.2 数据查询

(SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]···

FROM <表名或视图名> [,<表名或视图名>···]|(