1

メールのデータベースを構築したいとします。私は電子メールの構造を理解していないので、基本的な属性のみを持つ単純なテーブルに電子メールを保存するかもしれません:

Emails
   email_id   integer (PK)
   from       varchar(200)
   sent       timestamp
   email      blob

しかし、後で、電子メールの構造を最終的に理解したので、データベースを拡張して、電子メール全体を単なる BLOB ではなく構造化データとして表すことにしました。おそらく、適切な外部キーと連想テーブルを使用して、EmailAddress エンティティ、MIME エンティティ、Header エンティティを作成します。

しかし、いつかブロブをサブスキーマにアンパックすることを見越してデータベースで何ができるでしょうか?

4

3 に答える 3

1

これにはリレーショナル データベースを使用しないでください。

ドキュメント データベースまたはその他のスキーマレス データ ストアを使用します。

于 2012-06-27T20:26:57.170 に答える
1

後でデータを適切な形式に効果的に変換できるように、構造化された形式 (XML など) で保存することを検討してください。

于 2012-06-27T20:27:29.993 に答える
0
  • Mask future schema changes by implementing an access layer. Use views for reading, stored procedures (or triggers) for writing to underlying tables -- avoid direct access from app layer to tables.

  • Consider anchor modelling approach, which uses 6NF and is quite suitable for constant changes -- schema evolution. The anchor modelling toll automatically creates views and triggers as an access layer.

于 2012-06-28T11:36:07.213 に答える