I think your getting things mixed up. You would want a table for each entity, not each rule.
example:
ASSUMPTION: When a farmer brings a crop to a depot the depot pays for it.
For tracking who owns a crop of corn you would have the first table look like this: tblOwner|ownerID (pk), ownerType (farmer/depot), description, etc. The second table would be: tblCorn|cornID(pk), ownerID(fk), price, description,etc. with a many to one relationship between the tblOwner and tblCorn based off of ownerID.
To track sales of corn you would have a sales table one ownerID would be used as the sellerID and the other the buyerID. This woull paired with the cornID, price and an other transaction information that you want.
I hope this helps point you in the right direction. I am working on a database for a berry processing plant tracking quality tests, but this is a bit different. I would have to research how TPS (transaction processing systems) work a bit more before I could say anything for sure.