会话
SessionId (PK) SessionName SessionDuration TotalMarks SessionWeight ModuleId (FK)
1 AAA 01:00:00 30 20 1
罚金
SessionId (PK) PenaltyEnalbed
1 1
我的问题是,由于惩罚表中的SessionId
是指Session
表,惩罚表中的SessionId
应该是主键还是外键?
答案 0 :(得分:1)
它应该是外键但在惩罚中还应该有一个ID设置为主键。所以在惩罚中它应该是ID(PK)SessionId(FK)PenaltyEnalbed
答案 1 :(得分:1)
SessionID
中的 Penalty
应定义为FOREIGN KEY
,因为您已经提到它引用了表SessionID
的列Session
。
CREATE TABLE Session
(
SessionID INT PRIMARY KEY NOT NULL,
-- OTHER columns here...
);
CREATE TABLE Penalty
(
SessionID INT NOT NULL,
-- OTHER columns here...,
CONSTRAINT penalty_fk FOREIGN KEY (SessionID)
REFERENCES Session(SessionID)
);