数据库中状态表的设计

         昨天在系统内部业务培训时,讲到了采购业务中供应商状态的变迁历史,随着公司业务的变更,系统的状态表中的供应商状态不断的增加了。

虽然如此,但是由于我们在设计之初据考虑到以后的可扩展性,所以我们的状态是不连续的,比如新建状态是1,审核状态是11,作废状态是否-1

等等。

         这样设计虽然保证了一定程度上的可扩展性,但是对于这些不需要的状态我们在系统中有些地方我们可能就不需要选择了,比如我查看报表

时,由于这个状态不再使用了,我就没有必要作为筛选条件了,但是如果没有加上一个是否可见字段来做控制,则我们就必须在系统前端编程控制

了。

        这样显然不太方便了,而且后续开发和维护的工作量也加大了,因此在做数据库设计时也要考虑这种情况。

表的设计应该包括如下几个字段:

 [ID] [int] NOT NULL,
 [Status] [int] NOT NULL,
 [StatusDesc] [nvarchar](40) NOT NULL,
 [Remark] [nvarchar](250) NOT NULL,
 [Visiable] [bit] NOT NULL,

 [SvrID] [int] NOT NULL       

你可能感兴趣的:(数据库)