ここで私が作成したデータベースのスキーマを示します。SQLデータベースのスキーマ設計タグ
- ビールは、単一のカテゴリに属します。
- カテゴリは複数のタグで構成されています。
- ビールは複数のタグでタグ付けされています。
- タグは複数のビール(多対多)で使用できます。
制約: あなたはこれらのタグが関連付けられているカテゴリに属していないビールにタグを追加することはできません。
制約についてはこの設計が正しいですか?これは私のコードで扱うべきものですか?
ここで私が作成したデータベースのスキーマを示します。SQLデータベースのスキーマ設計タグ
制約: あなたはこれらのタグが関連付けられているカテゴリに属していないビールにタグを追加することはできません。
制約についてはこの設計が正しいですか?これは私のコードで扱うべきものですか?
制約がある場合、この設計は正しいです。
この設計では、各タグが1つのカテゴリにのみ属することも必要です。カテゴリとタグの間に多対多はありません。
タグが関連付けられているカテゴリに属していないビールにタグを追加することはできません。
このルールは、アプリケーションロジックを通じて適用する必要があります。データベース設計では、そのビールが割り当てられていないカテゴリのタグにビールが割り当てられることはありません。デザインの欠陥ではなく、まさにそれです。リレーショナルデータベース設計では、あらゆる種類のルールや制約をそれ自体で実行することはできません。
user
、tag
、およびcategory
のアイデアは、あなたの簡単な説明であるか漠然と考えると、我々はビジネスの問題/コンテキストを理解できないよう考慮に与えられるべき更なる助言や更なる考えはありません。
再生いただきありがとうございます。あなたが言ったように、データベーススキーマは、そのビールが割り当てられていないカテゴリのタグにビールが割り当てられるのを妨げません。それがポストの理由でした。私はこの部分をデータベースレベルで扱わなければならないと考え、それを実行することができませんでした。 –