哪种存储静态数据的方法更好?

时间:2010-07-05 13:56:28

标签: database-design data-structures

我正在开发一个关于书籍的网络应用程序。我们都知道书籍有不同的类别。因此,此类别是数字序列的基础,例如,200 =计算机相关,800 =历史。每本书仅限于一个类别。

这是一个问题。我有一个类别列表,它可能在将来扩展。例如,将出现新技术,并将创建新类别。那么,我该怎么存储这个类别?在数据库中?还是一个简单的XML文件?因为它不是一直在改变所以,我认为在数据库中存储会变得浪费吗?你好。

6 个答案:

答案 0 :(得分:4)

对我来说,最好的决定是使用数据库进行存储。您不知道一段时间后您的项目会发生什么变化。此外,如果数据进入数据库,您可以轻松更新它们并添加相关的附加信息。但这取决于。您更了解自己拥有什么样的项目以及使用的技术。

也许XML也是一个不错的选择。您可以相对轻松地添加新数据并选择当前数据,然后在项目中使用它们。

但我的建议是使用数据库。类别不是太多要存储的数据。它更加灵活和强大。

答案 1 :(得分:2)

如果您认为将来会添加新类别,它不是静态的,应该存储在数据库中。由于在应用程序运行时它不会不断变化,因此您可以让应用程序在启动时将这些数据缓存在内存中,以避免不断查询数据库中的列表。

答案 2 :(得分:1)

我没有看到不使用数据库的正当理由,特别是如果您已经为其他数据做过的话。像这样的小桌子很常见。 如果要完全避免数据库访问,文件存储(如XML或文本文件)可能是不错的选择。

答案 3 :(得分:1)

如果您在应用程序中将数据库用于其他存储,则将其存储在查找表中。您可以缓存查询以获取列表,以便没有不必要的数据库访问,如果这是您所暗示的浪费。因此,我会根据您在存储库中使用的内容做出决定。

答案 4 :(得分:1)

将其存储在数据库中。如果你不这样做,那将浪费常规磁盘空间。如果你谈到“将不时添加一些类别”,数据量并没有真正的增加。请记住,大公司/网站/应用程序/ ...的数据库存储数十亿行数据,因此如果您存储类别,这将是没有问题的。通过这种方式,应用程序更容易“只”使用SQL进行数据检索,就好像也会有XML一样。

答案 5 :(得分:0)

您应该将类​​别存储在关系表中以确保您的约束有效(在这种情况下,每本书一个类别,正确)?

在存储或成本(查询性能)方面,您不会遇到太多浪费。事实上,我很确定你会想按照他们的类别查询书籍,所以这是一个合乎逻辑的设计。