范式是具有最小冗余的表结构。
数据库三范式具体如下:
1、 第一范式(1st NF -列都是不可再分)
第一范式的目标是确保每列的原子性:
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
2、第二范式(2nd NF -每个表只描述一件事情)
首先满足第一范式,并且表中非主键列不存在对主键的部分依赖。
第二范式要求每个表只描述一件事情。
3、第三范式(3rd NF - 不存在对非主键列的传递依赖)
第三范式定义是,满足第二范式,并且表中的列不存在对非主键列的传递依赖。
除了主键订单编号外,顾客姓名依赖于非主键顾客编号。
综上:
回答一下什么是第三范式?
首先,表中列都不可再分;
其次,表中非主键列不存在对主键的部分依赖;
第三,表中的列不存在对非主键列的传递依赖;
满足以上三点的范式是第三范式。
数据库是事务
事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,
这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行 。
事务是一个不可分割的工作逻辑单元。
事务必须具备以下四个属性,简称 ACID 属性:
原子性( Atomicity )
1. 事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行。
一致性( Consistency )
2. 当事务完成时,数据必须处于一致状态。隔离性( Isolation )
3. 对数据进行修改的所有并发事务是彼此隔离的。这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。
永久性( Durability )
4. 事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性。