0

私は最初の db スキーマを設計していますが、少し行き詰まっています。最初の支払いの後、追加の支払いでアイテム投稿を「拡張」する機能を提供しますが、私のスキーマでは、複数の支払い ID を 1 つのアイテムにリンクすることはできません。

単一のアイテムで複数の支払いを処理するためにこのスキーマを再構成する方法について、誰かアドバイスをくれないかと思っていました。可能であれば、全体を次のようなもので囲む必要はありません。

ID
Item
Payment

これは私が現在持っているものです:

-- Company Table
CREATE TABLE company (
    id SERIAL PRIMARY KEY,
    name VARCHAR(60) NOT NULL
);

-- Country Table
CREATE TABLE country (
    id SERIAL PRIMARY KEY,
    iso VARCHAR(2) NOT NULL,
    name VARCHAR(100) NOT NULL
);

-- Location Table
CREATE TABLE location (
    id SERIAL PRIMARY KEY,
    name VARCHAR(250) NOT NULL,
    city VARCHAR(100),
    country_id INTEGER NOT NULL REFERENCES country (id),
    coordinate VARCHAR(50) NOT NULL
);

-- Source Table
CREATE TABLE source (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

-- Item Table
CREATE TABLE item (
    id SERIAL PRIMARY KEY,
    solrid VARCHAR(25),
    title VARCHAR(200) NOT NULL,
    truncated_description VARCHAR(250) NOT NULL,
    keyword_description VARCHAR(1000) NOT NULL,
    page_url VARCHAR(150) NOT NULL,
    create_date TIMESTAMP NOT NULL,
    company_id INTEGER NOT NULL REFERENCES company (id),
    source_id INTEGER NOT NULL REFERENCES source (id),
    location_id INTEGER NOT NULL REFERENCES location (id)
);
4

1 に答える 1