country-state-city-headの親子関係を作成しようとしています。私は2つのapproaches- 1)は、単一のテーブル -データベース設計親子表対複数表
pk| name | type | parent 1 | US | country | null 2 | UK | country | null 3 | California | state | 1 4 | Los Angeles | city | 3 5 | Kent | state | 2 6 | Obama | president | 1 7 | Cameroon | pm | 2
状態/都市/国のために一定期間にわたる人口増加を記録します別のテーブルを参照します。このテーブルの主キーを作成して検討します。
2)2番目のアプローチは、国、州、頭部および都市の複数のテーブルを作成し、 リレーションシップに外部キー参照を使用することです。 各テーブル(市/州/国)の主キーが人口増加テーブルを参照します
1に近づくと2以上の利点がありますか?クエリする方が速いのですか?
いくつかの都市は国境をまたいでいます。米国では、例えば「テキサカーナ、テキサス」は半都市です。 "Texarkana、Arkansas"はもう半分です。人口のために、それは単一の都市(実際には、単一の「首都圏統計領域」)です。他の目的のために、それは2つの都市かもしれません。地理的に1つの郡にあるアドレス、緊急サービスの第2郡の郡、非救急サービスの第3郡のアドレスを見たことがあります。 –