所以我應該創建這個模式+關係,就像這個ERD描述它的方式一樣。在這裏,我只能說明我有問題的表:創建PostgreSQL表格+關係 - 帶關係的問題 - 一對一
所以我想使它一對一,但出於某種原因,不管我改變,我得到一對多就什麼表具有外鍵。
這是我的這兩個表的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)
);
這裏我得到了同樣的結果。我沒有得到一對一的關係,而是一對多的關係。 Invoiceline是一個弱的實體。
這裏是我的第二圖像的代碼。
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)
);
我將不勝感激任何幫助。謝謝。
您如何預測建立1:1關係?在外鍵列上有'UNIQUE'約束?有相互可推遲的外鍵約束? – 2013-02-23 05:21:05
@CraigRinger,我希望我有知識基礎來回答你的問題,但我只是在我的第一個DB類中的幾個講座。我的問題如下:我如何創建一對一的關係?出於某種原因,我們主要討論了多對多和多對多 – 2013-02-23 05:26:48