我有一箇舊的數據庫掉在我的膝蓋,它不是很好的建模。蹩腳的建模是在一個過於複雜的軟件應用程序中處理的,但我需要更加緊密地處理數據庫。拆分單元格中的字符串並創建多行
,而不是如何理解外鍵關係工作,數據庫建模這樣的:
Table1
包含ID_1
,Value
Table2
包含ID_2
,AnotherValue
,ID_1s
其中ID_1
是一個INT和ID_1s
是一個varchar包含一個管道分隔的ID_1引用字符串(即'1 | 4 | 5',這意味着它被引用到table1.ID_1爲1,4或5的行)
現在,我需要連接這兩個表,而不是通過它們來分析應用程序並將它們鏈接起來編程。同時,我不能修改數據庫模型本身,因爲它會破壞應用程序。
Bsaically,我需要模仿與我有什麼多對多的關係。
有沒有人有一個這樣做的有點堅實的方式的想法?
(在未來,還有就是基本上重新設計數據庫,並使用視圖作爲應用程序的抽象計劃。)
怎麼樣創建,通過拆分爲varchar表函數「|」字符並從這個函數執行連接? –
是這樣的嗎? http://stackoverflow.com/questions/314824/t-sql-opposite-to-string-concatenation-how-to-split-string-into-multiple-reco – xQbert
你正在開發新的代碼將使用你的新的虛擬多一對多的關係?如果是這樣,更改數據模型有什麼限制?爲什麼添加新視圖是個問題? – Serg