数据库系统概述必背知识点整理

第一章、绪论

0x1 数据库系统相关概念

数据库是由数据库(DB)、数据库管理系统(DBMS)、应用程序和数据库管理员(DBA)组成的储存、管理、处理和维护数据的系统。

1、数据:描述事物的符号记录,包括数据的表现形式和数据解释两个部分。如数字、音频、图形、文本、图像、语言、视频等多种表现形式。经过数字化处理后存入计算机。
数据是信息的符号表示或载体。信息是数据的内涵是对数据的语义解释。
2、数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3、数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。用途:科学地组织和存储数据,高效地获取和维护数据。包括数据定义功能,数据组织、存储和管理,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
4、数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。目的:存储信息并支持用户检索和更新所需的信息。

0x2 数据库系统的特点

1、数据结构化,是数据库系统与文件系统的本质区别。
2、数据的共享性高、冗余度低切易拓展。数据共享可以大大减少数据冗余,节约存储空间,还可以避免数据之间的不相容性与不一致性。
3、数据独立性高。独立性分为物理独立性,逻辑独立性。
物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
逻辑独立性:应用程序与数据库的逻辑结构是相互独立的。当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

数据库管理系统在三级模式之间所提供的二层影响保证了数据系统中的数据具有较高的逻辑独立性和物理独立性。

4、数据由数据库管理系统统一管理和控制
数据的安全性保护:保护数据库以防止不合使用造成的数据泄密和破坏。
数据的完整性检查:数据的正确性、有效性和相容性。

0x3 数据库系统三级模式结构和二级映像功能

三级模式结构:

1、模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。
2、外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。
3、内模式:(存储模式或内视图)是数据物理结构和存储方式的描述,是数据在数据库内部实际存储的表示方式。
三级模式的优点:
(1)保证数据的独立性(内模式与模式分开物理独立;外模式与模式分开逻辑独立)
(2)简化用户窗口 (3)有利于数据共享 (4)利于数据的安全保密
(5)数据存储由DBMS管理(用户不用考虑存取路径等细节)

二级映像功能:


(1)外模式/模式映像(应用可扩充性)
定义外模式(局部逻辑结构)与模式(全局逻辑结构)之间的对应关系,映象定义通常包含在各自外模式的描述中,每一个外模式,数据库系统都有一个外模式/模式映象。
用途:保证数据的逻辑独立性
当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)模式/内模式映像(空间利用率,存取效率)
模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关。数据库中模式/内模式映象是唯一的。该映象定义通常包含在模式描述中。
用途:保证数据的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
优点:
(1)保证了数据库外模式的稳定性。
(2)从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。
(3)数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。

第二章、关系数据库

0x1 关系模型的3个组成部分

1、关系数据结构:描述现实世界的实体以及实体间的各种联系。只包含单一的数据结构—关系。
2、关系操作
查询操作:选择、投影、连接、除、并、差、交、笛卡尔积等。
插入、删除、修改操作。
3、关系的完整性约束
实体完整性和参照完整性:关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。
用户定义的完整性:应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

0x1 外码,主码,候选码的概念

候选码:若关系中的某一属性组的职能唯一地标识一个元组,则称该属性组为候选码。
主码:若一个关系有多个候选码,则选定期中一个为主码。
外部码:设F是基本关系R的一个或一组属性。但不是关系R的码,如果F与基本关系S的主码K想对应,则称F是基本关系R的外部码,简称外码。

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

0x1 数据库的操作


(1)定义模式:

(2)定义基本表:

列级完整性约束--涉及到该表的一个属性
NOT NULL :非空值约束
UNIQUE:唯一性(单值约束)约束
PRIMARY KEY:主码约束
DEFAULT <默认值>:默认(缺省)约束
Check < (逻辑表达式) >:核查约束,定义校验条件
NOT NULL :非空值约束
UNIQUE:唯一性(单值约束)约束
PRIMARY KEY:主码约束
DEFAULT <默认值>:默认(缺省)约束
Check < (逻辑表达式) >:核查约束,定义校验条件

0x2 数据类型

0x3 数据查询


WHERE子句常用的查询条件

第四章、数据库的安全性

##0x1 存取控制
包括定义用户权限和合法权限检查。
自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户要访问数据库时,首先要检查其存取权限,以防止非法用户对数据库进行存取。
自主”的含义:用户可以将自己所拥有的存取权限“自主”地授予他人,即用户具有一定的“自主”权。
强制存取控制方法:每一个数据对象被(强制地)标以一定的加密级别,每位用户也被(强制地)授予某一级别的许可证。系统规定只有具有某一许可证级别的用户才能存取加密级别的数据对象。
强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提高了更高级别的安全性。
##0x2 存取控制语句
1、授权:GRANT 语句

2、回收:REVOKE 语句
把指定对象的指定操作权限从指定用户处收回。

3、创建数据库模式的权限 :DBA在创建用户时实现

拥有DBA权限的用户是系统中的超级用户;只有系统的超级用户才有权创建新的数据库用户;如果没有指定创建的新用户的权限,默认该用户拥有CONNECT权限,只能登录数据库。

第五章、数据库的完整性

0x1 数据库完整性与数据库安全性的区别和联系

数据完整性:数据的正确性和相容性。
数据库的完整性和完全性是两个不同的概念,但他们有一定联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库,防止被恶意破坏和非法存储。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不符合语义的数据。

0x2 数据模型中完整性约束条件

完整性约束条件:数据库中的数据所应满足的语义约束条件。
RDBMS的完整性控制机制应具有3个方面的功能:
1、定义功能,即提供定义完整性约束条件的机制。
2、检查功能,即检查用户所发出的操作请求是否违背完整性约束条件。
3、违约反映,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的措施来保证数据的完整性。

第七章、数据库设计

第十章、数据库恢复技术

0x1 事务概念和四个特性

事务是用户所定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务具有四个特性:
1、原子性:事务是数据库的逻辑单位,事务中所包括的读项操作要么都做,要么都不做。
2、一致性:事务执行的结果必须是使数据库从某个一致性状态转变到另一个一致性状态。
3、隔离性:一个事务的执行不能被其他事务干扰,即一个事务内部的操作及所试用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4、持续性:(永久性)事务一旦提交,它对数据库中主句的改变就应该是永久的。接下来的其他操作或昂不应对其执行结果产生任何影响。
为了保证事务的原子性、一致性与持续性。DBMS必须对事务故障、系统故障和介质故障进行恢复;为了保证事务的隔离性和一致性,DBMS需要对并发操作进行控制。