【发布时间】:2010-05-02 20:12:38
【问题描述】:
我有一个具有以下结构的三级数据库(简化为仅显示主键):
Table A: a_id
Table B: a_id, b_id
Table C: a_id, b_id, c_id
所以表 C 的可能值是这样的:
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 的外键是否必要?或者考虑到所有这些列都是主键的一部分,我什至根本不需要外键?
谢谢。
【问题讨论】:
标签: database-design foreign-keys