重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

現在、ブランドサイズをインターナショナルサイズに変換するデータベース設計をしていて悩んでいることがあります。どうか知恵をお貸しください。

参考にしています書籍は、ミック著「達人に学ぶDB設計徹底指南書」です。

書籍には、正規化の次数が低いほど検索SQLのパフォーマンスは良いですが、データ整合性は低く、正規化していくほどパフォーマンスが低下する代わりにデータ整合性が高くなります。と書いています。

ですので、正規化した結果、5つのテーブルが出来上がりました。

これらを正規化したテーブルを中間テーブルで扱うには、どのように設計すればよろしいでしょうか?
以上、よろしくお願いします。

下記は、正規化したテーブルです。

テーブル名 :: ブランド
扱うデータ :: (仮)A、その他ブランド....

テーブル名 :: 性別
扱うデータ :: メンズ、レディース、ユニセックス

テーブル名 :: カテゴリー
扱うデータ :: ウェアー、ボトム、シューズ、その他カテゴリー....

テーブル名 :: ブランドサイズ
扱うデータ :: 1、2、3、その他ブランドサイズ....

テーブル名 :: インターナショナル・サイズ
扱うデータ :: S、M、L、その他サイズ....

A 回答 (1件)

どこで詰まっているかがよくわかりませんが



すでに正規化がされているのですから商品管理テーブルを用意してい
商品ID、商品固有のデータ、ブランドID、性別ID、カテゴリーID、
ブランドサイズID、インタナショナルサイズID
を入れていけばよいでしょう。

たとえば売上集計用に販売管理テーブルが必要になった場合一番単純なモデルで
商品ID、数量、金額、日付
などを入れておけばよいです。

ただしご指摘の通り効率的な集計をしたいのであれば販売管理テーブルに
それぞれのIDまで埋め込んでインデックスを貼っておけば
おそらく数倍~数十倍高速化ができます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2014/10/14 15:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す