中级软件设计师(软考)笔记——数据库系统

数据库系统

1、三级模式-两层映射

三级模式

  • 外模式(用户模式,视图级)—— 逻辑 | 是用户与数据库系统的接口,是用户用到的那部分数据的描述
  • 内模式(存储模式,文件级)—— 数据的存储 | 是数据物理结构和存储方式的描述
  • 概念模式(模式,表级) —— 反映数据库的结构及其联系 | 数据库中全部数据的逻辑结构和特征的描述

两层映射

  • 模式/内模式映射 —— 保证数据的物理独立性
  • 外模式/模式映射 —— 保证数据的逻辑独立性
    在这里插入图片描述

数据库设计过程

在这里插入图片描述

2、E-R模型

E-R图中主要构件

构件 说明
矩形 表示实体集
双边矩形 表示弱实体集
菱形 表示联系集
双边菱形 表示弱实体集对应的标识性联系
椭圆 表示属性
线段 属性与实体集连接、实体集与联系集连接
双椭圆 表示多值属性
虚椭圆 表示派生属性
双实线 表示一个实体全部参与到联系集中
E-R图向关系模型转换的基本方法
    1、一个实体转换为一个关系模式,实体的属性就是关系的属性
    2、如果是多个实体之间的多对多的联系,那么这个联系也要转换为一个独立的关系模式,且该关系模式的属性由各实体的关键字和该联系自身的属性组成,关键字由各实体的关键字组成
    3、一对一联系,可将联系合并到任意一端实体关系模式中
    4、一对多联系,可将联系合并到 多 端实体关系模式中

3、关系代数

  • 并:R∪S={t|t∈R∨t∈S}
  • 交:R∩S={t|t∈R∧t∈S}
  • 差:R-S={t|t∈R∧t∉S}
  • 笛卡儿积:R×S={(t_r t_s ) ?|t_r∈R?t_s∈S},R×S列=A列+B列,R×S行=A行×B行
  • 投影:选择列 πA(R)=…
  • 选择:选择行
  • 连接:选择相同属性的行,去掉重复列
    • θ连接,从R与S的笛卡尔积中选取属性间满足一定条件的元组
    • 等值连接,当θ为“=”时,称之为等值连接
    • 自然连接,一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复的属性列去掉
      在这里插入图片描述

4、规范化理论

规范化理论

函数依赖:数据依赖指数据之间存在的各种联系和约束

  • 候选键 —— 唯一标识元组,且无冗余
  • 主键 —— 候选键任选一个
  • 外键 —— 其他关系的主键

求候选码

关系模式码的确定,设关系模式R<U,F>
首先应该找出F中所有的决定因素,即找出出现在函数依赖规则中“→”左边的所有属性,组成集合U1;
再从U1中找出一个属性或属性组K,运用Armstrong公理系统及推论1,使得K→U,而K真子集K′→U不成立;这样就得到了关系模式R的一个候选码,找遍U1属性的所有组合,重复过程(2),最终得到关系模式R的所有候选码

范式

  • 1NF —— 所有属性都是不可分的基本数据项
  • 2NF —— 所有非主属性完全依赖主键(不存在部分依赖)
  • 3NF —— 所有非主属性不依赖于其他非主属性(消除传递依赖)
  • BCNF —— 每个属性都不部分依赖于候选键也不传递依赖于候选键(完全依赖主键)

模式分解

  • 保持函数依赖分解(子模式里满足依赖关系)
  • 无损分解(可以还原)
  • 有损分解(不可还原)

SQL语言

CURD,建表
……

并发控制

事务
  • 原子性
  • 一致性
  • 隔离性
  • 持续性
并发产生的问题
  • 丢失修改
  • 不可重复读
  • 读脏数据
封锁
  • 排它锁(X锁):又称写锁。若事务T对数据对象A加上X锁,只允许T读取和修改A,其他事务不能再对A加任何锁,直到T释放A上的锁
  • 共享锁(S锁):又称读锁。若事务T对数据对象加上S锁,只允许T读取A但不能修改,其他事务只能再对A加S锁,而不能加X锁,直到A上所有的S锁解除。保证了其他事务可以读A,但在T释放A上的S锁之前不能对A进行任何修改
    在这里插入图片描述
死锁

……

完整性约束
  • 实体完整性约束 —— 主键非空,唯一
  • 参照完整性约束 —— 外键为空或者有一个正确的索引
  • 用户自定义完整性约束 ——
  • 触发器 —— 脚本

猜你喜欢

转载自blog.csdn.net/weixin_44215175/article/details/113063063