前回の質問を参考にさせて頂きデータベースの正規化やどのデータベースを使用するべきかがわからない>都道府県、市町村、複数人入力、
大変親切で分かりやすい回答を頂き、
属性が多い場合はタグにするといいかもしれないというアドバイスもあったのですが、
下記のような設定の場合は、同じ属性内で複数を選択する場合もあると考え、下記のようにしてみましたが、やはり理解できていないと思われるため、
再度質問させて頂きました。
例えば、衣類のように、属性が多いものをデータベースで正規化したら、と具体的に考えようとしてみたのですが、これでいいのかがわかりません。もし、アドバイスを頂けたら幸いです。
このデータベースでは、
属性が被っているものを見る時に使いたいと考えます。
例えば
- リスト商品(服)名前の商品はシャツが多く、メーカーはどこで作られている
- 赤いシャツはチェックが多く、日常着が多い
などのつながりを正規化で表現出来ないかと思います。
[商品テーブル]
- 商品(服)名前
- 商品ID プライマリーキー
[商品属性テーブル]
- 季節、月
- 用途(日常着、礼装)複数
- 模様
- 部品(レース、金属など)複数
- 色 複数
- 製法
- 生地の素材(木綿、絹)複数
- 生地が分厚い、薄い
- 人気がある、ない
[メーカーテーブル]
- 商品メーカー
- 商品メーカー所在地(都道府県ID、市町村ID)
[都道府県テーブル]
- 都道府県名
- 都道府県ID
[市区町村テーブル]
- 市区町村名
- 市区町村ID
[売上げテーブル]
- 価格
- 1年間の売上げ個数
[商品テーブル]
item_id(PK) | item_name |
---|---|
1 | シャツ |
2 | パンツ |
3 | ジャケット |
item_id(PK) | month |
---|---|
1 | 1月 |
2 | 2月 |
-- | --月 |
12 | 12月 |
属性:用途
item_id(PK) | 用途 |
---|---|
1 | 日常着 |
2 | 礼装 |
3 | 運動着 |
属性:模様
item_id(PK) | 模様 |
---|---|
1 | 無地 |
2 | チェック |
3 | ドット |
属性:部品
item_id(PK) | 部品 |
---|---|
1 | レース |
2 | スパンコール |
属性:色
item_id(PK) | 色 |
---|---|
1 | 赤 |
2 | 青 |
属性:製法
item_id(PK) | 製法 |
---|---|
1 | 手縫い |
2 | ミシン |
3 | 機械 |
属性:生地の素材
item_id(PK) | 生地の素材 |
---|---|
1 | 絹 |
2 | 木綿 |
属性:生地の厚みテーブル
item_id(PK) | 生地の厚み |
---|---|
1 | 厚い |
2 | 薄い |
属性:人気テーブル
item_id(PK) | 人気 |
---|---|
1 | ある |
2 | ない |
*下記は前回の回答で頂いたアドバイスをそのまま使わせて頂いています。
都道府県テーブル
pref_id(PK) | 都道府県名 |
---|---|
1 | 北海道 |
2 | 青森県 |
市区町村テーブル
city_id(PK) | pref_id(FK) | 市区町村名 | 緯度 | 経度 |
---|---|---|---|---|
011002 | 1 | 札幌市 | 43.06 | 141.35 |
022039 | 2 | 八戸市 | 40.52 | 141.50 |
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/14 13:50