我必须创建一个数据库来存储从第三方 Web 服务门户发送和接收的信息。大约有 150 个信息字段要发送,尽管我可以通过规范化删除其中大约 50 个字段(例如,可以将三组地址保存在地址表中)。但是,这仍然会留下一个可能有 100 列的表。
尽管我不确定使用哪种方法,但我想出了两种处理方法:
1 . 有一个包含 100 列的表和对地址表的三个引用。
2 . 将其分解为 15-20 个单独的专用表。
选项 1似乎是最快的,因为它涉及的连接最少,但包含 100 列的表的想法并不正确。
选项 2感觉更好,并且会将事情分解成更易于管理的块,但它不会节省任何数据库空间并且会增加连接的数量。数据库中几乎所有的列都会有一个值,我无法进一步规范这些列。
我的问题是,在这种情况下,有一个包含 c.100 列的表格是否可以接受,或者我应该尝试将其分解为几个表格以进行演示?
请注意:表结构在使用过程中不会改变,将为新版本的 Web 服务门户创建一个新数据库。我无法控制 Web 服务数据结构。
编辑: @Oded 下面的回答让我对如何访问数据有了更多的思考;它实际上只会被整体访问,而不是部分访问。例如,我不需要定期返回第 5-20 列。
回答:我根据 Oded 发布的评论接受了他的回答,这有助于我下定决心,我决定选择选项 1。由于数据是完整访问的,因此拥有一张表似乎是更好的解决方案。例如,如果我经常想要访问第 5-20 列而不是整个表行,那么出于性能原因,我会看到将其分解为单独的表。