【发布时间】:2014-06-21 23:59:45
【问题描述】:
我对数据库非常陌生,而且我是来自 Java 的数据抽象新手。为了自学,我正在开发一个在线应用程序,除其他外,该应用程序允许用户成为多个组的一部分。
勾画出数据库,看来我必须有一个类似“会员”表的东西:
UserID|GroupID
------|-------
1 | 1
1 | 2
2 | 1
2 | 3
2 | 5
我对此有点警惕,因为它只有两个外键,并且只用于链接两个对象。这是这种关系的标准做法吗?如果不是,首选的方法是什么?
再次,我对数据库非常陌生。我的书没有提到这种情况,所以如果有一些关键字反映了我忽略的这个功能......
谢谢。
【问题讨论】:
-
是的,很常见。但是您应该 (a) 将 PK 设为 UserID + GroupID(因此您不能创建重复的组合)或 (b) 为 UserID + GroupID 创建唯一索引(做同样的事情)并将 UserGroupID 列添加为 PK。
-
@paul.abbott.wa.us 提到这很常见,通常被称为查找表。如果您尝试搜索有关查找表的信息,您可能会获得更多信息。
标签: sql database database-design foreign-keys foreign-key-relationship