我想知道以下哪个是更好的设计。
我有这些表
users
ID | NAME
Categories
ID | NAME
哪一个更好,这个:
users_to_categories
CAT_ID | USER_ID
在这种情况下,CAT_ID和USER_ID是主键
或一个主键
users_to_categories
ID | CAT_ID | USER_ID
只有ID是主键
答案 0 :(得分:0)
我假设您尝试使用名为Users_to_Categories的第三个表创建两个表之间的多对多关系。如果是这样,那么CAT_ID和USER_ID将成为用户和类别中主键的外键指针。
所有这一切,我都会参考这个帖子中给出的答案(SQL - many-to-many table primary key)。我同意这里给出的答案,并说当CAT_ID / USER_ID的组合本身可以作为主键时,创建新的自动增量主键确实没有优势。
答案 1 :(得分:0)
Altought两个设计都很好,我建议选择一个单一的领域进行关键的方法。
查询更容易。
当您想要将某些详细信息记录从父表中的父表更改为另一个时,它也会更容易,只需更改父外键即可。