问题描述
|
我不知道表设计需要哪种类型的Audit日志记录系统。
有时,工作人员会更改产品的名称,价格,选项或其他。但是我们不保留历史记录中已更新或删除的内容..如何处理这种情况?
使用审核(历史记录表)还是版本控制类型?请提供我的桌子设计示例。
产品包含一个或多个选项。期权可以有附加项也可以没有附加项。
表格设计示例:
产品表:
mysql> select * from products;
+-----------+------------+
| ProductID | Name |
+-----------+------------+
| 1 | Hard Drive |
+-----------+------------+
选项表:(ProductID 1有两个选项)
mysql> select * from options;
+----------+-----------+---------+-------+
| OptionID | ProductID | Name | Price |
+----------+-----------+---------+-------+
| 1 | 1 | Samsung | 55.00 |
| 2 | 1 | Hitachi | 20.00 |
+----------+-----------+---------+-------+
Extras表:(OptionID 2有两个Extras ... OptionID 1而没有Extra)
mysql> select * from extras;
+---------+----------+------------------+--------+
| ExtraID | OptionID | Name | Price |
+---------+----------+------------------+--------+
| 1 | 2 | 10 Year Warranty | 100.00 |
| 2 | 2 | 20 Year Warranty | 250.00 |
+---------+----------+------------------+--------+
如果我更改产品名称(products.name
)...选项和附加数据(无论与ProductID链接到什么)应该自动添加到历史表中还是使用版本控制方法?
有些产品有20个选项,每个选项有10个额外选项。
我在options和extras表中有超过300,000行。
我有Order和Order_Items表。.在Order_Items表中,它包含OptionID(FK)的列表,但我确实包括了Option Name...。因此,如果我更改Option Name(options.Name
),则该订单将生效。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)