私は2つのテーブルを持っています:
1) エリア 2) 地図
各エリアには少なくとも 1 つのマップが必要ですが、複数のマップを持つこともできます。
1 つのマップは 1 つのエリアにのみ属することができます。
これをMySQLで構築する方法は?
私は2つのテーブルを持っています:
1) エリア 2) 地図
各エリアには少なくとも 1 つのマップが必要ですが、複数のマップを持つこともできます。
1 つのマップは 1 つのエリアにのみ属することができます。
これをMySQLで構築する方法は?
エリアの主キーを参照する外部キーをマップに追加します。これにより、マップとエリアの間に 1 対多の関係が適用されます。
エリアごとに最低 1 つのマップを適用すること (必要な場合) については、こちらの投稿にいくつかのアイデアがあります。より簡単な解決策の 1 つは、マップのある領域のみを表示するビューを作成することです。
CREATE VIEW viewAreas AS
SELECT *
FROM Areas, Maps
WHERE Areas.ID = Maps.AreaID;
このようにして、エリアを作成し、そこにマップを追加できます。マップの外部キーを NOT NULL にすることもできるため、マップには常に領域が必要です。
Map と Area のそれぞれのテーブル。Map の外部キーは Area にリンクしています。