如何将多个相等的引用放入表结构中?我怎么能这样做?例如:我有同学名单:
1 Peter
2 Jack
3 John
4 Mary
5 Birgit
6 Stella
7 Janus
8 Margo
9 Fred
现在我要定义奖学金。首先,让我们限制每个孩子可能属于一个奖学金。所以我们可以有3个奖学金:
[Peter, Jack]
[John, Mary, Birgit]
[Stella, Janus, Margo, Fred]
所有成员都是平等的,所以他们都应该引用其他成员。是否有更好的方法来定义这种关系,而不仅仅是拥有一对表?像:
1 2
3 4
3 5
4 5
4 3
5 3
5 4
6 7
6 8
6 9
7 6
7 8
7 9
8 6
8 7
8 9
9 6
9 7
9 8
如果使用对的表,是否更好地描述关系(如上所述),或者仅仅从一种方式到另一种方式链接是否足够?这两种方式有什么好处?
成对表不会将任何成员限制在一个同伴中,但它怎么可能?
我一直在寻找SQL表解决方案,但也许有更好的工具来处理这样的数据结构,所以我也添加了nosql-tag。我正在为这些数据寻找合适的工具,但我很想知道如何在SQL表中使用它。
答案 0 :(得分:1)
是的,还有另一种方式。如果你有“奖学金”,那么你就没有成对的关系。使用Fellowships
的{{1}}表进行STart。
然后你会有一个FellowshipsId
表。这称为联结表,每个奖学金的每个成员都有一行。它会有这样的行:
FellowshipsKids
你所拥有的是奖学金和孩子之间的m-n关系 - 一个奖学金可以有多个孩子,一个孩子可以参加多个奖学金。联结表是在关系数据库中表示它的标准方法。