我有一种情况,一个网站(源)有多个源(类分开)特殊唯一列
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