将二维表保存到数据库

时间:2014-04-21 13:25:51

标签: sql ruby-on-rails ruby database sqlite

如何有效地表示数据库中的下表,假设行数和列数多于几百个(我认为创建包含100个字段的数据库不是一个好主意:))

enter image description here

我使用Ruby on Rails / SQLite。

3 个答案:

答案 0 :(得分:4)

这里有一个经典的去规范化任务。经典方法(不知道您的读写模式或其他需求)是制作三个表:

ID | Name
---------
1  | Gothamist
2  | GigaOm
3  | Quick Online Tips

ID | Name
----------
1  | China
2  | Kids
3  | Music
4  | Yahoo

ID1 | ID2 | Value
-----------------
1   | 1   |  0
1   | 2   |  3
...
3   | 4   |  22

答案 1 :(得分:2)

您的数据结构是一个二分非方向加权图。如果你可以使用图形数据库,那将是一个不错的选择。

答案 2 :(得分:0)

100多个字段很可能没有规范化,但并不总是如此。规范化是您的目标,而不是关于列数的硬性规则。

很难回答这个问题,因为列和键对我来说没有多大意义。

我可以在这里看到一对多的关系,但这是唯一显而易见的建议。