住所データベースの作成
-
19-09-2019 - |
質問
将来のニーズを満たさないため、会社のデータベースの一部を再作成しています。現在、主にフラット ファイルと、完全には実現されなかったいくつかの分割されたテーブルがあります。
私の考え方としては、zips テーブルを除いて、カテゴリごとにテーブルがあり、すべてを結合するテーブルとして機能する可能性があります。以下の画像を参照してください。
データベース図 http://www.freeimagehosting.net/uploads/248cc7e884.jpg
私が考えていることの 1 つは、zip テーブルを削除し、郵便番号はほぼ一意であるため zipstocities テーブルに郵便番号を入れてから、郵便番号に基づいてテーブルにインデックスを付けることです。唯一の欠点は、先頭にゼロが付いている郵便番号を処理するには、郵便番号を varchar にする必要があることです。私の論理に欠陥があるかどうか知りたいだけです。
解決
わからないのZIPcode-領土の部門システムが思うようなものです。
- 状態は、多くの適です。
- 郡には多くの都市です。
- 都市には多くのzipコードです。
そのため混雑して待たされることは以下のスキーマ.
ZipCodes CityZipCodes ------------ ---------------- Cities ZipCode (PK) <─── ZipCode (PK)(FK) ----------- City (PK)(FK) ───> CityId (PK) Name County (FK) ───┐ │ │ Counties │ ------------- │ States CountyId (PK) <───┘ ----------------- Name StateId (PK) <─── State (FK) Name Abbreviation
固定のための複数の都市ZIPコードです。
他のヒント
あなたが知っておくべきことの一つは、すべての都市は郡であるということです。バージニア州では、市や郡が、決して両方ます。
のいずれかでありますあなたが持っているの図を見ると、状態テーブルが本当に必要である4つの外のテーブルのうちの1つにすぎません。ただIDと単一の値を持つルックアップテーブルは、努力する価値はありません。これらの関係は、メインテーブル(ziptocities)で単一の値を行い、ルックアップテーブル(状態)で、関連するデータのセットを参照するために設計されています。
あなたは郡を気にする理由を自問する必要があります。米国の多くの州では、彼らは伝統やマップを超えて少し重要性を持っています。
他の質問は、どのように重要なことは、アドレスが正確であることになりますでしょうか?重要な手紙をタイムリーに配信されない場合がありますどのように多くの死者(文字は処方薬のリコールについてであれば、おそらく多くの!)
あなたはおそらく、おそらくアドレスを修正し、製品を使用して、郵政公社からのデータを使用して考えたいです。そのように、あなたは良いアドレスを取得するとき、あなたはメールが配信できる特定できるでしょう! - 郵政公社は、そう言っていますので、
プロセスとロジックの両方に欠陥があるようです。
テーブルとリレーションシップについて少し考えるのをやめることをお勧めします。代わりに、事実について考えてください。データベースがサポートする必要がある有効なアドレスのリストを作成します。たくさんの驚きがあなたを待っています。
住所と宛名ラベルを混同しないでください。それらはまったく同じものではありません。キャリアのモデリングも検討してください。米国では、住所が有効かどうかは通信事業者によって異なります。たとえば、運送業者が USPS の場合、私の私書箱は有効な住所ですが、運送業者が UPS の場合は有効ではありません。
時間を節約するには、いくつかの国際住所形式を参照してみてください。 ビットブースト.
御ロジックが両国という同じzipコードについて教えてください。この二つのうつの異なる都市でる場合があります。ここではポイントを考える
- を使用したいと思いますかzipcodeとして 主キーの入所?( リースの都市、州、国 ます。その場合、できる zipcode-都市の状態で、国内一 表に示す。インデックス都市、 す。(お持ちの機能 依存関係の形成 zipcode->国都市です。この と言ったのは必ずしも当てはまりません全 ます。
- 自動populatingは ごみの懸念を 実現の閲覧-利用します。
でおすすめの読書データモデルのパターンによるデビッドC.草.
しかし、ない請求が決済されるまで米国に留まることを法律によって要求された有効な医療請求を持つすべての人。人々が移動します。
サンフランシスコは、カリフォルニア州の都市です。それはアラバマ州の都市ではありません。あなたのデザインは、「サンフランシスコ、AL」のようなナンセンスエントリを防ぐのか?