数据库总复习
- 绪论
1.1数据库系统概述
1.1.1数据库的四个基本概念
数据:数据是数据库中存储的基本对象。
定义:描述事物的符号记录称为数据;
数据的含义称为数据的语义,数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。
特点:永久存储、有组织、可共享
数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
主要功能为:1、数据定义功能;2、数据组织、存储和管理;3、数据操纵功能;4、数据库的事务管理和运行管理;5、数据库的建立和维护功能;6、其他功能。
数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
特点:1、数据结构化;2、数据的共享性高,冗余度低且易扩散;3、数据独立性高(数据独立性、物理独立性、逻辑独立性);4、数据由数据库管理系统-管理和控制[数据控制功能:(1)数据的安全性保护;(2)数据的完整性检查;(3)并发控制;(4)数据库恢复]
1.2数据模型
数据模型:对现实世界数据特征的抽象。用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础。
1.2.1两类数据模型
- 数据模型应满足的三方面要求:(1)能比较真实地模拟现实世界;(2)容易为人所理解;
(3)便于在计算机上实现。
- 模型划分为两大类:概念模型;逻辑模型和物理模型。
(1)概念模型:又称为信息模型,按用户的观点来对数据和信息建模
(2)逻辑模型:包括层次模型,网状模型,关系模型,面向对象数据模型和对象关系数据模型,半结构化数据模型等,按计算机系统的观点对数据建模。
(3)物理模型:对数据最底层的抽象,它描述数据在系统内部的表示方式和采取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
3、现实世界——信息时间——机器世界
1.2.2概念模型
- 实体
客观存在并可相互区别的事务称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系;
- 属性
一个实体可以由若干个属性来刻画;
- 码
唯一标识实体的属性集称为码;
- 实体型
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型;
- 联系
实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型。
1.2.4常用的数据模型
数据结构、数据操作和数据完整性约束条件这三个方面的内容完整地描述了一个数据模型,其中数据结构是刻画模型性质的最基本的方面。
- 层次模型
- 有且只有一个结点没有双亲结点,这个结点称为根结点;
- 根以外的其他结点有且只有一个双亲结点。
优点
- 层次模型的数据结构比较简单清晰;
- 层次数据库的查询效率高。
缺点
- 现实世界中有很多的联系是非层次性的;
- 应用程序编写比较复杂;
- 查询子女结点必须通过双亲结点;
- 由于结构严密,层次命令趋于程序化。
- 网状模型
- 允许一个以上的结点无双亲;
- 一个结点可以有多于一个的双亲。
优点:
- 能够更为直接地描述现实世界;
- 具有良好的性能,存取效率较高;
缺点:
- 结构比较复杂;
- 网状模型德ddl.dml复杂;
- 用户必须了解系统结构的细节,加重编写应用程序的负担。
- 关系模型
关系模型建立在严格的数学概念的基础上。它的相关术语,关系、元组、属性、码、域、分量、关系模式。
关系:一个关系对应通常说的一张表;
元组:表中的一行即为一个元组;
属性:表中的一列即为一个属性;
码:也称为码键。表中的某个属性组,它可以唯一确定一个元组;
域:域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域;
分量:元组中的一个属性值;
关系模式:对关系的描述,一般表示为关系名(属性1,属性2,...);
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项。
术语对比:
关系术语 | 一般表格术语 |
关系名 | 表名(表格的描述) |
关系 | (一张)二维表 |
元组 | 记录或行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表(大表中有小表) |
优点:
- 关系模型与格式化模型不同,它建立在数学概念的基础上。
- 关系模型的概念单一。
- 关系模型的存取路径对用户不透明。
缺点:
- 查询效率低。
- 开发数据库管理系统难度增加。
1.4数据库系统的组成
数据库系统的构成:数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员。
1、数据库系统的软件:
- 数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统软件。
(数据库管理系统的主要功能:1.数据定义
2.数据操作3.数据库的运行管理4.数据组织、存储与管理5.数据库的保护6.数据库的维护7.通信)
- 支持数据库管理系统运行的操作系统。
- 具有与数据数据库接口的高级语言及其编译系统,便于开发应用程序。
- 以数据库管理系统为核心的应用开发工具。
- 为特定应用环境开发的数据库应用系统。
- 人员:
- 数据库管理员(DataBase Administrator,DBA)
- 决定数据库中的信息内容和结构。
- 决定数据库的存储结构和存取策略。
- 定义数据的安全性要求和完整性约束条件。
- 监控数据库的使用和运行。
- 数据库的改进和重组、重构。
- 系统分析员和数据库设计人员
- 应用程序员
- 用户
第2章 关系数据库
2.1关系数据结构及形式化定义
2.1.1关系
候选码:关系中的某一个属性组可以唯一地标识一个元组,而其子集不行。
候选码中,选定其中一个为主码。
候选码一般只含有一个属性。在极端的情况下,关系模式的所有属性是这个关系模式的候选码称为全码。
2.3 关系的完整性
关系模型中有有三种完整性约束:实体性完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。
2.3.1实体完整性
规则2.1实体完整性规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
实体完整性规则如下说明:
- 实体完整性规则是针对基本关系而言的。
- 现实世界中的实体是可区分的,即它们具有某种唯一性标识。
- 相应地,关系模型中以主码为唯一性标识。
- 主码中的属性不能取空值。
2.3.2参照完整性
2.3.3用户定义的完整性
(可以区分三种不同的完整性)
2.4关系代数
关系代数是一种抽象的查询语言,它用于对关系的运算来表达查询。
运算符 | 含义 | |
集合运算符 | 并 | |
– | 差 | |
交 | ||
× | 笛卡尔积 | |
专门关系运算符 | σ | 选择 |
投影 | ||
⨝ | 连接 | |
% | 除 |
第三章关系数据库标准语言SQL
3.3数据定义
SQL的数据定义语句
操作对象 | 创建 | 删除 | 修改 |
模式 | CREATE SCHEMA | DROP SCHEMA | 不可修改 |
表 | CREATE TABLE | DROP TABLE | ALTER TABLE |
视图 | CREATE VIEW | DROP VIEW | 不可修改 |
索引 | CREATE INDEX | DROP INDEX | ALTER INDEX |
3.3.1模式的定义与删除
- 定义模式
Eg:为用户WANG定义一个学生—课程模式S-T
CREATE SCHEMA ”S-T” AUTHORIZATION WANG;
- 删除模式
Eg:删除模式ZHANG
DROP SCHEMA ZHANG CASCADE;
CASSCADE(级联),RESTRICT(限制)
3.3.2基本表的定义、删除与修改
- 定义基本表
2.数据类型
3.修改基本表
增加或者删除列,增加或者删除完整性约束
Eg:向student表中添加x,数据类型为data
ALTER TABLE STUDENT ADD X DATA;
Eg:将表中的年龄的数据类型由字符型改成整数
ALTER TABLE STUDENT ALTER COLUMN SAGE INT;
Eg:增加课程名称必须取唯一值的约束条件
ALTER TABLE COURSE ALTER ADD UNIQUE(CNAME)
- 删除基本表
Eg:删除student表
DROP TABLE STUDENT CASCADE;
3.4 数据查询
3.41单表查询
3.4.2连接查询
1、等值与非等值的连接查询
Eg:查询选修2号课程且成绩在90分以上的所有学生的学号和姓名
SELECT STUDENT.SNO,SNAME
FROM STDENT,SC
WHERE STUDENT.SNO=SC.SNO AND
SC.SNO=’2’AND SC.GRADE>90;
3.4.3嵌套查询
- 带有EXISTS谓词的子查询
EXISTS代表存在量词,不返回任何值,只产生逻辑真假值,即false或ture.
Eg:查询所有选修了1号课程的学生姓名
SELECT Sname
From student
Where exists
(select *
From sc
Where sno=student.sno and cno=’1’);
3.5 数据更新
3.5.1插入数据
- 插入元组
- 插入子查询结果
3.5.2修改数据
3.5.3 删除语句
第四章 数据库安全性
4.1数据库安全性概述
4.1.2安全标准简介
根据计算机系统对各指标的支持情况,TCSEC(计算机以及信息安全技术方面的安全标准)将系统划分为4组,7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高
安全级别 | 定义 |
D | 最小保护 |
C1 | 自主安全保护 |
C2 | 受控的存取保护 |
B1 | 标记安全保护 |
B2 | 结构化保护 |
B3 | 安全域 |
A1 | 验证设计 |
- 数据库完整性
数据库的完整性是指数据的正确性和相容性。为维护数据库的完整性,数据库管理系统必须能够实现如下功能:
- 提供定义完整性约束条件的机制;
- 提供完整性检查的方法;
- 进行违约处理。
关系数据库管理系统完整性控制成为其核心支持的功能,从而能够为所有用户和应用提供一致的数据库完整性。
5.1实体完整性
5.1.2实体完整性检查和违约处理(相应的策略)
5.2参照完整性
5.2.2参照完整性检查和违约处理
- 关系数据理论
6.2规范化
6.2.1函数依赖
6.2.2码
- 数据库设计
7.1.3数据库设计的基本步骤
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 数据库实施
- 数据库运行和维护
7.2需求分析
7.2.2需求分析的方法
对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户认可。
7.2.3数据字典
数据字典是进行详细的数据收集和数据分析所获得的主要成果。它是关于数据库中的数据描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程几个部分。
7.3概念结构设计
将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。
7.3.2 E-R模型
更多推荐
数据库期末考试知识点复习(1~7章)
发布评论