在SQL中,什么是复合主键???

如题所述

所谓的复合主键 就是指你表的主键含有一个以上的字段组成
比如
create table test
(
name varchar(19),
id number,
value varchar(10),
primary key (name,id)
)

上面的name和id字段组合起来就是你test表的复合主键
它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性
一般情况下,主键的字段长度和字段数目要越少越好
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-10
就是用两个或两个以上的字段做为主键 有时一个字段难以标识唯一就采取复合主键方式来标识唯一(我是这样理解的)
第2个回答  推荐于2017-11-29
当一个字段无法确定唯一性的时候,需要其他字段来一起形成唯一性。就是说用来组成唯一性的字段如果有多个就是联合主键

学生成绩(学号,课程号,成绩)
那学号和课程号就可以做为联合主键.
因为学号和课程号决定了成绩.也就是说.你要知道成绩..你就要知道学号,知道学号,但还不能知道某一科的成绩.还要知道课程号.
所以函数依赖关系是{学号,课程号}->{成绩}

alter table tb
add constraint PK_ID primary key(学号,课程号)
go本回答被网友采纳

在SQL中,什么是复合主键???
所谓的复合主键 就是指你表的主键含有一个以上的字段组成 比如 create table test (name varchar(19),id number,value varchar(10),primary key (name,id))上面的name和id字段组合起来就是你test表的复合主键 它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一...

什么是sql中的复合主键
复合主键应该是一张表中,由几个字段来定的唯一性,因为某几列的组合就能唯一确立一条记录,因此他们的组合为一张表的主键。通常,一张表有一个主键字段,是唯一非空的。而复合主键是一张表由几个字段来定唯一性,即每条记录的col1和col2字段唯一。

sql 联合主键和复合主键
复合主键 是指你表的主键含有一个以上的字段组成 联合主键是多个主键联合形成一个主键组合

SQL数据库中的主键与外键介绍
其一是主键应当具有实际意义,然而,让主键具有意义只不过是给人为地破坏数据库提供了方便。其二是利用这种方法可以在描述多对多关系的连接表中使用两个外部键来作为主键,我也反对这种做法,理由是:复合主键常常导致不良的外键,即当连接表成为另一个从表的主表,而依据上面的第二种方法成为这个表主键的一部分,然而这个表...

[SQL快速入门-28] SQL主键:Primary Key
主键(Primary Key)在数据库设计中用于唯一标识每一行记录,可以类比于学号、身份证号或ID等。它必须包含唯一值,且不能为NULL。如果主键包含多个字段,称为复合键。设计主键时,应尽量减少字段数量以节约存储空间并提升查询性能。SQL规定主键长度上限为900个字节,Oracle上限为32个字段。创建主键的SQL语句...

怎么用sql语句在已有表上设置复合主键?
PRIMARYKEY(a,b));这是在查询分析器里运行的。如果手工建表的话,只需按住Ctrl键同时选择两个字段就可以设置复合主键了。首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。

为什么要设置联合主键
问题一:mysql 为什么要设置复合主键 复合主键应该是一张表中,由几个字段来定的唯一性。通常,一张表有一个主键字段,是唯一非空的。而复合主键是一张表由几个字段来定储一性,即每条记录的col1和col2字段唯一。问题二:sql 中设置联合主键怎么设 这个操作很简单,就是按住ctrl键,或者是shift...

求sql中记录的含义
主键:是某一行的唯一标识 语法:constraint PK_id primary key(列名)复合主键:是某一行的唯一标识,列为多个 语法:constraint PK_id primary key(列名1,列名2...)外键:通过关联和主表的主键建立联系,语法:constraint FK_id foreign key(列名1) references 主表(主键名)

了解MySQL联合主键的实际应用及作用mysql联合主键作用
MySQL联合主键是指多个列组成的组合,它完全取决于表结构。联合主键定义多个特殊键,每个键都可以标识表中的唯一行记录。如果MySQL表具有多个列,并具有独特的每一行,那么每一列都可以作为单独的主键,但这种做法会损失数据库存储空间和性能。在这种情况下,MySQL联合主键(也称为复合主键)就有用了。MySQL...

当表中的主键是复合主键时如何用sql语句向表中添加信息
一样,还是别违反主键的唯一约束就行了。复合主键顾名思意,组合的意思。所以只要2个字段的内容组合不重复就可以通过检测。例如A,A与A,B是不违反该复合主键约束的(仅以两个字段的复合主键为例)。

相似回答