我有2个表有一个1-M的关系:数据库设计:需要复合键+外键
TABLE foo
- foo_id (PK)
- foobar_id
- value
TABLE bar
- bar_id (PK)
- foo_id (FK to foo.foo_id)
- foobar_id
- value
我想确保foo.foobar_id
和foo.value
是独一无二的,因此想让他们复合键。如果我这样做,那么我可能会摆脱foo.foo_id
。如果我这样做,我如何联系foo
和bar
?
我也想bar.foo_id
和bar.foobar_id
是唯一的,但如果我删除foo.foo_id
会遇到问题。
关于如何建模的建议?
只是让他们独一无需没有PK? – zerkms
@zerkms - 如果我使两个列都是唯一的,那么这是否意味着它们作为一对是唯一的,还是仅意味着该列必须是唯一的? – StackOverflowNewbie
如果您创建了涵盖两个字段的'UNIQUE'索引 - 那么这对应该是唯一的。 – zerkms