2010-08-10 54 views
1

我有不同类型的资源可以分配给作业。目前,我的资源是技术人员和设备。我希望能够在引用作业表的资源表中存储旧的分配(即,没有静态列)。如何将资源分配存储到MySQL中的一个或多个作业

我一直在考虑对每个跟踪分配的资源使用一张表,但我想知道是否有理想的解决方案。

我的表是(用于说明目的):

TABLE equipment (
    id, 
    type, 
    PRIMARY KEY (id) 
) 
TABLE technicians (
    id, 
    name, 
    level, 
    PRIMARY KEY (id) 
) 
TABLE jobs (
    jobno, 
    starts, 
    ends 
    PRIMARY KEY (jobno) 
) 
TABLE table equipment_assignments (
    id, 
    jobno, 
    PRIMARY KEY (id, jobno), 
    FORIEGN KEY (id) REFERENCES equipment(id), 
    FORIEGN KEY (jobno) REFERENCES jobs(jobno) 
) 
TABLE table technician_assignments (
    id, 
    jobno, 
    PRIMARY KEY (id, jobno), 
    FORIEGN KEY (id) REFERENCES technicians(id), 
    FORIEGN KEY (jobno) REFERENCES jobs(jobno) 
) 

回答

1

这样做的另一种方式是引入资源表中的设备和技术人员的参考,或包含一个可以为空引用的设备和技术人员。然后你有资源分配,而不是实体特定的分配,我会争辩说,这些方法的前者可以更容易地引入新的资源类型。

+0

你是否喜欢桌子上有一把钥匙,技术人员/设备会参考他们的ID? – 2010-08-10 03:58:18

+0

我设想的方式是资源表具有自己的ID,并且每个技术人员/设备都参考资源表 - 但技术人员/设备的ID不需要与资源ID相匹配。每个资源都由一个和一个技术人员或设备引用。这种方法还可以让您在资源实体上添加任何特定于资源的信息,而不是在技术人员和设备上都有可能重复的信息。 – 2010-08-10 04:08:29

+0

那么,如何才能说有一个名为资源的表有一个ID列(说自动增量),然后有技术员/设备表有一个主键称为资源,这也是一个外键引用resource.id?或者这正是你正在向我描述的内容? – 2010-08-10 04:13:57

相关问题