我将创建以下:
其具有每个位置可能的位置表和ID值
CREATE TABLE Location(
LocationID int NOT NULL AUTO_INCREMENT,
Location nchar(10) NOT NULL,
PRIMARY KEY
(LocationID)
);
腿表,其包括跳闸的每个腿。它有让腿部与出发地和目的地都一个位置ID,其作为一个外键位置表
CREATE TABLE Leg(
LegID int NOT NULL AUTO_INCREMENT,
Origin int NOT NULL,
Destination int NOT NULL,
PRIMARY KEY(LegID)
);
FOREIGN KEY(Origin) REFERENCES Location(LocationID)
FOREIGN KEY(Destination) REFERENCES Location(LocationID)
它包含了旅行的每条腿,是一个旅行ID和旅行表中的ID基本资料:
CREATE TABLE Trip(
TripID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (TripID)
);
一个TripLeg表,加入了旅行和腿的细节与TRIPID和LegID
CREATE TABLE TripLeg(
LegID int NOT NULL,
TripID int NOT NULL,
PRIMARY KEY (LegID ,TripID)
);
FOREIGN KEY(LegID) REFERENCES Leg(LegID)
FOREIGN KEY(TripID) REFERENCES Trip(TripID)
这将允许您根据城市,个别腿或总TR查询IP。希望这可以帮助。
良好的工作,处理1-> 2和2-> 3问题没有立即连接。还有一张图! +1 – halfer 2013-03-24 11:12:58
谢谢Branko,我非常感谢你花时间去细节! – r3su 2013-03-24 19:23:33