关于mysql的三范式,ACID,索引的实现教程学习

作者 : admin 本文共751个字,预计阅读时间需要2分钟 发布时间: 共26人阅读

关于mysql的三范式,ACID,索引的实现

1.数据库的三范式是什么
第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。
第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部
分的属性。
第三范式:任何非主属性不依赖于其它⾮主属性

2.说一下ACID?是什么

Atomicity(原子性):一个事务(transaction)中的所有操作,或者全部完成,或者全部不完
成,不会结束在中间某个环节。事务在执⾏过程中发⽣错误,会被恢复(Rollback)到事务开始前的
状态,就像这个事务从来没有执行过一样。即,事务不可分割、不可约简。
Consistency(一致性):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表⽰写
⼊的资料必须完全符合所有的预设约束、触发器、级联回滚等。
Isolation(隔离性):数据库允许多个并发事务同时对其数据进⾏读写和修改的能力,隔离性可以
防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交
(Read?uncommitted)、读提交(read?committed)、可重复读(repeatable?read)和串⾏化
(Serializable)。
Durability(持久性):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

3.mysql索引是怎么实现的
索引是满足某种特定查找算法的数据结构,而这些数据结构会以某种方式指向数据,从而实现高效
查找数据。
具体来说MySQL?中的索引,不同的数据引擎实现有所不同,但目前主流的数据库引擎的索引都是B+
树实现的,B+树的搜索效率,可以到达二分法的性能,找到数据区域之后就找到了完整的数据结构
了,所有索引的性能也是更好的。


滴石it网-Java学习中高级和架构师教程_Java企业级开发项目实战下载 » 关于mysql的三范式,ACID,索引的实现教程学习

常见问题FAQ

发表回复

开通VIP 享更多特权,建议使用QQ登录