2017-08-08 8 views
0

私は各行が1つのCropに対応するCropsテーブルを持っています。他のテーブルの主キーに対応するSQLテーブル内のカラムを作成します

別のテーブルLocationsでは、各行が1つの場所に対応しています。私は作物のすべての作物の頻度をあらゆる場所で保存したいと思っています。周波数は作物ごとおよび場所ごとに明らかに異なります。 どのようにロケーションテーブルを構成しますか?私はいくつかの読書をして、外来キーが役に立つかもしれないと考えましたが、どうしてか分かりません。私はSQLを初めて使う人です。

私が本来行っているのは、私のロケーションテーブルにデータのリストを保存することです。 Locationsの列をCropsの主キーに対応付ける方法はありますか? Cropsが更新されたときにLocationsを更新するソリューションも素晴らしいでしょう。

+0

Barmarはそれのように、あなたはおそらく、多対多の関係を作成する必要があり、そしてあなたがジャンクション表が必要になることを行うために、言ったようにここで説明します:https://support.airtable.com/hc/en-us/articles/218734758-A-beginner-s-guide-to-many-to-many-relationships –

答えて

2

あなたが別の多対多のテーブルが必要になります。

CREATE TABLE CropLocations (
    crop_id INT NOT NULL, 
    location_id INT NOT NULL, 
    frequency INT, 
    PRIMARY KEY (crop_id, location_id), 
    CONSTRAINT FOREIGN KEY (crop_id) REFERENCES Crops (id), 
    CONSTRAINT FOREIGN KEY (location_id) REFERENCES Locations (id) 
); 
関連する問題