0

私はたくさんの会社とそのビジネスリストがあるサイトを構築しているので、彼らは住所、市、州、郵便番号などを持っています。

私はここでこのウェブサイトを見つけました:http: //jesseprice.com/mysql-city-state-zip-latitude-longitude-database/これはすべての市、州、郵便番号、郡、緯度、経度のデータベースを持っています。

上記のデータベースをインポートしたので、私の質問は、これを会社のテーブルにどのように接続するかです。そして、会社がサインアップすると、州のドロップダウンを作成できると思います。次に、データベースから取得してその州で見つかった都市にドロップダウンし、それらの都市から選択してから、郵便番号を選択します。それはうまくいくでしょうか?それで、彼らはそれを彼ら自身で入力する必要はないでしょうか?

私はこれを適切に行う方法とすべてが一緒に機能するようにする方法について少し混乱しています。

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

4

2 に答える 2

1

オプション1:

すべてのフィールドを住所テーブルに追加し、追加時に選択したテーブルを参照して、市、州、郵便番号、郡、緯度、および長さをテーブルに配置します。

利点

  • ダウンロードしたテーブルを更新せずに、国際的なサポートを提供できます。
  • データを失うことなく、ダウンロードしたテーブルを更新できます(ほとんどありません)
  • すべてのデータは、1つの単一テーブルクエリで利用できます。
  • 緯度/経度の検索はより高速になるはずです。
  • ダウンロードしたテーブルでは使用できない可能性のあるアドレスに柔軟性を持たせることができます。

オプション2:

zipフィールドのみを追加し、すべてのルックアップについて、ダウンロードしたテーブルからデータをプルします。

利点

  • 正規化-すべてのレコードが1つのテーブルにあります。ドライブスペースが少なくなります。

実際には、管理対象テーブルにフィールドを追加し、ダウンロードしたテーブルを読み取り専用の置き換え可能な参照テーブルとして保持することをお勧めします。

于 2011-08-19T05:23:37.240 に答える
0

次のテーブルデザイン(会社/都市)が必要です-

CREATE TABLE `companies` (
  `companyID` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `companyName` varchar(150) NOT NULL DEFAULT '',
  `address` varchar(300) NOT NULL DEFAULT '',
  `cityID` smallint(5) NOT NULL,
  `countryID` varchar(3) NOT NULL,
  PRIMARY KEY (`companyID`),
  KEY `cityID` (`cityID`),
  KEY `countryID` (`countryID`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;


CREATE TABLE `countries` (
  `countryID` varchar(3) NOT NULL DEFAULT '',
  `countryName` varchar(52) NOT NULL DEFAULT '',
  `localName` varchar(45) NOT NULL,
  `webCode` varchar(2) NOT NULL,
  `region` varchar(26) NOT NULL,
  `continent` enum('Asia','Europe','North America','Africa',
'Oceania','Antarctica','South America') NOT NULL,
  PRIMARY KEY (`countryID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `cities` (
  `cityID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `cityName` varchar(50) NOT NULL,
  `stateID` smallint(5) unsigned NOT NULL DEFAULT '0',
  `countryID` varchar(3) NOT NULL DEFAULT '',
  PRIMARY KEY (`cityID`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

あなたはここからmysql形式で世界の都市/国の完全なリストをダウンロードすることができます-

http://myip.ms/info/cities_sql_database/World_Cities_SQL_Mysql_Database.html

于 2013-04-08T13:24:34.887 に答える