数据库中的各种键

简介: 数据库中的各种键

超键

是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。例如:学生是一个实体,则学生的集合是一个实体集,而超码是用来在学生的集合中区分不同的学生。假设学生具有多个属性:学号,身份证号,姓名,性别。因为通过学号可以找到唯一一个学生,所以{学号}是一个超码,同理{学号,身份证号}、{学号,身份证号,姓名}等等也是超码.

候选键

是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果A是超码,那么所有包含A的集合都不能是候选码;如果A,B都不是超码,那么A和B组成的集合(A,B)有可能是候选码。

主键

就是从多个候选码中任意选出一个,如果候选码只有一个,那么候选码就是主码。例如:超码中说到的学号就是要给主码

外键

在一个关系A中,有一个属性b不是关系A主键或候选键,但是是另一关系B的主键,这中情况属性b则是关系A中的外键

全键

可以理解为是候选码的一种特殊情况,如果关系中只有一个候选码,且这个候选码中包含了全部属性,那么这个候选码为全码


相关文章
|
UED 开发者
Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗
Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗
333 2
|
机器学习/深度学习 自然语言处理 PyTorch
|
数据采集 DataWorks 监控
DataWorks产品使用合集之数据质量检测出现校验异常一般是什么造成的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
103 0
|
搜索推荐 算法
【C/排序算法】:归并排序和计数排序
【C/排序算法】:归并排序和计数排序
110 0
[java进阶]——线程池的使用,自定义线程池
[java进阶]——线程池的使用,自定义线程池
257 0
|
运维
《跨国企业上云登陆区(Landing Zone)白皮书》——第八章 在阿里云构建云登录区(Landing Zone)最佳实践——运维管理(1)
《跨国企业上云登陆区(Landing Zone)白皮书》——第八章 在阿里云构建云登录区(Landing Zone)最佳实践——运维管理(1)
181 0
|
存储 TensorFlow 算法框架/工具
Python 之 NumPy 简介和创建数组
Python 之 NumPy 简介和创建数组
|
前端开发 JavaScript
Node.js异步编程之Promise
先来介绍一下Promise是什么?
|
存储 算法 编译器
深剖关键字(跑路人笔记2)
深剖关键字(跑路人笔记)
深剖关键字(跑路人笔记2)