2011-03-10 54 views
0

我需要一個數據庫模型,它可以處理具有2個值的獨佔PK。數據庫距離城市表

可以說我們有3個城市,他們都連接在一起。

的距離爲:

(1) - >(2)=(2) - >(1)= 5
(1) - >(3)=(3) - >(1)= 3
(2) - >(3)=(3) - >(2)= 4

複雜的一點是我不想重複輸入!

Thx提前

回答

1

您需要三列。 SourceID,DestID和距離。在SourceID中存儲較小的ID號並在(SourceID,DestID)上創建一個唯一約束;

0

強制執行命令以防止重複。無論您是存儲城市名稱還是城市ID號碼,相同的策略都可以工作。

CREATE TABLE distances (
    start_city VARCHAR(35) NOT NULL CHECK (start_city < end_city), 
    end_city VARCHAR(35) NOT NULL, 
    km_distant INTEGER  NOT NULL CHECK (km_distant > 0), 
    PRIMARY KEY (start_city, end_city) 
); 
相關問題