存储站点联系以及有关数据库或系统文件中的信息?

时间:2013-01-13 19:05:44

标签: database file-io database-design storage

我正在尝试创建一个网站,其中所有者有一个CMS页面,他可以在其中插入/编辑他的联系信息和信息。

当我考虑它时,我发现我将创建一个名为info的表,其中只有一行,包含telfacebooktwitterE-mail列。

仅将一行存储在数据库中是一个好主意,还是应该将其存储在系统文件中?

我真的需要这方面的建议。

1 个答案:

答案 0 :(得分:0)

我有一些建议给你。

首先,我强烈建议在代码中创建一个代表“数据库”的界面。这样做的好处是您可以随时更改后端的存储空间。您可以开始将此数据存储在文件系统上,然后更改为数据库。无论哪种方式,您的代码都会指向类似IRepository的东西。

你会有这样的事情:

public class FileRepository:IRepository {} 公共类MySQLRepository:IRepository {}

这将帮助您保持代码相同,同时让您可以灵活地更改持久保存数据的方式。

其次,我会更具描述性地命名你的牌桌。这是用户信息吗?用户设置?花时间选择一个描述性名称将在未来帮助您。

第三......这可能使这个问题变得比实际更大,但考虑一下你是否喜欢关系数据库或文档数据库。使用文档数据库,您可以将“用户信息”信息存储在一个文档中。这使得在代码中序列化/反序列化对象非常容易,而无需进行连接等。例如:


{
   "id" : 123,
   "tel" : "555-1212",
   "facebook" : "bobby123",
   "twitter" : "bobby_is_cool",
   "email" : [ "bobby@yahoo.com", "bobby@gmail.com" ]
}

两者都有优点和缺点。如果您想使用关系数据库(SQL Server,MySQL,Oracle),那么只为您认为不会随时间变化的内容创建字段。如果您想存储设置/用户首选项,除了添加字段外,还有更好的选择。

希望这是有道理的。