2

也许我正在解决这个问题,但我正在为我的一个项目进行数据库设计。

我有一个带有分类列的实体,该列将实体分组为用户方便的类别。这些分类是预定义的,用户不可更改(至少这是当前的设计)。

我正在尝试决定是否应该有一个“EntityClassification”表,该表仅包含一个“Id”列作为没有其他信息的主键,以便在 Entity:Classification -> EntityClassification:Id 之间建立强制关系。

我不打算在 EntityClassification 中有一个名称/描述列,因为我目前的想法是我需要支持这些预定义名称的本地化,这将使用静态字符串表(例如下载到客户端的资源文件)来完成他们的国家/语言。真的没有任何其他数据与我想要的这个 EntityClassfication 相关联,而且一个表看起来可能有点矫枉过正?

这是针对此类问题的常见/推荐做法吗?我们使用的是 SQL Server 2008,并且没有数据库的枚举数据类型,这似乎是我真正想要实现的目标。

4

2 回答 2

3

您应该拥有带有名称和描述的表格,不仅用于最终用户显示,还用于内部文档,因此当用户说“我基于此分类的查询不起作用!”时 将来雇用的人会知道他们在谈论哪个ID。

于 2010-09-15T15:17:56.747 回答
1

您是否只想确保其中的值Entity:Classification仅限于您的预定列表?如果是这样,您可能需要 一个检查约束。

这样的约束不如外键灵活:要更改检查的值,我们必须删除并重新创建约束,但是您说没有计划更改值,所以这无关紧要。

于 2010-09-15T15:24:53.407 回答