1

有在数据库表等主键的外键外国/初级

tbl_items 
item_id  item_batch   item_name 

(primay键= 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 
(外键= item_code +来自tbl_items的item_batch)
tbl_warehouse 
item_code  Item_batch  item_qty 

主键(ITEM_CODE + item_batch)

混淆这里
我 -外键(ITEM_CODE + item_batch到ITEM_CODE + item_batch从tbl_transaction_detial)

或这是正确的
ii-- 外键(item_code + item_batch to item_cod E +从tbl_items item_batch)

过程是这样的同胞用户创建新的法案,其ID和当前的日期将被存储在transaction_header和项目的客户购买他们的细节将被存储在交易明细,然后更新仓库表

现在如果纪录事务头存在,则根据该更新仓库

这将是正确的外键关系船我或ii

+0

你的问题是不特定的。 '(订单)'是什么意思。?这是名字吗?无法从'tbl_transaction_理解(订单)detail' –

+0

在这里你可以替换订单 –

+0

交易这个问题真的很大混乱..! –

回答

1

所以,整理出你的第一个困惑:的transaction_table

外键将指向主键table_item

或者更好的方式你可以这么说。

外键table_itemtransaction_tablereferences主键

而且按你的问题:

我)transaction_header将不包含任何Foreign Key。我的意思是它不需要任何Foreign Key

ⅱ)Foreign Keytransaction_detail将引用到的table_itemPrimary key

ⅲ)的transaction_detailForeign Key将引用到的warehousePrimary Key

由于transaction_detail中的更改导致warehouseitem_table中的更改。

为了更好地理解阅读this