【发布时间】:2014-04-21 13:25:50
【问题描述】:
假设行数和列数超过数百个,我如何有效地在数据库中表示下表(我认为创建具有 100 个字段的数据库不是一个好主意:))
我正在使用 Ruby on Rails/SQLite。
【问题讨论】:
-
所有行都有数百列吗?还是只有数百个可能的值,但实际上只填充了几个?
标签: sql ruby-on-rails ruby database sqlite
假设行数和列数超过数百个,我如何有效地在数据库中表示下表(我认为创建具有 100 个字段的数据库不是一个好主意:))
我正在使用 Ruby on Rails/SQLite。
【问题讨论】:
标签: sql ruby-on-rails ruby database sqlite
这里有一个经典的反规范化任务。而经典的方法(不知道您的读写模式或其他需求)是制作三个表格:
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
【讨论】:
您的数据结构是一个双向无方向加权图。如果您可以使用图形数据库,那将是一个不错的选择。
【讨论】:
100 多个字段很可能未标准化,但并非总是如此。规范化是您的目标,而不是关于列数的硬性规定。
这个问题很难回答,因为列和键对我来说没有多大意义。
我可以在这里看到一对多的关系,但这是唯一明显的建议。
【讨论】: