数据库中有表格,如
tbl_items
item_id item_batch item_name
(primay key = item_id + item_batch)
tbl_transaction(orders)_header
ordre_id employe_id date
(主键= order_id)
tbl_transaction_(orders)detail
(id)blind order_id item_code item_batch item_qty
(主键=盲目识别列)(外键=来自tbl_items的item_code + item_batch)
tbl_warehouse
item_code Item_batch item_qty
主键(item_code + item_batch)
这里的混乱
i - 外键(item_code + item_batch to item_code + item_batch from tbl_transaction_detial)
或者这是正确的
II - 的
外键(item_code + item_batch到item_code + item_batch来自tbl_items)
该流程与其他用户创建新帐单一样,其ID和当前日期将存储在 transaction_header 中,而客户购买其详细信息的项目将存储在交易详情中然后更新仓库表
现在如果记录存在于交易标题中,则更新仓库
根据这个正确的外键关系 i或ii
答案 0 :(得分:1)
所以解决你的第一个困惑:
transaction_table
的 外键将指向table_item
的主键。
或以更好的方式你可以这么说。
transaction_table
的{{1}} references
主键的外键。
根据你的问题:
i)您的table_item
不会包含任何transaction_header
。我的意思是它不需要任何Foreign Key
。
Foreign Key
的 ii) Foreign Key
将引用transaction_detail
的{{1}}。
Primary key
的 iii) table_item
将引用Foreign Key
的{{1}}。
由于transaction_detail
中的更改导致Primary Key
和warehouse
发生变化。
为了更好地理解,请阅读this。