一、数据库模式

  • 三级模式-两级映射
  • 软件设计师——【笔记】3数据库系统_主键

  • 数据库设计过程

软件设计师——【笔记】3数据库系统_字段_02

二、ER模型

不同形状、符号表示不同数据

m:n表示多对多 1:n表示一对多 n:1表示多对单 m和n同时都表示多,不过一般左边显示的那个用m表示

软件设计师——【笔记】3数据库系统_字段_03

模型

软件设计师——【笔记】3数据库系统_数据库_04

三、关系代数与元组演算⭐️

(综合知识,选择题,等价表达式,场景写表达式)

软件设计师——【笔记】3数据库系统_第二范式_05


软件设计师——【笔记】3数据库系统_第二范式_06

软件设计师——【笔记】3数据库系统_字段_07

其中,投影和选择的选行选列操作还可写成用属性序号的形势:

软件设计师——【笔记】3数据库系统_字段_08

  • 并:重复的只显示一次
  • 交:公共部分
  • 差:我有你无(除公共部分)
  • 笛卡尔积:每一条记录之间都有一次组合,拼接成一条记录
  • 投影:投影是选列的操作(选行)
  • 选择:选择是选行的操作
  • 联接:把相同属性名的数据拼接起来(与笛卡尔积不同的是相同字段名之保存一个),
    不写联接条件默认把相同的字段拼接。

四、规范化理论⭐️

1、函数依赖

软件设计师——【笔记】3数据库系统_主键_09

2、价值与用途

软件设计师——【笔记】3数据库系统_字段_10

3、键

软件设计师——【笔记】3数据库系统_主键_11

常考点:求候选键

  • 图示法

软件设计师——【笔记】3数据库系统_主键_12

1、入度(被箭头指向);2、遍历所有向图(由该点能到达每一个结点) 3、属性集(如所有入度为0的结点)

例题:

注意组合键ABD——>E画图时为A、B、D汇合才能去E

4、范式

级别越高(2NF比1NF高),规范程度越高

软件设计师——【笔记】3数据库系统_数据库_13

  • 第一范式:

软件设计师——【笔记】3数据库系统_数据库_14

此例只需消除高级职称人数一项就能达到第一范式

  • 第二范式:
  • 软件设计师——【笔记】3数据库系统_字段_15

  • 完全依赖:此例中非主键(成绩)必须依赖学号(SNO)和课程号(CNC)确定
    部分依赖:而非主键学分依赖课程号(CNC)确定,也可依赖学号(SNO)确定
    部分函数依赖带来数据冗余的问题(课程号号和学分保留一个即可)、 更新异常(插入一个另一个也要插入,删除一个另一个也被误删)
    解决方法(消除部分依赖):把课程号和学分两个字段提取出来做一个新的关系模式,且学分字段删掉课程号(主键)不可删。即可达到第二范式
  • 第三范式:
  • 软件设计师——【笔记】3数据库系统_第二范式_16

  • 传递依赖:比如A决定B,B决定C,则A决定C就是传递依赖
    此例为单属性(主键),不存在部分依赖,故已达到第二范式要求,但仍存在数据冗余、更新、删除异常等问题

解决方案(消除传递依赖):把DNO、DNAME、LOCATION独立出来称为一个关系模式(原关系模式剩前三个字段),即可打破传递依赖

  • BC范式:
    (解决方法:消除主属性对候选键的传递)
  • 软件设计师——【笔记】3数据库系统_数据库_17

候选键:ST、SJ(单独S到不了J,S、T组合才能到J)

此例没有非主属性,可直接判断为第三范式,(所有函数依赖写出来,函数依赖左边必须为候选键,即为BC范式)此例不满足[SJ——>T(满足,s、j均为候选键);T——>J(不满足,T不是候选键)]

5、模式分解

范式不够时,进行拆分,级别就上去了。

例:

软件设计师——【笔记】3数据库系统_数据库_18

五、并发控制

  • 基本概念
  • 软件设计师——【笔记】3数据库系统_主键_19

  • 存在的问题示例:
  • 软件设计师——【笔记】3数据库系统_第二范式_20

  • 封锁协议
  • 软件设计师——【笔记】3数据库系统_数据库_21

六、数据库完整性约束

  • 主要有三种:

更加复杂的要求往往用触发器完成

七、数据库安全

软件设计师——【笔记】3数据库系统_第二范式_22

八、数据备份与恢复

  • 数据备份
  • 软件设计师——【笔记】3数据库系统_第二范式_23

  • 备份的另外一种分类方式
  • 软件设计师——【笔记】3数据库系统_字段_24

  • 故障与恢复
  • 软件设计师——【笔记】3数据库系统_第二范式_25

九、数据仓库与数据挖掘

  • 特点
  • 软件设计师——【笔记】3数据库系统_第二范式_26

  • 数据挖掘方法分类
  • 软件设计师——【笔记】3数据库系统_第二范式_27

十、反规范化

  • 反规范化需求的出现;及反规范化手段

十一、大数据

含义:对海量数据处理的技术

软件设计师——【笔记】3数据库系统_主键_28