SQL Server 中的“键”是啥意思?主键和外键是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 中的“键”是啥意思?主键和外键是啥?相关的知识,希望对你有一定的参考价值。

我的基础不好,希望大哥大姐们详细点说,不要用太多术语,谢谢!!

这需要理清几个概念:
1)候选键: 关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。

2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键

3)外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。

举个例子:
有两个关系:
student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别
dep(d#,dname),即院系有两个属性:系号、系名

则s#、d#是主键,也是各自所在关系的唯一候选键,d#是student的外键。
参考资料:数据库——原理、编程与性能
参考技术A 主键是这条数据在这张表中的唯一标示。外键就是关联其他表的数据的标示 参考技术B 一个班的学生的 学号可以看做一个主键

做java项目时的主键和外键是啥啊?

首先要知道一个概念:主键和外键,是针对数据库而言的,只有数据库中的表才有主键外键之说。
主键就是一个表中的唯一索引,用于确定一个表中的一条记录,而外键是引用另外一个表中的主键,在当前表中不见得是唯一的,但是在被引用的表中一般是唯一的。
例如:表1:用户编号(主键),用户名称 ,部门编号(外键)
表2:部门编号(主键),部门名称
那么:对于表1来说,用户编号是主键,部门编号是外键,因为部门编号是引用表2的部门编号字段。
希望搞清楚一些基本概念。
参考技术A 只有数据库才有主键和外键
主键就是能够唯一确定数据表的字段
外键是和其他表有联系的字段
目前多使用虚拟外键(方便)
参考技术B 从应用程序开发的角度来讲主键和外键基本说的都是数据库操作。主键是指标识某个表中唯一的一条记录行的列,这个列中填写的值不允许有重复值,实际上主键就代表唯一对象的含义。对于外键来将是指实现关系型数据库系统表之间的关联的唯一实现方式。具体来讲就是某个表可能存在和其他表的关系,如果从比较实际的角度来讲可以这样解释:
一个描述学生的表和一个学生的成绩表,它们是有必然的关系的,一个成绩必需属于某个学生,一个成绩就不可能单独存在,在对于学生表和学生成绩表就要有个描述,来讲清某条成绩记录是属于哪个学生的,要实现这个关系,在当今关系型数据库系统中唯一的方式就是在成绩表中设置一个列,这个列中的值必须是学生表的主键的值,这个描述就会说明这个条成绩是属于哪个学生的,因为对于学生表来讲,主键描述的就是学生。这个引用学生表主键值的列在学生成绩表中就被成为学生表的外键,一句话主键和外键关联实现表之间的关系描述,实现对象之间的关联关系。

以上是关于SQL Server 中的“键”是啥意思?主键和外键是啥?的主要内容,如果未能解决你的问题,请参考以下文章

oracle中 主键和外键是啥意思?啥地方采用呢?

oracle中 主键和外键是啥意思?啥地方采用呢?

SQL中主键和外键的定义是啥???

数据库里面的主键和外键及候选键是啥意思啊?

做java项目时的主键和外键是啥啊?

请问SQL server 中的主键和外键的作用