2012-03-21 16 views
1

私は町のほぼ全世界のすべての町、都市、districs、地域の状態とのcountrysmysqlの世界的な国、州、地区、都市を保存/構造化する最良の方法...?

を行うために滑走していますが、町に属し、市は地区に属し、地区は地域に属し、地域属し国家に属している国に属しています

私は最良の方法は、外国のキーを持つ各機能(都市のテーブル、地域のテーブル...)ごとに別のテーブルを行うことだと思うが、問題はそれではないすべての国には州、地域、地方があり、州によっては唯一の地域しかありませんが、一部の都市はただの国にしか属しません。たくさんの組み合わせがあります

アドバイスはありますか?だから、

+0

良いニュースは次のとおりです。再帰構造を使用できます。悪いニュースは:mysqlは再帰CTEクエリを許可しません。 – wildplasser

答えて

0

町都市に属し、市は、地区に属し、地区はそのかもしれませんが

国に属している状態、状態に属している領域と領域に属するあなたの国では真実であることは間違いありません。例えば、日本の国は都道府県で構成されています。各都道府県は市町村に分かれています。

まず、国が実際に働く方法をモデル化するのか、それとも自分のスキーマに強制的に適合させるのかどうかということです。リレーショナル・データ・モデリングは、最初のもので役立ちます。 2番目の場合は、Google's Geocoding APIにある情報を適応させることを検討してください。

+0

「それはあなたの国で真実かもしれないが...」:それは彼が第3段落で述べていることだ。 – wildplasser

+0

私は情報が、真実は、Googleがないように私がやるだろうということであることを省略している administrative_area_level_1 - administrative_area_level_2 - administrative_area_level_3 - 市 - Subcity(町) – Colas

+0

@wildplasser:彼は自分の国が設定されていることを言っていません。町のように:都市:地区など、彼はいくつかの国が州の代わりに州や都道府県を持っていることを知らないようです。実際、一部の国は国で構成されています。英国は、それ自体、英国、スコットランド、ウェールズ、北アイルランドの4つの国で構成されています。 –