部分内容自百度,如有侵权请联系删除,如有错误或疏漏欢迎批评指正。
文章目录
什么是主键、外键、超键、候选键?
- 主键:能确定一条记录的唯一标识
- 外键:用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
- 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。
- 候选键:是最小超键,即没有冗余元素的超键。
什么是约束?
约束是在表中定义的用于维护数据库完整性的一些规则通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
约束是表级的强制规定,有以下五中:not null,unique,primary key,foreign key,check 。
什么是事务?事务的特点?
- 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。
- 数据库事务 transanction 正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离 性(Isolation)、持久性(Durability)。
- 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
- 一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
- 隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆, 必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。
- 持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚
范式
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
- 第一范式(1NF):属性不可分。
- 第二范式(2NF):符合1NF,并且,非主属性完全依赖于码。
- 第三范式(3NF):符合2NF,并且,消除传递依赖。
- BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性