我需要一个数据库模型,它可以处理具有2个值的独占PK。数据库距离城市表
可以说我们有3个城市,他们都连接在一起。
的距离为:
(1) - >(2)=(2) - >(1)= 5
(1) - >(3)=(3) - >(1)= 3
(2) - >(3)=(3) - >(2)= 4
复杂的一点是我不想重复输入!
Thx提前
我需要一个数据库模型,它可以处理具有2个值的独占PK。数据库距离城市表
可以说我们有3个城市,他们都连接在一起。
的距离为:
(1) - >(2)=(2) - >(1)= 5
(1) - >(3)=(3) - >(1)= 3
(2) - >(3)=(3) - >(2)= 4
复杂的一点是我不想重复输入!
Thx提前
您需要三列。 SourceID,DestID和距离。在SourceID中存储较小的ID号并在(SourceID,DestID)上创建一个唯一约束;
强制执行命令以防止重复。无论您是存储城市名称还是城市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)
);
您可以使用纬度和经度计算距离。见here