2015-03-25 57 views
0

我有两种形式,比如说product_with_refund_form和product_without_refund_form。在表1中我有这些领域:具有类似列/属性的设计表

  • TRANSACTION_NUMBER
  • 状态
  • 收银员

在第二个表,我有:

  • 名字
  • PO_NUMBER

我的问题是,你如何设计表?我是否为两个表创建每个表,或创建包含所有类似字段的1个表,另一个表为product_with_refund_form具有唯一字段,而另一个表为product_without_refund_form。

+0

什么样的角色PO_NUMBER玩? – WorkSmarter 2015-03-25 06:56:45

+0

把它想象成一个系统生成的随机数。 – Finks 2015-03-25 06:59:22

回答

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)) 
; 
+0

将它们结合起来的问题是,这些字段仍然不是最终的,它可能会更多,如果发生这种情况,我将会有很多空的字段。 – Finks 2015-03-25 07:29:48

+0

这可以通过使用视图来缓解。你只能看到你想要看到的值:) – WorkSmarter 2015-03-25 07:31:44

+0

由于字段还没有最终确定,所以你可能会设计数据库。我希望迄今提供的信息能够让您了解数据库表的位置。 – WorkSmarter 2015-03-25 07:33:30

相关问题