专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

SQL数据库中的主键与外键介绍_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 13:58:40       共计:3584 浏览

SQL数据库中的主键与外键介绍?

一、什么是主键、外键:

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

主键是能确定一条记录的唯一标识,比如,一条记录包括身份证号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

二、 主键、外键 和索引的区别

定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值

该字段没有重复值,但可以有一个空值作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度个数: 主键只能有一个

一个表可以有多个外键 一个表可以有多个惟一索引

聚集索引和非聚集索引的区别?聚集索引一定是唯一索引。但唯一索引不一定是聚集索引。

聚集索引,在索引页里直接存放数据,而非聚集索引在索引页里存放的是索引,这些索引指向专门的数据页的数据。

三、数据库中主键和外键的设计原则

关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途:

1、惟一地标识一行。

2、作为一个可以被外键有效引用的对象。

3、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

4、主键应该是单列的,以便提高连接和筛选操作的效率。

5、永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

6、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

7、主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:江苏第二师范学院就业前景如何_数据库 | ·下一条:mysql 查询 排序,select_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有