0

0

如何理解数据库中的主键,外键以及索引

清浅

清浅

发布时间:2019-03-20 15:21:11

|

6099人浏览过

|

来源于php中文网

原创

数据库中的主键指的是能够唯一标识一条记录的属性或属性组,外键指的是另一张表中的主键起到与其他表建立联系的作用,索引是用来快速查找具有特定值的记录

如何理解数据库中的主键,外键以及索引

【推荐课程:数据库教程

数据库中的主键

数据库中的主键指的是在一个属性组中能够唯一标识一条记录的属性或属性组。在一个表中只能有一个主键而且不能够重复,也不能为空值。主键常常与外键构成参照完整性约束,目的就是防止出现数据的不一致。在数据库管理系统中对主键自动生成唯一索引,因此主键是一个特殊的索引

例:

学生表(学号,姓名,班级)

由于每个学生的学号是唯一的因此学号就是一个主键

课程表(课程ID,课程名)

由于课程ID是唯一的,因此它就是一个主键

成绩表(学号,课程ID,成绩)

在成绩表中单一一个属性是无法标识一条记录的,需要学号和课程ID组合起来才可以起到标识记录的作用,因此它俩组合一起是一个主键

数据库中的外键

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

下载

外键是用于建立与另一张表的关联,是确定另一张表中记录的字段。外键是另外一张表的主键,可以有多个且重复,也可以是空值。外键的目的在于使表中的数据保持一致性

例:

如上述的案例中,学号不是成绩表中的主键但是它是学生表中的主键因此我们就可以称成绩表中的学号是学生表的外键

数据库中的索引

索引指的是用来快速地寻找具有特定值的记录。目的是为了检索方便加快访问速度, 按照一定规则创建,起到排序的作用

主键、外键和索引的区别

这三者的区别如下所示


主键 外键  索引
定义 唯一标识一条记录,不能有重复和空值 是另一个表的主键,可以重复和空值 没有重复值但可以有空值
作用 用来保证数据完整性 建立与其他表的联系 提高访问速度
个数 主键只能有一个 可以有多个 可以有多个唯一索引

 总结:以上就是本篇文章的全部内容了,希望对大家学习有所帮助。

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

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

精品课程

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

共18课时 | 3.9万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 5.9万人学习

Excel 教程
Excel 教程

共162课时 | 9.3万人学习

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

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