我有一種情況,一個網站(源)有多個源(類分開)特殊唯一列
Feed Table
feed_id | source_id | feed_url
1 | 1 | http://example.com/rss?category=1
2 | 1 | http://example.com/rss?category=5
3 | 2 | http://textample.com/rss
Item Table
item_id | true_id | feed_id
1 | 1332 | 1
2 | 76549 | 1
3 | 76549 | 2
4 | 76549 | 3
真正的ID是我嘗試從源網站獲得的ID。
我想要項目ID 2 & 3是相同的,因爲他們共享相同的來源(example.com),項目4是不一樣的,因爲它有不同的來源(textample.com) 有沒有一種方法,我可以強制執行該一致性,而不將源代碼添加到項目表中?
假設你是說在'Item'表,''對是唯一的僅在進料具有不同的'source_id'。然後我認爲你需要添加'source_id'並添加'UNIQUE ',我想不出一種方法來級聯唯一性約束。 –
Orbling
2011-03-28 05:36:27
這就是我想說的,我只是覺得添加源代碼id是一種redudant,因爲'feed_id,source_id'對總是相同的 – Moak 2011-03-28 05:55:50
是的。從數據規範化的角度來看。但是你的唯一性約束是在'source_id'上,而不是'feed_id',而仍然需要引用'feed_id'作爲外鍵約束。 – Orbling 2011-03-28 06:00:44