首页 > 技术文章 > 数据库表设计

gan-wenjun 2018-01-21 13:53 原文

1.三大范式

通俗的理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好的应用三个范式,就必须通俗的理解三个范式。

1.第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解。(只有是关系型数据库都满足1NF)

2.第二范式:2NF是对记录的唯一性约束,要求记录有唯一标识,即实体的唯一性。

3.第三范式:3NF是对字段亢余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有亢余。没有亢余的数据库设计可以做到。

 

但是,没有亢余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留亢余数据库。具体做法四:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许亢余。

2.并发控制与锁

共享锁:读   排它锁:写  锁的力度:表级锁、行级锁

3.mysql基本原理

1.连接器:本地socket通信、服务器通信

连接处理,授权认证、安全方案、线程池

2.核心服务层:通过sql接口完成缓存的查询,根据解析器以及优化器执行的操作顺序,如果是查询,还会查询内部缓存。

3.存储引擎层:负责数据的存储和提取

4.数据存储层:存储在文件系统

 

推荐阅读