0

我正在构建一个处理服务和硬件产品的订单和发票系统。简化后的表结构的一部分如下所示。(现实生活中的表要多一个数量级):

我想从标准订单列表中选择一个订单,即与公司规模相关的订单,并在具有正确关系的适当表格中创建与此标准表格相关的所有各种产品的订单表格。例如:我为一家 5 人的小公司选择了计算机和配件的标准订单。订单已创建,OrderItem 行也已链接到订单和产品。

客户(一方的子集)

Customer_ID(PK、FK 到 Party)

顾客姓名
...

命令

Order_ID (PK)
Customer_ID(FK 到客户)
订购日期
订单号
...

订单项

Order_ID (PK, FK to Order)
Product_ID(PK、FK 到产品)
数量
...

产品

Product_ID (PK)
产品名称
价格
信息
...

这个例子很容易编程,但是当有十个相互关联的表需要更新时——我不确定什么是最好的策略。

最好从以下位置获取生产表中的数据:

1)一组模板表,或多或少是生产数据的镜像,相互关联的方式与它们相同,但只包含通用数据(标准)而没有日期列等?

2) 将模板存储在生产数据表中,使用额外的字段来表示它们?这会在这些行中创建很多空列,例如关于日期等。

3)使用其他一些编程方法并使用它。就像根据选择的模板调用不同存储过程的表一样!?

4)???

希望这是可以理解的。

4

1 回答 1

0

我认为您以错误的方式思考问题。您应该做的是创建一个满足小型企业客户需求的产品包。

所以你可以在产品之间添加自连接表

产品捆绑表

Product-ID1 整数非空引用产品 (product_id) Product_ID2 整数非空检查(!= Product-ID1) 引用产品 (product_id)

主键 ( Product-ID1 , Product_ID2 ) qty integer not null check (> 0) ....

现在您可以创建一个产品表条目,该条目引用其组成产品的产品表

于 2012-08-31T17:47:20.087 回答