【发布时间】:2013-08-13 12:40:47
【问题描述】:
我正在尝试找出一种方法来设计我的 SQL Azure 数据库。有很多关于主键应该是什么(int 与 guid)以及两种方法的优缺点的信息,所以我知道那里正在进行的战争:)
但是,我想通过在我的表格中添加以下三列来应用两全其美:
-
内部标识
- int 类型的标识
- 定义为聚集索引
- 用于连接
- 数据库生成的默认值
- 仅在表中唯一
- 仅供内部使用
- 永远不会改变
-
外部标识
- 指南
- 客户端(或域)生成的默认值
- 全球唯一
- 内部和外部使用。
- 永远不会改变
-
网址标题
- 一个字符串
- 由域生成
- 仅在表中唯一
- 在公共 url 中使用的实体的用户友好表示
- 可以改变(但最好不要改变)
通过这样做,由于 InternalId,它将具有整数主键的性能,但由于 ExternalId,它仍然足够灵活。
我不是数据库专家,远非如此,所以我想听听您的意见,这是否可行,或者只是荒谬可笑?
【问题讨论】:
标签: sql-server database database-design primary-key azure-sql-database