2017-03-22 127 views
0

我認爲需要拆分一個表,因爲某些記錄與一個表和其他記錄與另一個表相關。但是我真的需要把桌子分開嗎?關係數據庫設計 - 拆分表

的表格如下所示:

樣品(sample_id,sample_type,borehole_id)
鑽孔(borehole_id,X,Y,Z)
TRAM(drawpoint_idSECTION_ID

其中表SAMPLE具有類型的樣本核心電車。核心樣本與BOREHOLE表和電車樣本相關到TRAM表。 (電車樣本沒有地理座標,因此需要單獨保存)

除了這種分型之外,樣本數據是相同的,事實上,我們不能通過分析實驗室的輸入類型來分離樣本。我們可能從一個報告中獲得實驗室的樣本數據,並且只有在查詢該類型後才知道它們是什麼類型。我希望能將所有SAMPLE檢測結果存儲在一張表中。

這通常如何處理?

+0

這是一個常見問題,谷歌'stackoverflow philipxy常見問題子類型'。 – philipxy

+0

是的,謝謝。我查了一下子類型和超類型,就是這樣。 – Elizabeth

回答

0

如果數據相同,那麼設計od表SAMPLE是錯誤的。 我可能不明白你想達到什麼,但是表SAMPLE只需要幾個字段id_sample和title(或名稱),那麼你就需要一個表來存儲這些樣本列表,比如說LIST表。 表列表將有字段id_list,id_sample,id_borehole,date_rcvd等(無論您需要保留有關特定樣本及其特徵的信息) 我不清楚表格TRAM應該存儲什麼,但似乎您正在重複從它的兩列到SAMPLE表是錯誤的。

+0

糟糕,是的,這是一個錯字。我編輯了這篇文章,但是爲了讓其他讀者清楚。所以電車有一個複合鑰匙和其他一些信息。感謝您將我的想法設定在正確的方向,我只是看不到它。我一直以特定的方式思考這些數據。所以,如果我有兩個表BH_SAMPLE(sample_id,sample_type,borehole_id)和TRAM_SAMPLE(sample_id,sample_type,外鍵),將工作。我仍然可以將分析結果保留在表格SAMPLE(sample_id,au_result)中。 – Elizabeth