我正在开发一个数据库来保存待命时间表的信息。目前我有一个看起来像这样的结构:
Table - Person: (key)ID, LName, FName, Phone, Email
Table - PersonTeam: (from Person)ID, (from Team)ID
Table - Team: (key)ID, TeamName
Table - Calendar: (key dateTime)dt, year, month, day, etc...
Table - Schedule: (from Calendar)dt, (id of Person)OnCall_NY, (id of Person)OnCall_MA, (id of Person)OnCall_CA
我的问题是:对于Schedule表,我应该将其保持原样,其中 dt 是唯一键,还是应该重新排列它以使 dt 不唯一并且表如下所示:
Table - Schedule: (from Calendar)dt, (from Team)ID, (from Person)ID
并且每天有多个条目,或者只使用:
Table - Schedule: (from Calendar)dt, (from PersonTeam)KeyID - [make a key ID on each of the person/team pairings]
一个团队总是会有人随叫随到,但一个人一次可以为多个团队随叫随到(如果他们在多个团队中)。
如果完全不同的设置会更好,请告诉我!
谢谢你的帮助!如果我的问题不清楚,我深表歉意。我学得很快,但每天使用 SQL 还是相当新的,所以我想确保我在学习时使用最佳实践,这样我就不会养成坏习惯。