数据库|数据库范式(待完成)

发布时间:2024年01月15日

数据库的范式

数据库的基本操作

在这里插入图片描述
数据库的一般操作是通过SET是对数据进行设置,同时用GET去获得存放在数据库中的信息。

什么是数据库的范式

产生的背景(没有规范化的坏处/带来的问题)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

规范化表格设计的要求

在这里插入图片描述

  1. 一是要使得数据库易于理解(易于理解才方便在使用过程中快速上手)
  2. 易于增强和扩展(在现实开发场景中,往往会有临时的业务增加)
  3. 安全性(能够避免一些操作引起的错误,比如一些账户被删除后,相关的数据仍留在数据库中)

五大范式的作用——树立标准

在这里插入图片描述
为了达到相关的要求,就要考虑去设计数据库的规范。而规范是有质量之分,进一步可以用五大范式去衡量规范的结果。

打个比方——桥的承载能力

在这里插入图片描述

承重/安全等级目标
安全等级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 连接条件;

文章来源:https://blog.csdn.net/Fangyechy/article/details/135597515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。