次の表があります(必須属性のみをリストしています)
- 薬(ID、名前)、
- ジェネリック (ID、名前)、
- med_gen (med_id は Medicine(id) を参照、gen_id は generic(id)、potency を参照)
サンプルデータ
薬
- (1、「クロシン」)
- (2、「スタムロ」)
- (3、「NTクフ」)
ジェネリック
- (1、「ヘキサクロロジン」)
- (2、「安息香酸メチル」)
med_gen
- (1, 1, '100mg')
- (1, 2, '50ml')
- (2, 1, '100mg')
- (2, 2, '60ml')
- (3, 1, '100mg')
- (3, 2, '50ml')
与えられた薬と同等のすべての薬が欲しい。これらの医薬品は、ジェネリックが同じで効力が同じであれば互いに同等です。上記のサンプル データでは、3 つすべてが同じジェネリックを持っていますが、1 つと 3 つだけが対応するジェネリックの効力も同じです。したがって、1 と 3 は同等の薬です。
薬IDを指定して、同等の薬を見つけたいです。
注 : 1 つの医薬品に複数のジェネリック医薬品が含まれる場合があります。薬テーブルには約 102000 レコード、ジェネリック テーブルには約 2200 レコード、効力テーブルには約 200000 レコードがあります。そのため、パフォーマンスは重要なポイントです。
注 2 : MySQL で使用されるデータベース。