したがって、この ERD が示すとおりに、このスキーマと関係を作成することになっています。ここでは、問題があるテーブルのみを示します。
だから私はそれを1対1にしようとしていますが、何らかの理由で、何を変更しても、外部キーを持つテーブルで1対多になります。
これは、これら 2 つのテーブルに対する私の sql です。
CREATE TABLE lab4.factory(
factory_id INTEGER UNIQUE,
address VARCHAR(100) NOT NULL,
PRIMARY KEY ( factory_id )
);
CREATE TABLE lab4.employee(
employee_id INTEGER UNIQUE,
employee_name VARCHAR(100) NOT NULL,
factory_id INTEGER REFERENCES lab4.factory(factory_id),
PRIMARY KEY ( employee_id )
);
ここで私は同じことを取得します。私は1対1の関係ではなく、1対多の関係を得ています。Invoiceline は弱いエンティティです。
そして、これが2番目の画像のコードです。
CREATE TABLE lab4.product(
product_id INTEGER PRIMARY KEY,
product_name INTEGER NOT NULL
);
CREATE TABLE lab4.invoiceLine(
line_number INTEGER NOT NULL,
quantity INTEGER NOT NULL,
curr_price INTEGER NOT NULL,
inv_no INTEGER REFERENCES invoice,
product_id INTEGER REFERENCES lab4.product(product_id),
PRIMARY KEY ( inv_no, line_number )
);
助けていただければ幸いです。ありがとう。