對於某個應用程序,我們捕獲某些表單數據。用戶可以隨意包含各個部分。關係數據庫中的自定義類型系統
每個部分需要捕獲的數據類型是每部分自定義的。有時他們是簡單的鍵值對詞典。有時它們包含具有一對多或多對多關係的子組件。雖然部分的數量可能會增加,但每個部分的模式都是已知的。
過去,表單部分是固定的,所以我們可以對每個部分的表結構進行硬編碼。我們沒有實現部分的通用方法 - 它是每個新部分的新數據訪問和表格。
但是,新的要求說,用戶應該能夠設計自己的部分。爲了避免動態操縱數據庫表,我們希望遷移到可以在數據中表示這些部分的高階模式。
如果數據只是單值字段的鍵值對,則可以使用Sections表和SectionFields表來實現。但是由於可能通過多值域和複雜類型的域來嵌套,我相信我們應該把它作爲一個基本的類型系統來處理。我不認爲它需要繼承。
我沒有重新從頭開始重新創建,而是假定已經在架構中完成了存儲在數據庫中的高效類型系統的工作。任何想法/指導?
謝謝。
嗨邁克爾,感謝您花時間回覆。我也在另一個答案中寫了這個 - 雖然這些部分可以是用戶定義的,但它們在該用戶的應用程序中一直使用。正如你所說,XML blob可能是要走的路。 –