2012-09-03 46 views
1

我正在創建一個日誌表,即使我是一個數據庫程序員,我可能不應該這樣做,我創建的表,以便初始消息插入一個GUID和start_time - 所有後續交易更新到其他列是數據加載的屬性:ftp連接,文件解壓縮...爲什麼我應該「正常化」?

爲什麼這是一個壞主意?我應該恥辱嗎?我想要一個簡潔而乾淨的表格 - 一個工作,一行(我將建立我自己的逗號分隔的我已處理的文件列表(或者如何處理ID列表?)我將創建一個文件ID列表加入到我已下載的文件列表中...))

是/否?去公共汽車的後面?

+1

這和etl有什麼關係? – Jodrell

+2

我認爲考慮到問題的細節,這個問題沒有明確的答案。我似乎回想起我的大學課程中的一個完整模塊。 – Jodrell

回答

0

一個原因就是大部分的時間,我們使用日誌文件,無法登錄是:我們想知道發生了什麼,以及如何在細節和順序。您的單筆記錄確實如此不是提供這些詳細信息...

+0

如果我提到guid加入事件表(由SSIS創建),它有什麼區別嗎? –

+0

如果你有另一個存儲單個細節的表比它對你有幫助,但是有什麼意義?你用2個表替換1個文件? –

+0

** grunt,snort ** –

1

這取決於您的插入和retreival模式。如果您在一次交易中將所有文件插入到記錄中,並且不需要查詢單個文件名,則應該使用逗號分隔文件。文件名列表是單個數據項,它不是非規格化的。

如果您在處理日誌記錄時將文件附加到日誌記錄中,或者如果您需要查詢/連接單個文件名,那麼這些是您的數據元素,您應該爲它們設置一個表。

總之:沒有逗號分隔的列表是可以的,除非你必須追加它,或者在某個時候分割它。

我剛剛介紹了文件名,但在這種情況下,其他類型的數據同樣適用。

+0

酷 - 即將投入一些時間在這...不想**撤消**明天 –

相關問題