ドロップダウンリストで都道府県とその配下の市区町村を選択できる機能を作っています。開発言語はPHPです。
これらの地名の情報はJSONファイルとDBのどちらで管理すると良いでしょうか。
また、メリットとデメリットをご教示いただけますでしょうか。
管理する地名数は
・都道府県が47
・市区町村が1741
JSONで管理するならこうなるとおもいます。(※あくまでもイメージです。)
JSON
1{ 2 都道府県: [ 3 {"pref_id": "01", "pref_name": "北海道"}, 4 ..... 5 {"pref_id": "47", "pref_name": "沖縄県"} 6 ] 7 8 北海道: [ 9 {"muni_id": "01", "muni_name": "札幌市"}, 10 {"muni_id": "02", "muni_name": "函館市"}, 11 ..... 12 ] 13 14 沖縄県: [ 15 {"muni_id": "01", "muni_name": "沖縄市"}, 16 {"muni_id": "02", "muni_name": "名護市"}, 17 ..... 18 ] 19}
DBで管理するならこんな感じです。
▽DB構造
・都道府県テーブル(構成カラム:都道府県ID、都道府県名)
・市区町村テーブル(構成カラム:市区町村ID、市区町村名、都道府県ID、市区町村親ID、有効フラグ)
※市区町村親IDは、市区町村の合併などの増減を考慮して、変更元のIDを設定します。
私の今のイメージですが、
JSONは、プロジェクトのディレクトリを辿って取得すればいいだけだと思うので、(なんかよくわからないけど)負荷が軽い気がする。
更新作業がしづらい(テキストで置換するような運用?)
DBは、DBに接続してSQL処理して、画面で表示できるような形に加工して、というような流れになるので、(なんかよくわからないけど)負荷が重い気がする。
更新作業がしやすい(SQLで容易にできる)
処理負荷と運用の観点から、どちらを採用するとどのようなメリット、デメリットがあるのでしょうか。