2010-08-10 57 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

相關問題