我有两个主键表和一个复合表。
除了复合表中的主键表中的2个主键外,我还想获得一些其他信息。
我只是重复这些数据,还是他们可以在不重复的情况下将其他字段添加到复合字段?
谢谢。
发布于 2017-03-12 02:51:41
你目前的设计看上去很正确。但我认为您的EventVolunteer表应该如下所示:
CREATE TABLE EventVolunteer (
eventID INTEGER,
volunteerID INTEGER,
FOREIGN KEY eventID REFERENCES Event(eventID),
FOREIGN KEY volunteerID REFERENCES Volunteer(volunteerID),
PRIMARY_KEY(eventID, volunteerID)
)此桥表应该存在以存储事件与其志愿者之间的关系,而不是其他任何东西。事件和志愿者的所有元数据应该分别位于Event和Volunteer表中。
如果需要引入一些信息,那么可以通过将Event和Volunteer表与此桥表连接起来。如果索引设置在正确的位置,则此联接比您想象的要少得多。
https://stackoverflow.com/questions/42743126
复制相似问题