次のフィールドを持つIngredientsというテーブルがあります。
成分-IngredientID(PK)、ManufacturerID(FK)、CategoryID(FK)、BarcodeID(FK)、SizeID(FK)、Quality。
この表の仕組みは次のとおりです。各材料は、メーカー、カテゴリ、またはバーコードのいずれかに基づいており、3つのうち1つだけであり、常に1つが必要です。したがって、レコードにManufacturerIDがある場合、CategoryIDとBarcodeIDは両方ともnullになり、その逆も同様です。
私のデータベースには他に3つのテーブルがあります。
メーカー-ManufacturerID(PK)、名前
カテゴリ-CategoryID(PK)、名前
バーコード-バーコードID(PK)、名前
次のようなビューが必要です。
ビュー-ViewID(PK)、IngredientID(FK)、Name、SizeID、Quality
ViewIDがPK、 IngredientIDが成分レコードのFK、 NameがManufacturers、Categories、またはBarcodesテーブルのいずれかから取得したNameフィールドで、3つのフィールドのどれがIngredientsテーブルに値を持っていたかに基づいています。SizeIDとQualityは、Ingredientsテーブルから直接取得されます。
私のSQLに関する知識は非常に限られており、ガイダンスをいただければ幸いです。問題の説明に重要な情報が不足している場合はお知らせください。
編集:ビューを更新して、FKIngredientIDを含めました。これは便利な場合があります。