アップグレードが必要な古いアプリケーションがあります。すべてが今ではありませんか?
既存の DB スキーマは、電話、ファックス、電子メールなどの定義済みフィールドで構成されています。過去 5 ~ 7 年間 (または国によってはそれ以上) の社会的爆発により、エンド ユーザーは、私が便利だと思うものだけでなく、自分に合った方法で連絡先カードを作成することをより詳細に制御する必要があります。
私はここで「デジタル」アドレスに関心があります。つまり、1 行タイプの住所です。phone=ccc ccc ccc ccc など この場合、物理アドレスは要件の点で非常に標準的であるため、ユーザーは範囲を管理しやすくするために、指定されたもの (場所、郵便番号、配送先) を使用する必要があります。
だから、デジタル情報を保存するためのベストプラクティスのフォーマットは何だろうと思っています。私には2つの選択肢があるようです:
- シンプルな 4 フィールド テーブル (ContactId、AddressTypeId、Address、FormatterId)
1000、「電話」、「ccc ccc ccc ccc」、phoneformatter
1000、「facebook」、「myfacebook」、facebookformatter
これは、必要な場所で結合されます。ただし、テーブルは巨大になり、時間の経過とともに結合のパフォーマンスが低下すると思われます。
- 読み取り後に追加の処理が必要な json blob (ContactId、Addresses)
1000、{{"電話": "ccc ccc ccc ccc"}、{"facebook": "myfacebook"}}
または、他の何か。
このデータベースは、顧客ベースが 3000 ~ 12000 のアカウントの範囲で国内取引のみを行っている特定の国で使用するためのものであり、アカウントごとの連絡先の数 (現在のシステムでは平均約 10) に制限されています。
私の主な関心事はユーザーの柔軟性ですが、パフォーマンスはその中で重要な考慮事項です。だから私は知りません、ただ何でもして、それにたくさんのハードウェアを投げてください;)
クエリ後処理に関して違いがある場合、アプリケーションはC#にあります。