麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1048
2023-06-13
本文讲述了关系型数据库关系键知识点整理,数据库规范化的目的是什么?
主键
主键(primary key)是数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据表只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
超键
超键(superkey)是在数据库关系模式设计中能够唯一标示多元组(即“行”)的属性集。
候选键
在关系模型中,候选键或候选码(英语:candidate key)是某个关系变量的一组属性所组成的集合,它需要同时满足下列两个条件:
这个属性集合始终能够确保在关系中能唯一标识元组
在这个属性集合中找不出真子集能够满足条件(1)
满足第一个条件的属性集合称为超键,因此我们也可以把候选键定义为“最小超键”,也就是不含有多余属性的超键。
外键
外键(foreign key) 如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。
代理键
代理键(surrogate key)是在当资料表中的候选键都不适合当主键时,例如资料太长,或是意义层面太多,就会请一个无意义的但唯一的字段来代为作主键。
自然键
自然键(natural key)与代理键相反,是在自然(真实)生活中唯一确定一个事物的标识。身份证号(理论上,假设没有因技术原因造成的重复)就是一个自然键,用于确定一个人。
以下是实例:
假设有如下两个表:
学生(学号,姓名,性别,身份证号,教师编号)
教师(教师编号,姓名,工资)
超键:
由超键的定义可知,学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等。
候选键:
候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为:(学号)、(身份证号)。
主键:
主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,教师表中让“教师编号”做主键。
外键:
外键比较简单,学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。
数据库规范化的目的是什么?
规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小。便于插入、删除和更新。遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体间的一种联系。规范的实质就是概念的单一化。一个关系模式接着分解可以得到不同关系模式集合,也就是说分解方法不是惟一的。最小冗余的要求必须以分解后的数据库能够表达原来数据库所有信息为前提来实现。其根本目标是节省存储空问,避免数据不一致性,提高对关系的操作效率,同时满足应用需求。实际上,并不一定要求全部模式都达到BCNF不可。有时故意保留部分冗余可能更方便数据查询。尤其对于那些更新频度不高,查询频度极高的数据库系统更是如此。
上文就是小编为大家整理的关系型数据库关系键知识点整理,数据库规范化的目的是什么?
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。