1

我不知道如何最好地表达这个标题,甚至解释问题,但这里......

我正在设计一个带有多个可以链接在一起的表的 SQL 数据库。IE

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

等等

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

我打算用以下列创建一个“连接”表......

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

充当多对多连接表,但具有表的列以及连接每一侧的 ID。我觉得这不是最佳实践。有什么想法吗?我不敢相信我需要为每个连接排列创建一个单独的表!

4

1 回答 1

0

这个问题很常见,将归一化模型与非归一化模型对立起来。

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

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

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

干杯,S。

于 2012-11-20T12:45:28.740 回答