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

本文详细介绍了数据库范式,包括1NF和2NF的概念,以及规范化表格设计的要求。讨论了如何通过主键避免重复键,如何从1NF升级到2NF以提高查询效率,并提到了数据存储在内存和外存的不同影响,以及SQLJOIN操作在数据库中的应用。
摘要由CSDN通过智能技术生成

数据库的范式

数据库的基本操作

在这里插入图片描述
数据库的一般操作是通过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 连接条件;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值