文章目录
- 数据库的范式
- 数据库的基本操作
- 什么是数据库的范式
- 产生的背景(没有规范化的坏处/带来的问题)
- 规范化表格设计的要求
- 五大范式的作用——树立标准
- 打个比方——桥的承载能力
- 1NF(1范式)
- 如何转换成合适的一范式
- 2NF(2范式)
- 其他
- 数据在数据库中存放的位置
数据库的范式
数据库的基本操作
数据库的一般操作是通过SET是对数据进行设置,同时用GET去获得存放在数据库中的信息。
什么是数据库的范式
产生的背景(没有规范化的坏处/带来的问题)
规范化表格设计的要求
- 一是要使得数据库易于理解(易于理解才方便在使用过程中快速上手)
- 易于增强和扩展(在现实开发场景中,往往会有临时的业务增加)
- 安全性(能够避免一些操作引起的错误,比如一些账户被删除后,相关的数据仍留在数据库中)
五大范式的作用——树立标准
为了达到相关的要求,就要考虑去设计数据库的规范。而规范是有质量之分,进一步可以用五大范式去衡量规范的结果。
打个比方——桥的承载能力
承重/安全等级 | 目标 |
---|---|
安全等级1(1NF) | 能够允许人们走过 |
安全等级2(1NF) | 能够让小轿车通过 |
安全等级3(3NF) | 能够让大卡车通过 |
安全等级4(4NF) | 能够让坦克通过 |
安全等级5(5NF) | 能够让火车通过 |
1NF(1范式)
1NF范式使用主键使得避免出现重复键的情况(有主客体区分)。
比如说John的数据项只能有一个,不能够出现多个。(比如John身高179和身高158同时出现)
如何转换成合适的一范式
数据库如果这么设计的话,如果要查询某个玩家拥有某个东西的数量。
则需要整个Inventory拿下来,将整个字符串从头扫到尾,将对应需要的物体及其前面的数量识别出来。
于是,需要由前端人员自行进一步处理。
那其实,可以将Inventory进一步拆分成一个个的项。那如果拆成的项有很多呢?
将会产生很多空格。
2NF(2范式)
其他
数据在数据库中存放的位置
有些数据库软件会将数据库存放在全部存放在外存/磁盘,每次使用都得从外存调换到内存中,从而增加时间的损耗。
而有些数据库软件会将数据库部分存放在内存中,从而加快对数据的调用。但这会产生一个问题,就是由于内存的空间相对外存是较小,且内存不完全是为了数据库服务的,所以存放在内存中的数据库,而如果是将存放在磁盘的数据和存放在内存的数据进行合并的话,将无法直接在内存中进行完成。
比如说join
操作。
在 SQL 中,JOIN是用于将多个表中的数据连接在一起的操作。它通过指定连接条件将两个或多个表中符合条件的行组合起来,产生一个新的结果集
SELECT 列名 FROM 表1 INNER JOIN 表2 ON 连接条件;