2014-09-26 73 views
0

我有兩個表:如何創建一個一對一的關係(SQL)

CREATE TABLE Goods 
(
    GoodsCode   INTEGER PRIMARY KEY, 
); 

CREATE TABLE Complaint 
(
    Num   INTEGER PRIMARY KEY, 
); 

如何在它們之間一個一對一的關係?

+0

也許這只是一個例子,是......好......不是那麼好。但是,在一對一的關係中,每件商品只能有一個投訴*。 – 2014-09-27 13:05:29

回答

4

由於這兩個列是主鍵列,所以你不能有重複無論是在列,但在表列NumGoodsGoodsCodeComplaint引用因此它是一個到一個關係。

CREATE TABLE Goods 
(
    GoodsCode   INTEGER PRIMARY KEY, 
); 


CREATE TABLE Complaint 
(
    Num   INTEGER PRIMARY KEY, 
     FOREIGN KEY (Num) REFERENCES Goods(GoodsCode) 
); 
+0

也許值得一提的是,通過這個解決方案,您可以強制執行一對一關係的兩個部分以獲得_same主鍵_。哪一個是有效的,但不是強制性的,甚至在一對一關係中是必要的。 – 2014-09-27 13:12:58

相關問題