gpt4 book ai didi

mysql - 将设计拆分为父表和子表,或者拥有一个包含所有数据的表

转载 作者:行者123 更新时间:2023-11-30 00:14:51 26 4
gpt4 key购买 nike

假设我有一个 Transactions 关系,它可以是 SellBuy 交易。每笔交易都有不同数量的不同元素集。

卖出买入具有不同的属性。

所以我想了几种办法:

1) 有一个架构,其中有一个父关系 Transaction,它有 2 个子关系 SellBuy 以及 Transaction_Items交易的关系链接

Transaction:(id, date)
Sell:(Transaction.id, Supplier.name)
Buy:(Transaction.id, Employee.name, Customer.name)
Transaction_Items:(Transaction.id, Item.id, quantity)

这里的问题是我找不到SellBuy的主键

2) 将 SellBuyTransaction 合并为一个关系,例如,如果是购买交易,则 Supplier .name 将为 null。

Transaction:(id, date, Supplier.name, Employee.name, Customer.name)
Transaction_Items:(Transaction.id, Item.id, quantity)



3)有单独的关系来代表卖出交易或买入交易,并且每个交易都有自己的交易项目关系

Sell_Transaction:(id, date, Supplier.name)
Buy_Transaction:(id, date, Employee.name, Customer.name)
Sell_Transaction_Items:(Sell_Transaction.id, Item.id, quantity)
Buy_Transaction_Items:(Buy_Transaction.id, Item.id, quantity)

您能告诉我哪个更适合使用以及为什么您推出了其他的吗?另外,如果您对其他方式有任何其他想法,请告诉我们。

最佳答案

选项 1 是最佳选择。将交易子类化为销售和购买组件将有助于更深入地了解数据,但从长远来看将节省空间。

关于mysql - 将设计拆分为父表和子表,或者拥有一个包含所有数据的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com