0

这主要是一个设计问题:

好的,所以我正在尝试为包含类型和子类型的票证类型表创建关系。每个子类型对其父类型都是唯一的。我试图避免在票证表中同时包含这两个字段。我正在考虑使用自然键创建一个链接表,然后将该键放入票证表中,该键将指向类型和子类型的适当组合。

我关心的是保持这些组合的独特性。因此,例如,如果有人跳入表中(没有先做作业)并尝试添加类型 5、子类型 3 之类的组合,并且该特定组合已经存在,则 dbms 不应允许它,类似于主键.

所以我想知道创建一个使用自然键、类型 id 和子类型 id 的主键是否会很愚蠢(因为感觉就是这样)。似乎这无济于事,因为自然键最终会使每个条目都是唯一的,从而使每个条目都有效。

有一个更好的方法吗?不尝试约束这些链接/组合会更简单吗?我应该把这两个字段都放在票表中并把它吸起来吗?

4

1 回答 1

0

使用UNIQUE 约束来确保类型和子类型的组合是唯一的,然后为自然键使用单独的主键。

于 2012-07-23T15:49:33.197 回答