0

0

数据库中的键有哪些类型

青灯夜游

青灯夜游

发布时间:2019-01-25 11:35:26

|

8396人浏览过

|

来源于php中文网

原创

键在关系数据库中起着重要作用,它是关系数据库模型的重要组成部分。下面本篇文章就来带大家认识一些数据库中常见的键,希望对大家有所帮助。

数据库中的键有哪些类型

为什么我们需要使用键?

在实际应用中,存储数据所需的表的数量很大,并且不同的表也彼此相关。【相关视频推荐:MySQL教程

此外,表格中存储了大量数据。表通常扩展到存储在其中的数千条记录,未分类和无组织。

现在要从这样的数据集中获取任何特定记录,您将必须应用一些条件,但是如果存在重复数据并且每次尝试通过应用某些条件来获取某些数据时会出现错误数据。在获得正确的数据之前有多少次试验?

为了避免这一切,定义键可以轻松识别表中的任何数据行。

在数据库中,键是用于建立和标识表之间的关系,也用于唯一标识表中的任何记录或数据行。它可以是单个属性或一组属性,其中组合可以作为键。

键的类型

下面给大家介绍一些常见类型的键,为了让大家了解这些键,我们来通过例子介绍一下:

student_id name age college_id phone
1
小华 20 01 1561258xxx
2 小红 21 01 1771258xxx
3 小明 20 02 1831258xxx

可以看出这是一个简单的Student表,有字段student_id,name,subject_id,age和phone。

候选键(Candidate Key)

候选键被定义为可以唯一地标识表中的每个记录的最小字段集。它是一个属性或一组属性,可以充当表的主键,以唯一地标识该表中的每个记录。

在上面的Student表中,student_id和phone都是学生表的候选键。下面是候选键的一些特征:

 ●   候选键永远不能为NULL或为空;它的价值应该是独一无二的。

 ●   表中除主键之外的其余属性都可被视为候选键,一个表可以有多个候选键。

 ●   候选键可以是多个列(属性)的组合。

超级键(Super Key)

超级键被定义为表中的一组属性,可以唯一地标识表中的每个记录。超级密钥是候选键的超集。

在上面定义的表中,超级键可以是:

 ●   student_id:因为每行student_id数据都是唯一的,因此它可以用于唯一地标识每一行。

腾讯交互翻译
腾讯交互翻译

腾讯AI Lab发布的一款AI辅助翻译产品

下载

 ●   (student_id, name):现在两个学生的姓名可以相同,但他们的学生ID不能相同,因此这个组合也可以是一个键。

 ●   phone:因为每个学生的电话号码都是唯一的,因此,phone也可以是一个键。

所以它们都可以是超级键。

主键(Primary Key)

主键是最适合成为任何表的标识键的候选键,它可以唯一标识表中每条记录。

对于Student表,我们可以将student_id列作为主键。

数据库中的键有哪些类型

复合键(Composite key)

复合键是由两个或多个唯一标识表中任何记录的属性组成的键。当表的任何单个属性都不能唯一地标识行时,我们就需要使用复合键。

注:共同形成复合键的属性不是独立或单独的键。

student_id subject_id exam_name mark
1 02 PHP课程 90
2 02 MySQL课程 80

在上面的是一个Score表,用于存储学生在特定科目中得到的分数。

数据库中的键有哪些类型

在这个表中student_id,subject_id将形成主键,因此它是一个复合键。

备用键(Alternative key)

在所有候选键中,只会有一个被选为主键,其余键称为备用键或辅助键。

外键(Foreign Key)

外键是表中的属性值,充当另一个表的主键。因此,外键可用于将两个表链接在一起。

4.jpg

注:需要非常小心地在外键列中输入数据,因为输入错误的数据可能使两个表之间的关系无效。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

686

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

513

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

267

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

668

2023.08.14

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

MySQL 教程
MySQL 教程

共48课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号