Database 在数据库或系统文件中存储站点联系人和有关信息?

Database 在数据库或系统文件中存储站点联系人和有关信息?,database,file-io,database-design,storage,Database,File Io,Database Design,Storage,我正在尝试建立一个网站,在那里的所有者有一个CMS页面,他可以插入/编辑他的联系信息和关于信息 当我想到它时,我发现我将创建一个名为info的表,只有一行,其中包含tel、facebook、twitter和E-mail列 仅在数据库中存储一行是一个好主意,还是应该将其存储在系统文件或其他文件中 我真的需要这方面的建议。我有一些建议给你 首先,我强烈建议在代码中创建一个表示“数据库”的接口。这样做的好处是,您可以随时更改后端的存储。您可以开始将这些数据存储在文件系统中,然后更改为数据库。无论哪种方

我正在尝试建立一个网站,在那里的所有者有一个CMS页面,他可以插入/编辑他的联系信息和关于信息

当我想到它时,我发现我将创建一个名为
info
的表,只有一行,其中包含
tel
facebook
twitter
E-mail

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


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

我有一些建议给你

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

你会有这样的事情:

公共类文件存储库:IRepository{} 公共类MySQLRepository:IRepository{}

这将帮助您保持代码不变,同时允许您灵活地更改数据的持久化方式

第二,我会更形象地给你的表命名。这是用户信息吗?用户设置?花点时间选择一个描述性的名字将在将来对你有所帮助

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


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

{
“id”:123,
“电话”:“555-1212”,
“facebook”:“bobby123”,
“推特”:“博比很酷”,
“电子邮件”:[”bobby@yahoo.com", "bobby@gmail.com" ]
}

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

希望这是有道理的