主键,又称主码(英语:primary key或unique key)。数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
主键只有一个,但是可以设置为多个字段为主键,也即联合主键。外键就是自己设置了也即可以有多个,可以设置除主键以外的其他字段全部是外键的。
数据库的每张表只能有一个主键,不可能有多个主键。所谓的一张表多个主键,我们称之为联合主键。联合主键就是用多个字段一起作为一张表的主键。主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。
扩展资料:
一、数据库模型:
1、对象模型
2、层次模型(轻量级数据访问协议)
3、网状模型(大型数据储存)
4、关系模型
5、面向对象模型
6、半结构化模型
7、平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)
二、数据库的架构:
数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
1、内层:最接近实际存储体,亦即有关数据的实际存储方式。
2、外层:最接近用户,即有关个别用户观看数据的方式。
3、概念层:介于两者之间的间接层。
三、数据库索引:
索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(Key Field),该字段具有唯一性,即其值不可重复,且不可为“空值(null)"。例如:在合并数据时,索引便是扮演欲附加字段数据之指向性用途的角色。故此索引为不可重复性且不可为空。
参考资料:
首先要说明的是,你说的两个不是一回事,主键确实是针对表的,但是他的位置是不一定的,因为数据库中字段是随便排列的,可能你创建表的时候随机添加的,而主键是你创建好这个列侯,相当于在你的字段上给他增加了一个属性,这个属性就是来告诉用户,这个字段是主键的。但是咱们一般定义一个表的时候,都会根据你列的唯一性来确认一个主键,如学生的学号啊,还是如你的QQ号啊。下面的截图你看下就明白了,列和键是分开的,
用sql语句创建时,identity(1,1) 有这条或者类似的那个字段是主键。
或者在窗口中建表时,选择为主键的字段是主键喽
主键是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用于其他表的外键关联,以及本记录的修改与删除。
可以用如下方法进行设置:
第一,如果是用SQL语句建表,如下:(假设要让a和c组合作为主码)
create table t1(
a int,
b varchar(20),
c int,
primary key(a,c)
)
第二,如果用图形化界面做,按住ctrl键,然后选择a和c两个列,接着右键菜单选择“设置为主键”即可。
一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。
码(键):代表数目的符号
主码也就是主键,是惟一标识表中的每一行的字段或者多个字段的组合,它可以实现表的实体完整性
每个表只能有惟一的主码,且不能为空
这需要理清几个概念:
1)候选键: 关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。
2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键
3)外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。
举个例子:
有两个关系:
student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别
dep(d#,dname),即院系有两个属性:系号、系名
则s#、d#是主键,也是各自所在关系的唯一候选键,d#是student的外键
以上就是关于名词解释 主键全部的内容,包括:名词解释 主键、数据库建表时一个表最多可以有几个主键,几个外键、数据库 一个表哪个是主键是不是第一列是主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)