QA@IT
«回答へ戻る

回答を投稿

@flied_onion さん
丁寧なご回答ありがとうございます。
やりたかったことはgames-ext-infoです。

少しこちらの状況と私が提示した例が悪く、説明も不十分でした。

新しく例を作ってみたのですが、
__________2016-04-22_10.16.25.png
のようにすべてのstatusはitem一つ一つ違ったもので、そのstatusには様々な情報のtypeがあるとします。
これらのstatusはtypeごとに20近いカラムがあり、typeは6以上あるとします。
また、それぞれのtypeには一つのitemが複数持つことがあるデータ(type1を3つなど、1対多)、一つしか持たないデータ(1対1)があります。
そのため、単純に
__________2016-04-22_10_25_14.png
のようにしてしまうと、status_type1_hogeなどのtypeは分かれているけれどデータは一つなので1対多関連のstatus_type1s、status_type2sには含めれないということが起きます。
itemsはstatus以外にもたくさんのカラムを持っているため、status_type1_hogeなどの情報だけitemsテーブルにあると開発時に見落としが発生するなど問題が発生してしまいそうです。
そのため、せめてitem_statusでまとめようということで、以下のようにitem_statusesテーブルを作ろうかと思いました。
__________2016-04-22_15.58.40.png
ここで、item_status_type4....がitem_status_idを持つ理由は、
ItemStatusがItemStatusType4....をhas_oneする関係にあるため、itemのidでitem_statusを探し、item_status_idでitem_status_type4....を探し取得するように考えています。

この場合ですと、2つ目と3つ目の画像でどちらが良いでしょうか?
どうぞよろしくお願いいたします。

@flied_onion さん
丁寧なご回答ありがとうございます。
やりたかったことは`games-ext-info`です。

少しこちらの状況と私が提示した例が悪く、説明も不十分でした。

新しく例を作ってみたのですが、
![__________2016-04-22_10.16.25.png](https://qa-atmarkit-image.s3.amazonaws.com/uploads/attached_image/image/181/__________2016-04-22_10.16.25.png)
のようにすべてのstatusはitem一つ一つ違ったもので、そのstatusには様々な情報のtypeがあるとします。
これらのstatusはtypeごとに20近いカラムがあり、typeは6以上あるとします。
また、それぞれのtypeには一つのitemが複数持つことがあるデータ(type1を3つなど、1対多)、一つしか持たないデータ(1対1)があります。
そのため、単純に
![__________2016-04-22_10_25_14.png](https://qa-atmarkit-image.s3.amazonaws.com/uploads/attached_image/image/183/__________2016-04-22_10_25_14.png)
のようにしてしまうと、status_type1_hogeなどのtypeは分かれているけれどデータは一つなので1対多関連のstatus_type1s、status_type2sには含めれないということが起きます。
itemsはstatus以外にもたくさんのカラムを持っているため、status_type1_hogeなどの情報だけitemsテーブルにあると開発時に見落としが発生するなど問題が発生してしまいそうです。
そのため、せめてitem_statusでまとめようということで、以下のようにitem_statusesテーブルを作ろうかと思いました。
![__________2016-04-22_15.58.40.png](https://qa-atmarkit-image.s3.amazonaws.com/uploads/attached_image/image/185/__________2016-04-22_15.58.40.png)
ここで、item_status_type4....がitem_status_idを持つ理由は、
ItemStatusがItemStatusType4....をhas_oneする関係にあるため、itemのidでitem_statusを探し、item_status_idでitem_status_type4....を探し取得するように考えています。

この場合ですと、2つ目と3つ目の画像でどちらが良いでしょうか?
どうぞよろしくお願いいたします。