亚洲色图 欧美色图 将来虫 数据库的三大范式
发布日期:2024-12-31 00:29 点击次数:1811.为什么需要数据库运筹帷幄亚洲色图 欧美色图
运筹帷幄数据表的技能,要接头许多的问题:
用户需要哪些数据,咱们在数据表中要保存哪一些数据怎么保证数据表中的数据的正确性如何裁汰数据表的冗余度征战东谈主员怎么材干更浮浅的使用数据库
如果数据库运筹帷幄得不对理的话,可能导致底下的几种问题:
运筹帷幄容易,信息重迭,存储空间糟塌数据更新,插入,删除的终点不成正确示意信息丢失有用信息要道性能差
咱们不错看出运筹帷幄邃密的数据库是很进击的,它有底下的优点:
从简数据的存储空间卤莽保证数据的齐备性浮浅进行数据库运用系统的征战
运筹帷幄数据库,咱们得深爱数据表的运筹帷幄,为了征战冗余度小,结构合理的数据库,运筹帷幄数据库必须革职一定的规律。
2.范式(Normal Formal)
2.1范式玄虚
干系型数据库中,对于数据表运筹帷幄的基本原则,规律就称为范式,范式是咱们在运筹帷幄数据库结构流程中需要革职的规律和教授设施。
不外,有的技能为了提高某一些查询性能,咱们还需要报复范式规律,也便是反圭表化。
2.2键和有关属性的意见
王二小电影范式的界说会用到主键和候选键,咱们先来望望有关的意见,数据库中的键是由一个或多个属性构成的。
2.3第一范式(1NF)
第一范式主如果保证数据表中的每一个字段的值必须具有原子性,也便是数据表中的每个字段的值是不可再拆分的最少许据单位
属性的原子性是主不雅的,咱们要证实本色格式标需求来运筹帷幄,比如说地址,如果格式莫得说要细分为省,市,县,镇这样具体的话,咱们一般就不错不拆分。
2.4第二范式(2NF)
第二范式要求在孤高第一范式的基础上,还要孤高数据内外的每一条数据纪录,齐是可独一标志的,并且悉数的非主键字段,齐必须全齐依赖主键,不成只依赖主键的一部分。如果知谈主键的悉数属性的值,咱们就不错检索任何元组(行)的任何属性的任何值(要求中的主键不错拓展替换为候选键)
比如说,在收货表(学号,课程号,收货)干系中,(学号,课程号)不错决定收货,因为一个学生不错选多门课,一门课也不错被多个学生弃取,是以学号或课程号齐不成单独决定收货。是以(学号,课程号)——>收货便是全齐依赖干系。比赛表内部包含球员编号,姓名,年岁,比赛编号,比赛本色和比赛场合等属性,候选键和主键齐是(球员编号,比赛编号),咱们不错通过候选键(主键)来决定底下的干系。(球员编号,比赛编号)——>(姓名,年岁,比赛技能,比赛场合,得分)可是这个数据表不孤高第二范式,因为数据表中的字段之间还存鄙人面的对应干系:(球员编号)——>(姓名,年岁)(比赛编号)——>(比赛技能,比赛场合)非主属性并非全齐依赖候选键,这样会产生底下的问题。
数据冗余:如果一个球员投入m场比赛,那么球员的姓名和年岁就重迭了m-1次,一个比赛可能有n个球员投入,比赛技能和地点就重迭了n-1次插入终点:如果咱们要添加一场新的比赛,可是这时还莫得详情投入的球员齐有谁2,那么就没发插入删除终点:咱们想删除某个球员编号,可是如果莫得单独保存比赛表的话,就会同期把比赛信息删裁撤更新终点:如果咱们疏导了某个比赛技能,那么数据表悉数的这个比赛的技能齐得进行疏导,否则就会出现合并场比赛可是技能不同的情况。
为了幸免上述情况,咱们不错把球员比赛表运筹帷幄成底下的三张表。
这样的话,每张数据表齐稳妥第二范式,就幸免了终点情况的发生
第二范式要务实体的属性全齐依赖主要害字,如果存在不全齐依赖,那么这个属性和主要害字的这一部分就应该区别束缚酿成一个新的实体,新实体和蓝本实体之间是一双多的干系
2.5第三范式(3NF)
第三范式征战在依然孤高第二范式的基础上数据表中的每一个非主键字段齐和主键字段径直有关也便是说数据表中的悉数非主键字段不成依赖于其他非主键字段这个规律的真谛是悉数非主属性之间不成有依赖干系,它们是相互零丁的这里的主键不错拓展成为候选键
2.6范式的优缺欠
优点:数据的圭臬化有助于排斥数据库中的数据冗余第三范式无为被以为在性能,扩张性和数据齐备性方面达到了最佳的均衡缺欠:裁汰了查询驱散,因为范式品级越高,运筹帷幄出来的表就越多,进行数据查询的技能就可能需要关联多张表,不仅代价不菲,并且可能会使得一些索引失效范式仅仅提议运筹帷幄的标圭臬,本色运筹帷幄的技能,咱们可能为了性能和读取驱散违背范式的原则,通过加多少量的冗余或重迭的数据来提高数据库的读取性能,减少关联查询,竣事空间换技能的场所
3.反范式化
3.1玄虚
革奇迹务优先的原则领先孤高业务需求,再进来减少冗余有技能咱们想要对查询驱散进行优化,反范式化亦然一种优化念念路,咱们不错通过在数据表中加多冗余字段来提高数据库的读性能
3.2 反范式的新问题
反范式固然不错通过空间换本色,培植查询的驱散,可是反范式也会带来一些新问题
存储空间变大了一个表中字段作念了修改,另外一个表中冗余字段也要同步进行修改,否则会导致数据不一致如果用存储流程了守旧数据的更新,删除等操作,如果操作频繁,就会耗尽系统资源在数据量小的情况下,反范式不成体现性能的上风,可能还会让数据库的运筹帷幄愈加复杂。
3.3反范式的适用场景
当冗余信息能大幅度提高查询驱散的技能,咱们才会接收反范式的优化。
加多冗余字段的建议
加多冗余冗余字段一定要稳妥底下的两个条款,孤高底下的两个条款才不错接头加多冗余字段
①这个冗余字段不需要常常进行修改
②这个冗余字段查询的技能不可或缺
4.BCNF(巴斯范式)
这个表稳妥第三范式亚洲色图 欧美色图