我对数据库设计是相当陌生的,对于多对多关系而言,为例如创建复合键和唯一ID的区别和含义是什么?
Country 桌子
Country
CountryID CountryName
Language 桌子
Language
LanguageID LangugageName
多对多表格-使用复合:
CountryID Pkey LanguageID Pkey
或者
使用唯一ID:
AutoID Pkey CountryID LanguageID
组合键:
组合键是多个列的组合,以标识表中的唯一行。复合键可以是主键。
首要的关键
PRIMARY KEY约束唯一地标识数据库表中的每个记录。
所以这一切都取决于您的要求
在 第一个设计
Many to Many Table: Using composite: CountryID Pkey LanguageID Pkey
如果您使用此设计,则CountryID和LanguageID是复合主键。即此处
该表的数据将是
CountryId LaguageID 1 1 //valid 1 2 //valid 1 3 //valid 1 1//not valid data as its form composite primary key
在 第二个设计中
Using Unique Id: AutoID Pkey CountryID LanguageID
AutoID成为主键,因此这将允许数据
AutoId CountryId LaguageID 1 1 1 //valid 2 1 2 //valid 3 1 3 //valid 4 1 1 //valid as AutoID is primary key 1 2 3 // invalid as AutoID is prinary key
希望本演讲能帮助您理解差异