我有以下结构的三级数据库(简化,只显示主键):为表C中三级数据库 - 外键
Table A: a_id
Table B: a_id, b_id
Table C: a_id, b_id, c_id
所以可能的值会是这样的:
a_id b_id c_id
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
2 1 1
2 2 1
2 2 2
...
我现在不确定,应该如何设置外键;或者它们是否应该设置为主键。我的想法是在表B B.a_id -> A.a_id
上有一个外键,在C C.a_id -> A.a_id
和(C.a_id, C.b_id) -> (B.a_id, B.b_id)
上有两个外键。
这是我应该设置外键的方式吗?是否需要C->A
的外键?或者我甚至需要外键,因为所有这些列都是主键的一部分?
谢谢。
啊,所以我不需要外键来表达不同表的实际关系,而只是为了保持完整性? – poke 2010-05-02 20:45:35