繁体   English   中英

正确创建表关系

[英]Creating table relationships correctly

我有一个用于创建发票的表格,我的任务是希望用户能够基于用户先前所做的选择来限制客户从数据库中选择数据。

我的约束是,每个公司都可以使用所有产品,但是同一产品的价格对于不同的公司将有所不同。 每个产品的尺寸也可能不同,价格也不同。

需要帮助来了解在这些类之间创建连接的逻辑。

例如我的实体:
Company (attributes: CustID, Name, ShipTo, SoldTo, City, State, ZipCode)

Product (attributes: UN, Name, Hazard, Packing Class, Grade, Weight, Unit Type)

现在,每种产品可以有多种尺寸,每种尺寸都有许多与之关联的产品。 因此,我创建了一个名为Type的联接表,该联接表具有SizeUN属性,并在Product和Type表中链接在一起。

然后,我创建了另一个联结,因为每个公司可以拥有相同的产品,并且每个产品都可以出售给许多公司,并使用属性CustIDUN将其命名为CustProduct并将其链接到Product表和Company Table。

现在我越来越糊涂,怎么和我在哪里创建关系,将允许链接一个独特的价格product具有确定的size出售给特定的Company 敲我的头。

根据您的意思,这是我的想法:

  • 您的“公司”和“产品”实体看起来不错。
  • “类型”表应具有以下属性:UN,SizeID,SizeName(其中键为UN,SizeID)
  • 最终结点“ CustProduct”不应位于公司与产品之间,而应位于公司与类型表之间,并具有以下属性:CustID,UN,SizeID,Price。

这意味着每个公司都可以为每种产品的每种尺寸指定价格。

希望对您有所帮助。

在此处输入图片说明

公司和产品表之间存在多对多关系。 这样,根据特定公司的不同,每种产品都有不同的尺寸和价格

我认为您可以通过实现此结构来实现目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM