【问题标题】:SQL using lookup table to create a supplier quoteSQL 使用查找表创建供应商报价
【发布时间】:2012-04-27 03:28:55
【问题描述】:

我有一个名为供应商的查找表,其中包含我的所有供应商信息。 我还有一个名为材料的查找表,其中包含我所有的材料信息。 我正在创建另一个名为 supplier_quote 的表,我将在其中存储 3 个供应商,每个供应商至少有 3 种原材料以及价格和数量。

这样做的目的是,Visual Basic 中的用户可以调用 1 个供应商并获取 3 种材料中的每一种的价格,调用下一个供应商并输入相同 3 种材料的价格,然后再次输入第 3 个供应商。

我在想表单中的一个下拉框来显示每个供应商的名称和原材料,但到目前为止我似乎无法理解其背后的逻辑。

我需要这样的东西:

供应商 1 原材料 A. $23 原材料 B. $25 原材料 C $30 供应商 2 原材料 A. $22 原材料 B. $21 原材料 C. 35 美元 供应商 3 原材料 A. $23 原材料 B. $32 原料 C. $29

所有这些信息都将成为supplier_quote 表中的一条记录,因为它们都包含在同一个报价中。价格是由做报价的人输入的,所以我猜它们会存储在同一张表中。

有人帮忙吗?我提前感谢它。我正在使用 Visual Basic 2010 和 SQL 2008。

【问题讨论】:

  • 在我看来您的数据没有标准化。供应商可以有零到多个报价,但报价必须有一个或多个供应商。每个报价可能有一种或多种原材料。每种原材料都可以有零到多个报价。所以我认为涉及的表是供应商,材料,报价,供应商_报价_材料。 Supplier_Quote_Materials 包含 SupplierID、Quote_Id 和 Materials ID 以及价格。
  • 那么报价里面有什么?我已经在这个问题上苦苦挣扎了两天,无法继续前进。你的解释很完美你完全理解了这个概念,你能帮我确定另一个表上的哪些属性以及我的 GUI 应该使用哪种形式作为主要形式?
  • 在不知道要求的情况下,这很难回答。我试了一下,但它确实是一个 SWAG(S*ty Wild A Guess)真的看起来像你'缺少业务分析师来询问有关需求的这些问题。

标签: sql sql-server sql-server-2008 database-design


【解决方案1】:

引用(只是我可能跟踪的一些想法,但这是需要澄清的地方)

  • 身份证
  • 姓名
  • 报价原因(为什么需要此报价?)
  • 请求者(谁在请求它可能链接回用户?)
  • 对于项目 #...(您是否将这些跟踪到特定项目或 RFP?)
  • 截止日期(供应商的所有提案都需要在什么时候返回?)
  • 等等……
  • 征求建议书编号(您如何在内部跟踪报价请求?)

供应商

  • 身份证
  • 姓名

材质

  • 身份证
  • 姓名

供应商报价

  • Quote_ID
  • 供应商 ID
  • StartDate(日期供应商定价是好的形式)
  • EndDate(如果开放式结束,供应商定价的日期最好留空。)

Supplier_Quote_Materials

  • Quote_ID
  • 供应商 ID
  • Material_ID
  • 价格
  • 数量限制等...

用户界面:

用户输入“报价维护交易”

  • 选项卡式界面或多个部分由您决定。

标签 1 - 引号

  • 搜索
  • 报价列表结果(当所选详细信息部分更新为反映选择时)
  • 详细信息(添加/删除/保存按钮)

选项卡 2 - 供应商(在选项卡 1 上选择报价之前禁用)

  • 搜索
  • 供应商列表结果(当所选详细信息部分更新为反映选择时)
  • 详细信息(添加/删除/保存按钮)

选项卡 3 - 材料(在选项卡 2 上选择供应商之前禁用)

  • 搜索
  • Materials Listing (when selected detail section is updated to reflect selection)
  • 详细信息(添加/删除/保存按钮

报价、供应商和材料之间的关系通过部分/选项卡进行维护。因此,用户将供应商添加到报价中,然后将材料添加到与报价相关的供应商。

【讨论】:

  • xQbert 我会试试这个,我有一张图片,但由于声誉问题我无法附上它,但我会尝试更好地描述我的场景。客户打电话要产品,我打电话给我的供应商,看看哪家能以最优惠的价格买到制造该产品的材料。我想将此文档称为“供应商报价单”,在此表格上,我将在此表中保存供应商、原材料名称和价格作为报价单 1,依此类推。我正在尝试您的方法,感谢您的帮助。
  • 有一个客户ID,但我可以检索没有问题,我也有一个员工ID,但我也可以检索没有问题,因为每个人只有1个人。我根据 Customer_Quote 跟踪它们,这样也可以使用这个,但我也没有问题。
猜你喜欢
  • 1970-01-01
  • 2020-07-11
  • 2015-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多