【问题标题】:Database structure for Inventory System库存系统的数据库结构
【发布时间】:2012-12-03 04:25:42
【问题描述】:

我正在尝试为一家电脑商店开发库存和销售点系统。他们中的大多数都有产品序列号,但有些产品(例如闪存驱动器)没有。当他们要出售任何产品时,他们希望通过“产品的序列号”从库存中获取产品信息,对于那些没有序列号的产品,他们将从下拉列表中选择产品信息。

我设计了用于保存库存信息的数据库,但我对如何保存序列号感到非常困惑。请您给我您的建议,以更好地构建我的数据库以保存有和没有序列号的产品信息

谢谢:)

表格:类别

category_id category_name

表:品牌

brand_id brand_name

表格:产品

product_id  category_id   brand_id   product_name

表:purchase_order

p_order_id supplier_id total_amount  purchase_date

表格:purchase_details

p_details_id  p_order_id   product_id   unit_price   quantity

表:inventory_transaction(此表用于跟踪当前库存,对于每次购买我添加正值,对于购买退货我添加负值)

inv_tran_id    product_id   unit_price  quantity

编辑

当我填满我的数据库表时,它如下所示:

表格:产品

product_id  category_id   brand_id   product_name
   1            1          2           17 Inch LCD LED
   2            2          5           8 GB Flash Drive

购买订单

p_order_id supplier_id total_amount  purchase_date
  1            1         500.00        2012-12-15 

表格:purchase_details

p_details_id  p_order_id   product_id   unit_price   quantity
   1             1            1           200.00        10
   2             1            2           50.00          5

【问题讨论】:

    标签: database database-design database-schema


    【解决方案1】:

    当您说product's serial number 时,您有点回答了您自己的问题@ 产品编号将与产品实体相关联并且应该在产品表上。这是假设产品序列号对产品来说是唯一的。

    制造商的产品序列号不会是唯一的,因此与产品具有多对一的关系。这必须保存在另一个表上,可能称为 Product_Item 或 Manufacturer_Product,制造商的产品序列号作为主键,Product_ID 作为外键。您可以将其扩展以定义其他制造商属性,例如制造商的产品名称(可能不同)以及制造商本身。如果您想通过库存订购进行任何类型的自动库存水平控制,您无论如何都必须这样做。

    【讨论】:

    • 请检查我上面问题的编辑方。 (我设计数据库的方式没有选择将产品序列保留在产品表上。)感谢您的回复:)
    • 我显然遗漏了一些东西,你为什么不简单地添加它?
    • 对不起,我应该先清除它,产品序列号是指您在产品包装上看到的由制造商标记的编号。这是一个唯一编号,用于跟踪特定产品项目而不是整个产品组。 :)
    • 啊,在这种情况下,您将需要另一个标签,可能称为 Product_Item 或 Manufacturer_Product,它将产品序列号作为主键,将 Product_ID 作为外键。
    猜你喜欢
    • 1970-01-01
    • 2012-07-06
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-01-24
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多