[前][次][番号順一覧][スレッド一覧]

mysql:12719

From: 川合孝典 <川合孝典 <gcd00051@xxxxxxxxxx>>
Date: Fri, 3 Feb 2006 15:22:45 +0900 (JST)
Subject: [mysql 12719] Re: テーブルデータの正規化方法

川合孝典です。

----- Original Message -----
>Date: Fri, 3 Feb 2006 13:52:35 +0900
>From: "saori" <hibiki@xxxxxxxxxx>
>Subject: [mysql 12715] Re: テーブルデータの正規化方法
>To: <ml@xxxxxxxxxx>
>
(中略)
>地域の検索方法は、段階として2段階での検索を
>考えておりまして、
>第一段階
>○○市
>
>んで、○○市をクリックで、
>第二段階
>○○区
>
>にしたいのです。
(中略)

この場合、
「堺市」って「区」はないじゃないでしょうか?
それに「大阪府」の扱いは?
という疑問がありますけど。

問題は「地域」ってものをどう捕らえるかではないですか?
上の話からするとsaoriさんには「大阪市」と「福島区」との
間に階層関係が見えているんでしょうけれども、それが
テーブルに反映されていないのが問題ですよね?
(関西限定で考えると)「府県」「市町村」「区」に
わかれてるんでしょうか。

ex. 
 大阪市浪速区 -> 大阪府/大阪市/福島区
 京都府大山崎町 → 京都府/大山崎町/−

#東京が入ると「千代田区」なんかは「東京都千代田区」ですから
#「市区町村」でしょうけど。

そうなると「府県」「市町村」「区」で別々のテーブルにすると
いうのが素直かもですね。


府県
  府県  名称
  ---------------------------------
   1     大阪府 
   2     京都府

市町村
  ID   府県   名称
  ---------------------------------
   1     1    大阪市
   2     1    堺市

区
   ID  府県 市町村  名称
  ---------------------------------
   1     1     1   都島区
   2     1     1   福島区

配達地域

  店舗KEY 府県  市町村  区
  --------------------------
     1      1     1     2      # 大阪市福島区
     1      1     2     Null   # 堺市

といった感じ。
また1つのテーブルに入れるという考えもできるでしょう。

地域

  府県 市町村 区  名称       最下位
  ---------------------------------
   1     0    0   大阪府      False
   1     1    0   大阪市      False
   1     1    1   都島区      True
   1     1    2   福島区      True
   1     2    0   堺市        True

 ※ 府県、市町村、区の3つの組み合わせでPRIMARY
 このとき 「配達地域」の堺市の区はNULLではなく0
「最下位」という項目を追加しましたが、下のレベルのあるなしを
示しています。配達地域に指定するとき、一番下のレベルしか
指定しちゃダメよ。とか検索のときに段階を分けるのに使うかな
ってことで。

このほか
「都道府県はJISでもコードが振られているから別にするけど、
市町村と区はまとめたほうがわかりやすい」と考えるかもしれません。
テーブルの分け方は、そのものをどう見るかってことになるとは
思うので、あくまでも1つの考えってことで。


[前][次][番号順一覧][スレッド一覧]

     12710 2006-02-03 10:35 ["saori" <hibiki@xxxx] テーブルデータの正規化方法              
     12711 2006-02-03 11:59 ┣[小川 <mcn010@xxxxxxx]                                       
     12712 2006-02-03 12:10 ┣[川合孝典 <gcd00051@x]                                       
     12715 2006-02-03 13:52 ┃┗["saori" <hibiki@xxxx]                                     
     12716 2006-02-03 14:18 ┃ ┣[小川 <mcn010@xxxxxxx]                                   
     12718 2006-02-03 15:17 ┃ ┃┗["saori" <hibiki@xxxx]                                 
->   12719 2006-02-03 15:22 ┃ ┗[川合孝典 <gcd00051@x]                                   
     12721 2006-02-03 20:05 ┃  ┗["saori" <hibiki@xxxx]                                 
     12713 2006-02-03 12:12 ┗[小川 <mcn010@xxxxxxx]