2009-01-15 62 views
1

我的一位朋友遇到了一個大型mySQL數據庫的問題,並且在多個表上存在大量的重複列。相當困難的MySQL問題

爲了更好地描述這個問題,數據庫提供FTP,Postfix,webmail等多種服務,幾乎可以在普通Linux服務器上運行所有常用服務,並且所有這些服務都使用此數據庫。問題是大多數服務不知道如何從多個表中讀取數據,所以如果使用多個表項(如username,pasword,switch)必須在這些服務特定的表中重複使用。 Ex。 hing Ex。 UserProfile表包含所有用戶相關數據。 (用戶名,密碼) ACL表包含訪問相關數據(AccountEnabled,FTPEnabled,AccessType) FTP表包含FTP相關數據(配額,目錄等) 我認爲你得到的圖片... 所以如果我需要ftp服務我必須閱讀UserProfile表,ACL表和FTP表,但由於我無法從多個表讀取數據,因此我只能讀取我需要的字段(例如UserName,Password和FTPEnabled)的ftp表。

現在,他們正試圖創建一個應用程序來管理所有這些服務,可以想象,這是迄今爲止手工完成的,而服務器正在服務超過幾百個用戶。所以,現在他們正試圖創建一個管理所有這些表的管理界面。問題是必須寫入的30%是重複數據。例如,用戶名和密碼必須在不同的表中寫入6次。

有沒有可能用「Symlink」或類似的東西創建一個表? 這樣你就可以將所有的數據放在一個臨時表中,所有服務都可以訪問並動態更新。還是有其他「聰明」的方式,你可以想到,使所有這一切更容易?

預先感謝您的寶貴時間, Titel的

回答

3

你在找什麼叫做VIEW

通過這種方式,您可以擁有一個包含所有信息的中央表格,每個應用程序具有一個正確結構的視圖。

0

爲什麼不能服務訪問多個表?

如果您確實想要「符號鏈接」表,請查看視圖。