来自多个表链接的SQL最佳实践

时间:2012-11-20 12:37:20

标签: mysql database-design

我不确定如何最好地说出这个标题,或者甚至解释问题但是这里......

我正在设计一个SQL数据库,其中包含几个可以链接在一起的表。 即。

TABLE a ID1 CAN BE JOINED TO TABLE b ID1
TABLE b ID2 CAN BE JOINED TO TABLE c ID1
TABLE d ID1 CAN BE JOINED TO TABLE a ID5

基本上任何表中的任何行都可以链接到任何表中的任何其他行(包括它自己)

我打算使用以下列创建一个“Connections”表...

Table 1 Name VARCHAR()
Table 1 ID   INT()
Table 2 Name VARCHAR()
Table 2 ID   INT()

作为多对多的连接表,但具有表的列以及连接的每一侧的ID。我觉得这不是最好的做法。有什么想法吗? 我无法相信我需要为每个连接排列创建一个单独的表格!

1 个答案:

答案 0 :(得分:0)

这个问题很常见,反对归一化模型与非规范化模型。

要实现元模型(一个表来存储所有关系),最常见的有以下问题:

  • 在0..n关系(至少)
  • 的情况下请求较慢
  • 没有关系约束的本地管理(级联...)
  • 需要额外的应用层来解析关系

然后,如果你不介意,你的解决方案就可以了。

干杯, S上。

相关问题