0

所有者が自分の連絡先情報や情報について挿入/編集できる CMS ページを持っているサイトを作成しようとしています。

考えてみると、 、、および列infoを含む 1 行のみの という名前のテーブルを作成することに気付きました。telfacebooktwitterE-mail

単一の行をデータベースにのみ保存するのは良い考えですか、それともシステムファイルなどに保存するだけですか?

これについて本当に提案が必要です。

4

1 に答える 1

0

いくつか提案があります。

まず、コード内に「データベース」を表すインターフェイスを作成することを強くお勧めします。これの利点は、いつでもバックエンドのストレージを変更できることです。このデータをファイル システムに保存し始めてから、データベースに変更することもできます。どちらの方法でも、コードは IRepository のようなものを指します。

次に、次のようなものがあります。

public class FileRepository : IRepository { } public class MySQLRepository : IRepository { }

これにより、データの永続化方法を柔軟に変更しながら、コードを同じに保つことができます。

次に、テーブルにわかりやすい名前を付けます。これはユーザー情報ですか?ユーザー設定?時間をかけてわかりやすい名前を選択すると、将来的に役立ちます。

第 3 に、これは実際よりも大きな問題になっている可能性がありますが、リレーショナル データベースとドキュメント データベースのどちらが必要かを検討してください。ドキュメント データベースを使用すると、「ユーザー情報」情報を 1 つのドキュメントに格納できます。これにより、結合などを行うことなく、コード内のオブジェクトを非常に簡単にシリアライズ/デシリアライズできます。例:


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

どちらにもメリットとデメリットがあります。リレーショナル データベース (SQL Server、MySQL、Oracle) を使用する場合は、時間が経ってもあまり変わらないと思われるものだけをフィールドにします。設定/ユーザー設定を保存したい場合は、フィールドを追加するよりも優れたオプションがあります。

それが理にかなっていることを願っています。

于 2013-01-13T23:35:23.787 に答える