3数据库系统——软件设计师

一、数据库模式

  • 三级模式-两级映射
3数据库系统——软件设计师_第1张图片
  • 数据库设计过程
3数据库系统——软件设计师_第2张图片

二、ER模型

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

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

3数据库系统——软件设计师_第3张图片

模型

3数据库系统——软件设计师_第4张图片

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

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

3数据库系统——软件设计师_第5张图片 3数据库系统——软件设计师_第6张图片

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

3数据库系统——软件设计师_第7张图片 3数据库系统——软件设计师_第8张图片
  • 并:重复的只显示一次

  • 交:公共部分

  • 差:我有你无(除公共部分)

  • 笛卡尔积:每一条记录之间都有一次组合,拼接成一条记录

  • 投影:投影是选列的操作(选行)

  • 选择:选择是选行的操作

  • 联接:把相同属性名的数据拼接起来(与笛卡尔积不同的是相同字段名之保存一个),

    ​ 不写联接条件默认把相同的字段拼接。

四、规范化理论⭐️

1、函数依赖

3数据库系统——软件设计师_第9张图片

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张图片

你可能感兴趣的:(学习笔记,数据库)