学习资料:《数据库系统概论》 , 萨师煊、王珊

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要顺序执行,必须都执行
      • 隔离性:并发执行的各个事务之间不会互相干扰
      • 持续性:数据的改变是永久性的,一旦发生了改变,数据库的数据是永久性改变