## Part 1: 数据库概述
*1、基本概念*
- 数据:数据是描述事物的符号记录。(数据库中存储的基本对象)
- 数据库(DB):存储在计算机上按一定格式存放数据。
- 数据库数据特点:永久存储、有组织、可共享。
- 数据库管理系统(DBMS):专门用于实现对数据进行管理和维护的系统软件。
- 数据库系统(DBS):由数据库、数据库管理系统(核心)、应用程序、数据库管理员组成。
*2、数据独立性*
- 逻辑独立性:当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
- 物理独立性:当数据的存储位置和存储结构发生变化时,不影响应用程序的特性。
*3、文件方式管理的缺点*
- 不能提供数据共享
- 数据冗余不可避免
- 缺少安全性
- 不利于数据的一致性维护
- 应用程序与文件结构是紧耦合
## Part 2:数据库系统结构
*1、数据特征*
- 静态特征:包括数据的基本结构、数据间的联系以及对数据取值范围的约束
- 动态特征:对数据进行符合一定规则的操作,查询数据和更改数据
*2、基本概念*
- 数据模型三要素: 数据的基本结构、数据的约束条件、定义在数据上的操作(这个是动态特征)
- 数据模型:数据的组织方式
- 数据模型分类(根据模型应用的不同目的 ):概念层数据模型、组织层数据模型
*3、概念层数据模型*
概念层数据模型又称为概念模型/信息模型,从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。
是现实世界到信息世界的第一层抽象:概念层数据模型是对现实世界的抽象,形成信息世界模型。
实体-联系模型(E-R图)
实体间联系:一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)
*4、组织层数据模型*
组织层数据模型又称为组织模型,按数据的组织方式来描述数据库。
是对现实世界信息的第二层抽象:组织层数据模型是对信界进行抽象和转换,形成具体的DBMS支持的数据组织模型。
四种模型:层次模型、网状模型、**关系模型**、面向对象模型
关系模式:关系名(属性1,属性2)
5、关系模型的数据完整约束
实体完整性、参照完整型、用户定义的完整型
6、数据库系统的模式结构
- 内模式(存储模式):数据物理存储方式,只有一个,不是关系的
- 外模式(用户模式或子模式):数据视图、内部描述,显示部分数据,多个
- 概念模式(逻辑模式或模式):包含全部数据,一定是关系的。是数据库中全体数据的逻辑结构和特征的描述。
外模式/模式映像、模式/内模式映像
7、DBMS的功能
数据定义、数据操纵、优化和执行、数据安全和完整性、数据恢复和并发、数据字典、性能
## Part 3:SQL
*1、SQL语言功能与特点*
功能:数据定义、数据查询、数据操纵、数据控制
特点:一体化、高度自动化、简洁、能以多种方式使用
*2、数据完整型*
- 数据完整性指数据的正确性和相容性
- 实体完整性、引用完整性、用户定义的完整型
*3、视图*
视图是由从数据库的基本表中选取出来的数据组成的逻辑窗口,是基本表的部分行和列数据的组合。
*4、视图的好处*
- 简化数据查询语句
- 使用户能从多角度看待同一数据
- 提高了数据的安全性
- 提供了一定程度的逻辑独立性
*5、关系模式*
- 依赖:全依赖,部分依赖
- 规范化:候选码,主码,全码,外码,主属性,非主属性
*6、范式*(NF)
- 第一范式:不包含重复的组
- 第二范式:在是第一范式的基础上,非主属性都完全依赖于主码
- 第三范式:在是第二范式的基础上,非主属性都不传递依赖于主码
## Part 4:数据库保护
*1、基本概念*
- 事务:用户定义的数据操纵系列
- 事务的特征(ACID特征):原子性、一致性、隔离性、持久性
- 事务是数据库并发控制和恢复的基本单位
*2、SQL事务处理模型*
两种事务:显示事务、隐式事务
显示事务的两种事务处理模型:ISO事务处理模型、T-SQL事务处理模型
*3、并发操作带来的数据不一致性*
- 丢失数据修改
- 读“脏”数据
- 不可重复读
- 产生“幽灵”数据
*4、并发控制措施*
- 共享锁:在共享锁的基础上可以再加共享锁
- 排它锁:有了排它锁,不能加任何锁
*5、三级封锁协议*
![](https://img-blog.csdnimg.cn/20190615073109875.png)
*6、可串行化调度*
并发执行的所有事务都遵守两段锁协议
两段锁协议:所有事物必须分两个阶段对数据进行加锁和解锁
*7、数据库故障*
事务内部故障、系统故障、其他故障
*8、数据库备份与恢复*
完整备份、差异备份、日志备份
## **Part 5 :数据库设计**
*1、数据库设计的基本步骤*
需求分析、结构设计、行为设计、数据库实施、数据库运行和维护阶段
- 需求分析:自顶向下、逐步分解的方法
- 结构设计:概念结构设计、逻辑结构设计、物理结构设计
- 概念结构设计:E-R模型
*2、数据库组成*
- 两类数据库:系统数据库、用户数据库
- 两类组成文件:数据文件(主要.mdf次要.ndf)、日志文件(.ldf)
## Part 6:数据查询功能语句
SELECT *|<列名>|计算列|常量列|count(*)|count(distinct<列名>)|SUM(列名)|AVG(列名)|MAX(列名)|top n|top n percent|distinct
FROM <表名>|<表名1,表名2,表名n>|表1 join 表2 on |表1 left join 表2 on
|WHERE =,>,!=|in()|between and|is null|>(),=()|and,or|like
|GROUP BY
|HAVING
|ORDER BY asc|desc
|UNION | INTERSECT | EXCEPT
## Part 7:数据定义与操纵功能语句
定义功能
创建:CREATE TABLE <表名>(创建语句)
删除:DROP TABLE <表名1,表名2,表名N>
更新:ALTER TABLE <表名>
ALTER COLUMN <列名> <类型>
|DROP COLUMN <列名>
|ADD <列名> <类型> <约束>
操纵功能
插入:INSERT <表名>(列名) VALUES(值)
删除:DELETE <表名>
更新:UPDATE <表名> SET <列名>=值