数据库设计 – 使用复合键?或者总是使用代理键?

前端之家收集整理的这篇文章主要介绍了数据库设计 – 使用复合键?或者总是使用代理键?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Duplicate: 07000

如果我有这些表(* =主键):

user
  id*
  name

group
  id*
  name

这是否更好?

user_group
  user_id*
  group_id*

还是这样更好?

user_group
  id*
  user_id
  group_id

解决方法

我总是投票选择尽可能窄的键,静态(永不改变),因此我通常喜欢代理INT作为复合键的键.

如果你想从另一个表中引用一个复合键,你总是必须指定几个条件 – 有时会变得非常困难!

还要查看一些链接

> http://www.agiledata.org/essays/keys.html
> http://rapidapplicationdevelopment.blogspot.com/2007/08/in-case-youre-new-to-series-ive.html

(当然,其他人可能会发布至少10个链接PRO自然键:-))

使用替代钥匙没有什么危害 – 去吧!

猜你在找的MsSQL相关文章