Closed CarbazochromeT closed 11 months ago
多対多で対応すべきところのリレーションが正しい向きになっていないところがありそうですので見直してみてください!
以下ご確認ください!
【symptom】症状 【ingredient】 薬効成分
こちら別テーブルとリレーションシップがあるので不要ですかね?
sizes は商品に含まれている錠剤等の個数でしょうか? Drugテーブルは商品名等のカラムもあり、包装されて販売されている商品を表しているテーブルだと思うので、size を別テーブルに分ける必要がないかなと思います。
■usersテーブル ・おそらくgem sorceryを使うかと推測したのですが、その際に必要なカラムがあったかと思うので確認してみましょう。
■bookmarksテーブル ・drugsテーブルに対して"多"の関係のようですが、リレーションの関係が逆ではないか確認をお願いします。
■drugsテーブル ・maker_name:メーカーの数が限られているようであればenumを使用しても良いかと思いました。もしくは別テーブルに切り出したほうが適切かと思いました。
■ingredientsテーブル ・drug_id:こちらは外部キーとして必要でしょうか。drug_ingredientsテーブル(中間テーブル)があるので、こちらのカラムの責務をお聞きしたいです。
■symptomsテーブル ・drug_id:こちらは外部キーとして必要でしょうか。drug_ingredientsテーブル(中間テーブル)があるので、こちらのカラムの責務をお聞きしたいです。
概ね良いと思いました。 LGTMです。
ER図の作成&編集を行いました。 ご査収のほどよろしくお願いいたします。
Drugテーブル【薬品】 id 【name】商品名 【maker_name】製薬企業名 【formulation】剤型 (enum)0:錠剤 1:散剤 2:カプセル 3:液剤 4:点鼻 【symptom】症状 【ingredient】 薬効成分 【division】 区分(enum)0:要指導医薬品 1: 1類医薬品 2:2類医薬品 3:指定2類医薬品 4:3類医薬品 【text】味などの特記事項コメント 【size】入っている数 12錠入りや24錠入り等あるので別テーブル有 【effect_text】効能効果 【usage】用法用量 【for_days】何日分の薬が入っているか 【caution】注意事項 【document_url】添付文書URL 【maker_url】製薬企業サイト 【taxation】セルフメディケーション税制対応かどうか 0:対応 1:非対応
Ingredientテーブル【薬効成分】※タグのような扱い id 【name】薬効名 例:アセトアミノフェン 等 【drug_id】→紐付け 【drive】ドライブ可能かどうか 【tobacco】タバコを吸ってもいいかどうか
Symptomテーブル【症状】※タグのような扱い id 【drug_id】→紐づけ 【name】症状名
Sizeテーブル【個数】 id 【drug_id】紐づけ 【size】商品に含まれている薬の数
Userテーブル 【name】 【email】 【password】 【bookmark】