我的工作,有一個相對複雜的數據結構的項目,我們都有點有以下情況難住了:SQL - 複雜的鏈接表,沒有簡單的解決
的數據塊具有代表玻璃窗各種表*組件(玻璃板,塗層,盲板)以及這些組件中的每一個都有一個光譜。 (*玻璃窗單元 - 認爲雙/三玻璃窗的玻璃單元) 現在我們可以有每分量表中的一個的光譜表,並且將有一個簡單的FK關係,如下所示:
tbl_glasspane 1 -- many tbl_glasspane_spectra
------------- -------------
+ Id + GlassPane_Id
GlassPaneName + Wavelength
TypeId etc. Value
凡GlassPaneId是主鍵在GlassPane中,GlassPaneId/Wavelength是tbl_spectra中的複合主鍵。
這工作正常,但是我們需要每個組件表一個tbl_xxx_spectra。
解決方案是讓每個組件表參考一個Spectra表,但其中存在問題 - 如何獲得任意數量的組件表以引用一個譜圖表?
我最初的解決方案是:
tbl_spectra tbl_spectraIndex tbl_glasspane tbl_coating
--------------- --------------- ------------- -------------
+ SpectraIndex_Id + Id + Id + Id
+ Wavelength SpectraIndex_Id SpectraIndex_Id
Value
所以一個解釋......
tbl_spectraIndex是包含一個標識列的表。 tbl_spectra在來自tbl_spectraIndex和SpectraIndex_Id的Id之間具有FK關係,這是tbl_spectra的組合PK的一部分。 tbl_glasspane和tbl_coating與tbl_spectraIndex有FK關係。
這是一個明智的解決方案嗎?