如何为最终用户定制表字段

时间:2013-05-06 10:24:24

标签: .net database database-design

我有4个表或实体:

  1. 客户

  2. 项目

  3. 联系

  4. 交易

  5. 我希望每个名为 CODE 的表都有一个单独的字段。该字段将存储每个表的系统生成的代码。但是这个系统生成的代码必须由最终用户定制。最终用户必须可以根据自己的判断选择自己编写代码。

    我怎样才能做到这一点?任何线索?

1 个答案:

答案 0 :(得分:1)

如果您需要用户可指定的CODE标识符,请将其添加为&与您的ID主键字段分开。

这为您提供了构建应用程序的可靠“内部标识符”,同时保留了业务分配某些“业务标识符”的能力。

加入整数ID“内部标识符”也比VARCHAR更有效,这就是为“业务标识符”提供灵活性所需要的。

create table CUSTOMER (
    ID          integer not null,
    CODE        varchar(32),
    -- other fields
    primary key (ID)
);

老实说,您可能无法决定他们希望如何分配CODE - 因此尝试使用CODE作为主键会导致您的应用程序无法向表中添加行,因为规则分配这些太复杂/未知/不可委托给应用程序中的代码。

真的,CODEs应由业务部门来决定 - 而不是让你试试&第二次猜测,这只会导致你的错误。 PROD001,PROD002听起来不错......但随后他们决定改变系统中某些不同类别的产品。 你永远无法正确猜测PAPERPROD0084 / 12 / a,业务将决定哪些是正确的,所以你将不可避免地最终出错。

此外,这可以让您构建一个真正的应用程序,而业务划伤它的头部和浪费时间搞清楚“商业ID”系统将如何运作 - 或改变它的想法。

最后一个提示:允许CODE为空,以便人们可以在以后填写。最好把它留空而不是错误。