学习资料:《数据库系统概论》 , 萨师煊、王珊
https://www.bilibili.com/video/av20449194/?p=4
第一章
1.3数据库系统的结构
- 数据库系统模式的概念
- 型和值的概念:一个是模型,一个是具体内容。
- 模式:是相对固定的,是全体数据之间的逻辑关系的描述
- 实例:模式的一个具体对象,叫做实例
- 实例和模式的关系 类似 类和实例化对象 的关系
- 数据库系统的三级模式结构
- 模式:数据库中全体数据的逻辑关系
- 外模式:数据库用户所能看到的
- 内模式:从物理存储的角度来看,数据真实的组织方式
- 数据库的二级映像功能与数据独立性
- 外模式/模式映像
- 定义:外模式和模式间的对应关系
- 数据的逻辑独立性:应用程序是依据数据的外模式编写的,可以保证外模式不变,从而应用程序不用修改
- 内模式/模式映像
- 定义:内模式和模式间的映射关系
- 数据的物理独立性:当数据结构发生改变的时候,可以保证模式不变(改变这种映像关系),因而应用程序不用改
- 总结:这两种映像当外部或者内部发生改变的时候,可以仅通过映射的改变,来保证外/内模式不改变,从而保证应用程序不改变。外模式→数据的逻辑独立性,内模式→数据的物理独立性
- 外模式/模式映像
第一章总结:主要介绍了数据库的几种映像,为开发方便
第二章
2.1 关系数据结构及其形式化定义
- 关系
- 域
- 笛卡尔积
- 关系
- 主键
- 主键的属性称为主属性
- 三种类型:基本关系、查询表、视图表
2.2关系操作
- 基本操作:选择、投影、并、差、笛卡尔积
- 特点:集合操作
2.3关系的完整性
- 实体完整性:基本关系中,主键对应的属性不能为空,否则违背实体完整性
- 参考完整性:外键
- 用户自定义完整性
2.4关系代数
- 传统的集合运算:并、差、交、笛卡尔积
- 专门关系运算符:选择、投影、连接、除运算符
第三章
3.3数据定义
- 模式的定义与删除
- 定义:CREATE SCHEMA 模式名 AUTHORIZATION 用户名, 当模式名未定义的时候,默认用用户名替代
- 删除
- DROP SCHEMA 模式名 CASCADE|RESTRICT
- CASCADE:删除该模式下的所有内容
- RESTRICT:如果该模式下有其他数据,则拒绝执行
- 基本表的定义、删除与修改
- 定义:CREATE TABLE 表名{列名+数据类型+约束条件}
- 删除:DROP TABLE 表名 CASCADE|RESTRICT
- CASCADE:删除该模式下的所有内容
- RESTRICT:如果该模式下有其他数据,则拒绝执行
- 修改:ALTER TABLE 表名 ADD 列名 数据类型 约束
- 索引
- 建立:CREATE UNIQUE INDEX 索引名 ON 表名 (列名,ASC/DESC),默认ASC升序
- 删除:DROP INDEX 索引名
- 修改:ALTER INDEX 旧索引名 RENAME TO 新索引名
3.4数据查询
- 模糊查询。_代表一个,%代表>=0个
- DISTINCT : 将重复值删除
- 聚集函数不能和where条件语句一起用,得用HAVING
3.5数据更新
- 插入数据
- 插入某个元组:INSERT INTO 表名(属性名) VALUES(对应要添加的属性)
- 插入某次查询结果: INSERT INTO 表名(属性名)SELECT A,B FROM 表名 GROUP BY A
- 修改数据:UPDATE 表名 SET 列名=B WHERE 条件
- 删除数据:DELETE FROM 表名 WHERE 属性 In(SELECT)
3.7视图(基本表的部分表现)
- 建立视图:CREATE VIEW 视图名 AS SELECT ... FROM ... WHERE ... WITH CHECK OPTION
- 删除视图:DROP VIEW 视图名 CASCADE
第三章总结:数据定义、数据查询、数据更新、数据插入
第五章
- 实体完整性
- 参照完整性
- 用户定义的完整性
- NOT NULL
- UNIQUE
- CHECK(属性 IN(...,...))
- 完整性约束命名子句
- CONSTRAINT 自取名 CHECK (属性需要满足的条件)
- 触发器
- 触发器:FOR EACH ROW / FOR EACH STATEMENT 的区别
- 删除触发器:DROP TRIGGER 触发器名 ON 表名
第五章小结:完整性、约束、触发器
-
第六章
- 6.2规范化
- 函数依赖:通过A能够找到确切的B
- 码:主键,外键
- 1NF范式:关系数据库中的关系是要满足一定要求的,不同程度的 要求 是 不同的范式。
- 规范化:一个x级的范式,通过模式分解,变成x+1级的范式
- 2NF:若主键有多个,而只需要一个就可以确定一个元组,就不是2NF
- 3NF:若主键有一个,可某个属性可由主键之外的确定,就不是3NF
- BCNF:不允许有关键字决定关键字的情况
第七章
- E-R模型
- 定义:实体、属性、实体和实体之间的联系
- 实体和实体之间的联系
- 一对一,一对多,多对多
- 实体→矩形,属性→椭圆,联系→菱形
第十章
- 事务
- 概念:用户定义的一个数据库操作序列,要么都执行,要么都不执行,不可分割
- 事务的ACID四大特性
- 原子性:不可分割,要么都做,要么都不做
- 一致性:和原子性是不可分割的,如果AB要顺序执行,必须都执行
- 隔离性:并发执行的各个事务之间不会互相干扰
- 持续性:数据的改变是永久性的,一旦发生了改变,数据库的数据是永久性改变