数据库中的各种键

简介: 数据库中的各种键

超键

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

候选键

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

主键

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

外键

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

全键

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


相关文章
|
6月前
|
存储 消息中间件 缓存
键值(key-value)数据库
【4月更文挑战第9天】键值数据库(NoSQL)以键值对形式存储数据,简单灵活,适合任意类型数据。其特点是高性能、高可扩展性,常见应用包括缓存、会话管理、分布式锁、计数统计、配置管理和轻量级消息队列。然而,它不适用于结构化信息存储和复杂查询,选择时需考虑应用场景。
620 5
|
3月前
|
数据采集 数据管理 数据处理
深入理解数据库唯一键
【8月更文挑战第31天】
60 0
|
4月前
|
关系型数据库 MySQL 定位技术
数据库中有哪些索引类型?
【7月更文挑战第2天】数据库中有哪些索引类型?
60 8
|
6月前
|
SQL 数据库
数据库修改表
数据库修改表
50 0
|
6月前
|
数据库
数据库字段
数据库字段
|
数据库
数据库-键(码)
数据库-键(码)
166 0
|
SQL 数据库 数据库管理
数据库|数据库之定义删除修改基本表
数据库|数据库之定义删除修改基本表
117 1
|
存储 数据库 索引
【数据库视频】对索引的了解
【数据库视频】对索引的了解
|
存储 数据库
数据库中的表操作
数据库中的表操作
90 0
|
SQL 数据可视化 关系型数据库
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
最近要导入大量数据到数据库,数据库中有数据列要求唯一的,也就是唯一键,但是我拿到的数据有部分重复,一运行就会出错,如果把重复数据找出来,删除后在导入,太麻烦了,所以想要丝滑导入,并忽略重复数据,有了下面的解决方案: 本次案例使用phpmyadmin进行演示
998 1
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢