164. 数据库的三范式是什么?
-
第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。
-
第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。
-
第三范式:任何非主属性不依赖于其它非主属性。
165. 一张自增表里面总共有 17 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?
-
表类型如果是 MyISAM ,那 id 就是 18。
-
表类型如果是 InnoDB,那 id 就是 15。
InnoDB 表只会把自增主键的最大 id 记录在内存中,所以重启之后会导致最大 id 丢失。
166. 如何获取当前数据库版本?
使用 select version() 获取当前 MySQL 数据库版本。
167. 说一下 ACID 是什么?
-
Atomicity(原子性):一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。即,事务不可分割、不可约简。
-
Consistency(一致性):