資料庫中復合主鍵與聯合主鍵的區別?

2021-09-08 20:23:31 字數 1582 閱讀 8599

復合主鍵

復合主鍵:資料庫表的主鍵由兩個及以上的字段組成。 

例如:

create table `asm_device_config_info` (

`asmmodel` varchar(32) not null comment '自助機型號',

`devicetype` varchar(32) not null comment '外設型別',

`devicemodel` varchar(32) not null comment '外設型號',

`devicefactory` varchar(32) not null comment '外設廠商',

primary key (`asmmodel`,`devicetype`)

) engine=innodb default charset=utf8 comment='自助機外圍裝置配置資訊表';

聯合主鍵

聯合主鍵:多個主鍵聯合形成乙個主鍵的組合。

當兩個資料表是多對多的關係,需要通過兩個資料表的主鍵來組成聯合主鍵,來確定一條記錄

例如:

create table `student` (

`studentid` varchar(32) not null comment '學號',

`studentname` varchar(32) not null comment '姓名',

`studentgender` varchar(32) not null comment '性別',

`studentage` int default null comment '年齡',

primary key (`studentid`)

) engine=innodb default charset=utf8 comment='學生資訊表';

create table `course` (

`courseid` varchar(32) not null comment '課程id',

`coursename` varchar(32) not null comment '課程名稱',

`coursecredit` varchar(32) not null comment '課程學分',

primary key (`courseid`)

) engine=innodb default charset=utf8 comment='課程資訊表';

create table `student_course` (

`id` int auto_increment comment '選課id',

`studentid` varchar(32) not null comment '學號',

`courseid` varchar(32) not null comment '課程id',

primary key (`id`)

) engine=innodb default charset=utf8 comment='學生選課表';

主鍵是唯一的。

復合主鍵與聯合主鍵

含義 表的主鍵含有乙個以上的字段組成,不使用無業務含義的自增id作為主鍵。比如 create table test namevarchar 19 idnumber,valuevarchar 10 primarykey name,id 上面的name和id欄位組合起來就是你test表的復合主鍵 它的出...

復合主鍵與聯合主鍵

一 復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成,不使用無業務含義的自增id作為主鍵。比如 html view plain copy create table test name varchar 19 id number,value varchar 10 primary key ...

MySql 復合主鍵與聯合主鍵

復合主鍵 資料庫表的主鍵由兩個及以上的字段組成。create table asm device config info asmmodel varchar 32 not null comment 自助機型號 devicetype varchar 32 not null comment 外設型別 dev...