複数のテーブルの参照を、一つのカラムで管理するためには?
たとえなのですが、ショッピングサイトを作っているとします。
そして化粧品とゲームが買えるとします。
また買った物の履歴を見れる機能もあるとします。
テーブルの設計をするとき、自分だとこのような場合は、
履歴テーブル、化粧品テーブル、ゲームテーブル
と作ります。
化粧品テーブルのカラムは
id, 値段、材料
ゲームテーブルのカラムは
id, 値段、対応ハードウェアとします。
ただここで問題なのは履歴テーブルのカラムです。
単純に考えるとこう考えました。
id, 化粧品id, ゲームid, 時間
しかしこの構造には問題があります。
化粧品idとゲームidのカラムはどちらか一つしか使われないため、後はnullが入ることになります。
さらに、玩具や食品などを追加すると空のカラムが増大していきます。
どのように設計するのが良いでしょうか?ご回答よろしくお願いします。