我有4个表或实体:
顾客
项目
接触
交易
我喜欢为每个名为code的表都有一个单独的字段。此字段将存储系统为每个表生成的代码。但是这个系统生成的代码必须由最终用户自定义。最终用户必须根据自己的判断选择自己的代码。
我怎样才能做到这一点?有线索吗?
最佳答案
如果您想要一个用户可分配的代码标识符,请将其添加到id主键字段中并使其独立。
这为您提供了一个可靠的“内部标识符”,用于构建应用程序,同时保留了业务分配某些“业务标识符”的能力。
加入整数ID“内部标识符”也比VARCHAR更有效,这是您需要为“业务标识符”提供灵活性的工具。
create table CUSTOMER (
ID integer not null,
CODE varchar(32),
-- other fields
primary key (ID)
);
老实说,您可能无法为业务部门决定他们希望如何分配代码,因此尝试使用代码作为主键将使应用程序无法向表中添加行,因为分配这些行的规则太复杂/未知/无法在应用程序中进行编码。
实际上,代码应该由业务部门来决定,而不是由您来尝试和二次猜测,这只会导致您的错误。prod001,prod002听起来不错。但之后他们会决定为不同类别的产品改变系统。你永远无法正确地猜出PrimPrdOd48/43/a,企业将决定什么是正确的,因此你最终必然会出错。
此外,这可以让您在业务抓耳挠腮的时候构建一个真正的应用程序,并浪费时间来弄清楚“业务id”系统将如何工作,或者改变它的想法。
最后一个提示:允许代码为空,这样人们可以稍后填写它。与其不正确,不如空白。
关于.net - 如何使表字段可定制为最终用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16396707/