如何最好地在关系数据库中表示此类数据?
制造商各自唯一序列化的特定机器的可变数量。
用户将设置每台机器,以执行此类机器所能执行的可变数量的任务。
所有机器都将从可能被更改的相同任务列表中进行选择 随着时间的推移
最后,每项任务的时间设置会因机器而异。
最后的条件似乎搞砸了我将这种情况正常化的尝试。
答案 0 :(得分:2)
计算机 :: Id,SerialNumber
Id是主键。
任务 :: Id,说明
Id是主键。
MachineTasks :: MachineId,TaskId
MachineId和TaskId是复合主键。 MachineId是引用Machines.Id的外键。 TaskId是引用Tasks.Id。
的外键ScheduledMachineTasks :: MachineId,TaskId,Time
MachineId和TaskId是复合主键。 MachineId和TaskId是引用MachineTasks.MachineId和MachineTasks.TaskId的复合外键。
请注意,这只允许每台计算机只安排一次任务,如果每台计算机可以多次安排一项任务,则需要进一步扩展。
答案 1 :(得分:1)
创建一个公共表,将每个对象相互关联,并附上补充数据。
机器表
ID,MachineID
任务表
ID,任务
MACHINETASK TABLE
ID,MachineID(FK到MACHINE.ID),TaskID(FK到TASK.ID),时间