1

私の質問:

直感的なフロントエンドのユーザー エクスペリエンスを維持しながら、AddressLine1、AddressLine2、AddressLine3 などのさまざまな数の住所行を無限に収容するために、バックエンドとフロントエンドにデータベース設計を実装するにはどうすればよいでしょうか。これにより、データベースが開発された後、ドキュメントをマージする際のクリーンさと容易さを最大化したいと考えています。番地が 1 つしかない住所もあれば、5 つまたはそれ以上の番地がある住所もあります。

バックグラウンド:

私はデータ モデリングとデータベース設計に非常に慣れていません。データベース モデリングがフロントエンドのフォームをどのように設計する必要があるか、および特定の設計に伴う頭痛の種にどのような影響を与えるかはまだわかりません。したがって、私が求めているものが大きな間違いであるかどうかはわかりません。

法律事務所のケース管理データベースを設計しています。別の Addresses テーブルを作成し、人/エンティティとアドレスの間に多対多の関係を持たせる予定です。つまり、多くの人/エンティティが多くのアドレスを持ち、同じアドレスが多くの人/エンティティに属している可能性があります。

ありがとうございました!

4

1 に答える 1

1

通常、アドレスの場合、データはライン上で正規化されません。したがって、住所テーブルには AddressLine1 や AddressLine2 などのフィールドしかありません。

より大きな地理情報 (例: 都市、州、国、郵便番号) は、住所レコードの別のフィールドに格納されます。

この理由は非常に実用的です。通常、住所は印刷されますが、使用できる印刷スペースは限られています。たとえば、4 つの行がある場合、名前、住所行 1、住所行 2、市/州/国/郵便番号があります。

行数を無制限に保存する必要がある場合は、AddressLines テーブルを使用します。AddressLines テーブルには、次のようなフィールドがあります。

  • AddressId -- 所属する住所レコード
  • 行番号
  • LineContents

ただし、これはやり過ぎのようです。

あなたのより大きな問題は、住所の標準化です。考えたことはありますか?(ご存じのとおり、「101 6th Avenue」、「101 Sixth Ave.」、および「101 Avenue of the Americas」は、ニューヨーク市ではすべて同じ住所です。)

于 2012-08-03T18:45:30.457 に答える