关系型范式

第一范式

字段不可再分

第二范式

要有键,字段完全依赖于键

所有字段要依赖于键
比如给出学号可以找出学生的姓名,反之不成立

如果键是多字段组合,则不允许“部分依赖”于该键
比如学号加科目可以获得成绩,键不唯一,是组合形式

第三范式

一个表里不能有两层依赖关系
比如给出系号,就能得到系名,给出系名就能得到系主任,系主任间接依赖系号

BC范式

键和键也不能依赖

事务

特点

  1. 原子性(Atomicity,或称不可分割性)
  2. 一致性(Consistency)
  3. 隔离性(Isolation,又称独立性)
  4. 持久性(Durability)

    缓存字段

    1. 例如知乎
    2. 有多个帖子blog
    3. 每个blog都有很多comment字段
    4. 可以给blog添加一个comment_count字段作为缓存字段
    5. 每次添加评论comment_count会+1

    使用事务

    有些操作必须一次完成,比如上方comment_count+1和添加comment
    要不都成功,要不都失败 ```css start transaction;或者begin;// 开启一个事务

语句1; 语句2; 语句3;

rollback;// 事务回滚

commit;// 事务提交 ```