如何为POS系统

时间:2015-11-30 07:59:47

标签: mysql database database-design database-schema inventory

我正在为我的POS系统设计mysql数据库。我会把它解释为最好的。请帮助我更成功地设计它!

INVENTORY

标识
条形码(主键)
产品名称
公司-ID
类别-ID

(此表用于商店产品信息。这对于日常销售流程无用。对于商店产品信息。如果产品添加到数据库,则首先存储在该表中。之后,STOCK表获取信息这张表)

COMPANY

公司-ID(主键)
公司名称
电话

(这是针对商店产品公司的信息。)

CATEGORY

类别的ID(主键)
分类名

(这是商店产品类别)

STOCK

ID
条形码(主键)
获得价格
卖出价格,大宗
卖出价,零售

(该表用于日常使用。用于计算当前库存和所有流程。主要从INVENTORY表中获取信息。)

LAST_STOCK_DATE

条形码(主键)
日期/时间

(该表处理每个库存重新编码。使用完整的卖家查看库存产品和日期的次数。以及可以计算每年的全部数量等...)

BILL

帐单无(主键)
日期/时间
客户ID
正常价格(100美元等......)
折扣价(99美元等......)

(这是关于商店账单信息。我的主要问题在这里。我不能在这一点上创造性地思考。所以我希望你帮助设计那个BILL表和SOLD_ITEM表。在那个时候我正在思考另一个表“SOLD_ITEM”用于减少数据重复。)

SOLD_ITEM

帐单无(主键)
条形码
数量(2等......)
每件商品价格(10美元等......)
每件商品 - 折扣价(2美元等......)
总折扣(4美元等......)
信用或借记

(如果BILL和BILL_ITEM有任何问题请注释。我想修复那部分。这两个表看起来像这样!)

<小时/> BILL
账单 - 没有日期/时间客户ID正常价格折扣价格
B1 15/11/01 C1 $ 30 $ 22
B2 15/11/01 C2 $ 30 $ 18

BILL_ITEM
bill-no条形码数量每件商品价格每件商品折扣价格总折扣信用卡或借记卡 B1 1111 2 $ 10 $ 2 $ 4借记
B1 2222 4 $ 20 $ 1 $ 4借记
B2 3333 5 $ 10 $ 2 $ 10借记
B2 4444 2 $ 20 $ 1 $ 2借记

基本上我想减少我的账单表的重复。请看一下,告诉我我的方式是正确还是需要改变。如果需要更改,请发表评论。

BILL_ITEM表总是按卖出售.....

谢谢。

1 个答案:

答案 0 :(得分:1)

使用相同主键的多个表的原因很少 - last_stock_date和stock可以合并或包含键中的日期/时间。

您对此做了什么取决于您的业务规则 - 如图所示,BILL_ITEM数据与sold_item表定义匹配:您不需要2个表。数据分析师会提出如下问题:
1)您(或者您是否曾)想要支持客户信用账户?     如果是这样,bill_no可能在销售时不知道,因此您需要它在sold_item表上允许空值。 (你需要一个生成的列作为人工密钥。
   如果没有,您可能需要line_number列(标准主 - 详细构造) - 否则您将缺少唯一标识符。