具有相似列/属性的设计表

时间:2015-03-25 06:49:10

标签: mysql database-design relational-database

我有2个表单,让我们说一个product_with_refund_form和product_without_refund_form。在表1中,我有以下字段:

  • 名称
  • TRANSACTION_NUMBER
  • 状态
  • 金额
  • 出纳

在第二张表中我有:

  • 名称
  • 金额
  • PO_NUMBER

我的问题是,你如何设计表格?我是为这两个表创建每个表还是创建一个包含所有相似字段的表,另一个表包含product_with_refund_form,其中包含对其唯一的字段,另一个表为product_without_refund_form。

1 个答案:

答案 0 :(得分:0)

为什么不将两者合并为一个表,而不是尝试使用两个相似的表。

注意:

  • 添加了主键“ID”以使用其唯一标识每一行 自动增值。
  • “isRefund”用作告诉的标志 两种形式之间的差异。这个值可以是任何一个 字符例如“y”或“n”。
  • 由于要求没有提及外部“收银员”表,我将此列保留为varchar字段。

Product_Transactions - 字段名称

id, name, transaction_number, status, amount, cashier, DateCreated, po_number, isRefund

表格创建代码

CREATE TABLE Product_Transactions (`id` int AUTO_INCREMENT, `name` varchar(100), `status` varchar(10), 'amount' DECIMAL(10,2), 'cashier' varchar(100), 'DateCreated' TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 'po_number' varchar(100), 'isRefund' varchar(1), PRIMARY KEY (id))
;