2010-08-03 105 views
2

我有一個Java類表示一個事件,其中包含一些數據,還有一個不同類型的「參數」列表,因爲缺少一個更好的單詞。我想將它堅持到數據庫中,我對最好的方法感到困惑。在一個表中存儲不同的參數類型

編輯,試圖澄清我的隨筆:

根據的「事件」的類型,它可以像主機名,端口,時間,服務名稱,消息的時間參數,證書的消化(字節數組)等

我想最接近的平行就像存儲printf格式字符串和參數(雖然這不是我在做什麼)。存儲格式字符串很簡單,但存儲參數很棘手,因爲我需要在檢索時將它們恢復爲原始類型。

我試圖找出一種方法來存儲將是不同類型的參數。我應該將它們編碼爲一些字符串格式並將它們填充到varchar()中,然後在檢索事件的參數時進行解碼?

+0

那麼你是說你總是會有相同數量的參數,但是它們的類型會有所不同? – 2010-08-03 18:30:07

回答

1

以我的愚見來看,將所有內容存儲爲varchar/string是一個壞主意。如果您需要將各種數據類型存儲在數據庫中,請使用正確的類型存儲它們。這樣你的表示層可以處理格式。

+0

那麼,你會建議什麼?爲不同的參數類型分開表格?問題是,我將擁有與同一事件關聯的不同類型的數據。我不知道除了編碼爲'通用'格式以外,還有什麼可以保存類型信息,然後在檢索時進行解碼。 – 2010-08-03 18:25:36

+0

@sdeer - 您可以編輯您的原始問題並添加信息以幫助我們瞭解當前的情況嗎?到目前爲止,您正在尋找某種EAV(實體屬性值),但對於數據類型,它聽起來不對。 – JonH 2010-08-03 18:40:54

相關問題