数据库内容快速回顾


三级模式-两级映射

  • 内模式 数据的存放
  • 概念模式 表的体现,表之间有一些关联
  • 外模式 视图

image.png

数据库设计

image.png

关系代数

并,交,差,
笛卡尔积:相乘,
投影:选列,
选择:选行,
连接

笛卡尔积:
image.png
选择和投影
image.png
连接操作:等值连接和自然连接
image.png

规范化理论

函数依赖

image.png

价值与用途

image.png

image.png
超键:唯一表示元组
(学号,姓名)确定 性别,学号和姓名可以为超键,但是不能为候选键,这是因为候选键中有姓名这个冗余属性
主属性:在任何一个候选关键字中出现过的属性都是主属性
非主属性:除了主属性外都是非主属性
如何求候选键实例
image.png
image.png
1:A1
2:ABCD
3:A和B AB的意思是AB的组合才能代表


范式

image.png

第一范式

image.png
不满足,划掉高级职称人数即可

第二范式

image.png
部分依赖:上图中主键是sno和cno的组合键,credit(学分)可以只由cno(课程号)确定,存在非主属性credit的部分依赖。
存在哪些问题

  1. 数据冗余:会增加很多相同的credit
  2. 更新异常:无法修改某一个课程的学分
  3. 插入异常:无法增加新的课程
  4. 删除异常:无法删除某一个课程

解决方法:把credit剥离出来,与cno组成一个新的模式

第三范式

image.png
解决方式:增加一个dno,dname,location组成的新模式

BC范式

image.png
判断是否为BC范式:
将所有函数依赖写出来,如果所有函数左边的都是候选码,则为bc范式
候选码为sj
函数依赖:sj ->t、t->j(左边t不是候选码,不满足)
例题
image.png

模式分解

image.png
R(A,B,C)A->B B->C
拆分成 R1(A,B) R2(B,C)即保持函数依赖
以下为无损分解的样例
image.png

并发控制

基本概念

事务的四大特性
原子性:事务要么全做,要么全不做
一致性:比如以转账为例,A账户向B账户转钱,A账户余额减少,B账户余额增加
隔离性:彼此互不影响
持续性:事务的影响是持续的

并发产生的问题
1、丢失更新:A的值应该为10-5-8,此时由于并发执行A最后的值为10-8
image.png
2、不可重复读
image.png
3、读“脏”数据
这里的“脏”数据指的是临时数据,没有用的数据
image.png

image.png

封锁协议

  • 共享锁(Share locks简记为S锁):也称读锁,事务A对对象T加S锁,其他事务也只能对T加S,多个事务可以同时读,但不能有写操作,直到A释放S锁。

  • 排它锁(Exclusivelocks简记为X锁):也称写锁,事务A对对象T加X锁以后,其他事务不能对T加任何锁,只有事务A可以读写对象T直到A释放X锁。



image.png

数据库完整性约束

  • 实体完整性约束
  • 参照完整性约束
  • 用户自定义完整性约束
  • 触发器

数据库安全

image.png

数据备份

  • 冷备份:也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份下来。
  • 热备份:也称动态备份,使用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。

image.png

  • 完全备份:备份所有的数据
  • 差量备份:仅备份上一次完全备份之后变化的数据
  • 增量备份:备份上一次备份之后变化的数据

海量-全部 增量-上一次
image.png
日志文件–binlog
image.png
数据库故障与恢复
image.png

数据仓库与数据挖掘

image.png

反规范化

image.png

大数据

image.png

猜你喜欢

转载自blog.csdn.net/weixin_45660485/article/details/124812638
今日推荐