TreeMind树图在线AI思维导图
当前位置:树图思维导图模板行业/职业模板其他DB基本理论思维导图

DB基本理论思维导图

  收藏
  分享
会员免费下载30积分
会员免费使用30积分
U731722939 浏览量:02023-04-14 11:36:50
已被使用0次
查看详情DB基本理论思维导图

DB基本理论知识梳理

树图思维导图提供 DB基本理论 在线思维导图免费制作,点击“编辑”按钮,可对 DB基本理论  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f46dab9e4bf441f1ad8e4eb4c9e98047

思维导图大纲

DB基本理论思维导图模板大纲

外键的应用

建立外键的原则

一个是让数据库自己通过外键来保证数据的完整性和一致性

一个就是能够增加ER图的可读性

建外键的原则

1、 为关联字段创建外键。

2、 所有的键都必须唯一。

3、避免使用复合键。

4、外键总是关联唯一的键字段。

结论

1,在大型系统中(性能要求不高,安全要求高),使用外键; 在大型系统中(性能要求高,安全自己控制),不用外键;小系统随便,最好用外键。

2,用外键要适当,不能过分追求

3,不用外键而用程序控制数据一致性和完整性时,应该写一层来保证,然后个个应用 通过这个中间层来访问数据库。

互联网应用是否建立外键的建议

不用外键

1,可以用触发器或应用程序保证数据的完整性

2,过分强调或者说使用主键/外键会平添开发难度,导致表过多等问题

3,不用外键时数据管理简单,操作方便,性能高(导入导出等操作,在insert, update, delete 数据的时候更快)

ACID

原子性

持久性

一致性

隔离性

隔离级别

SQL语句的类型

数据库范式

1NF

1NF是对属性的原子性约束,要求属性具有原子性,不可再分解 ,即数据库表的每一列都是不可分割的基本数据项(只要是关系数据库都满足1NF)

满足1NF的关系被称为规范化的关系,1NF也是关系模式应具备的最起码的条件。 比如有这样一张表user的两列: name phone_number phone_number这一列只存储一个电话号码,如果一条数据同时存储了住宅电话和手机号码,比如:“010-65576558,13765556765”,那么这个属性是可以再分的,违背了1NF。

2NF

2NF是对记录的唯一性约束,要求记录有唯一标识。即实体的唯一性。通常我们设计一个主键来实现。

首先要满足是1NF,另外还需要包含两部分内容:一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。

3NF

3NF是对字段冗余性的约束,它要求字段没有冗余

BC范式

4NF

5NF

总结、观点

数据库表结构设计时,遵从一定的范式(NF,Normal Form)可以减少数据冗余和操作异常。

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

在保证数据完整性基础上,通常达到3NF,有时达到2NF已经足够了,追求过高的NF级别会导致混乱的库表,大量的多表连接查询,性能低下。

范式的优劣势

优势

范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性的麻烦

劣势

按照范式的规范设计出来的表,等级越高的范式设计出来的表越多。表的数量 越多,当我们去查询一些数据,必然要去多表中去查询数据,这样查询的时间 要比在一张表中查询中所用的时间要高很多。也就是说我们所用的范式越高, 对数据操作的性能越低。

反范式

范式所要求的正好相反,在反范式的设计模式,我们可以允许适当的数据的冗余,用这个冗余去取操作数据时间的缩短。也就是用空间来换取时间,把数据冗余在多个表中,当查询时可以减少或者是避免表之间的关联

数据库schema设计的三个阶段

随着数据量的不断增加,设计的阶段衍化

第三范式的数据库设计->反范式的数据库设计->范式和反范式的数据库设计 (SQL与NoSQL结合,且NoSQL更多)

相关思维导图模板

幼儿素质教育基本理论思维导图

树图思维导图提供 幼儿素质教育基本理论 在线思维导图免费制作,点击“编辑”按钮,可对 幼儿素质教育基本理论  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:b134224b800f13b31ddd4861dc652a84

宪法的基本理论思维导图

树图思维导图提供 宪法的基本理论 在线思维导图免费制作,点击“编辑”按钮,可对 宪法的基本理论  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:9da86dd9e2fc242e0df457102139fbb9