0

我一直在重新审视为什么我一直在 SQL Server 2005 数据建模中做某些事情。

我习惯性地使用标识作为表键,为应该唯一的实际数据创建唯一索引,而不是关闭它。

所以,如果我有一张学生桌,我可能会有:

ID identity primary key,
StudentIdentifier char(8)

我会在 StudentIdentifier 上放置一个唯一索引,因为这是大学用来引用学生的代码,但我会将 Student.ID 存储在引用 Student 的任何表中。

在 SQL Server(2005 版)中使用自动编号标识字段仍然是一个好习惯吗?

还 -

我使用 int 代码来查找值并将这些 int 存储在相应的引用表中。

例如,我可能有一个这样的工作流表:

id  statuscode      DESCRIPTION         
1   CIProgress      CI Grade in Progress
2   Finalized       Finalized           
3   NeedsSingle     Needs Single Read   
4   NeedsFirst      Needs First Read    
5   SingleProgress  Single Read in Progress

在具有工作流属性的表中,我将存储 id (1),然后加入工作流表以获取状态代码或描述。

例如,可以存储状态码吗?通过在短代码上使用 int 可以获得多少效率?

自从我开始编码以来的 15 年里,我已经看到了很多实现,我突然想到,也许我正在把旧的“规则”铭记在心,而不考虑实践。

4

0 回答 0