2

我有 4 个表或实体:

  1. 顾客

  2. 物品

  3. 接触

  4. 交易

我喜欢为每个名为CODE的表设置一个单独的字段。该字段将存储系统为每个表生成的代码。但是这个系统生成的代码必须由最终用户定制。最终用户必须有权根据自己的判断自行编写代码。

我怎样才能做到这一点?有什么线索吗?

4

1 回答 1

1

如果您想要一个用户可分配的 CODE 标识符,请将其添加到您的 ID 主键字段中并分开。

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

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

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

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

真的,代码应该由企业来决定——而不是让你尝试和猜测,这只会导致你错了。PROD001,PROD002 听起来不错.. 但随后他们将决定为某些不同类别的产品更改系统。您将永远无法正确猜测 PAPERPROD0084/12/a,业务将决定哪个是正确的,因此您将不可避免地最终出错。

此外,这使您可以在业务摸不着头脑并浪费时间弄清楚“业务 ID”系统将如何工作——或改变它的想法时,构建一个真正的应用程序。

最后一个提示:允许 CODE 为空,以便人们稍后填写。最好将其留空而不是不正确。

于 2013-05-06T10:29:07.000 回答