2016-08-18 109 views
0

嗨,我有一個我正在開發的小型內部項目。目前它只服務於我的公司,但我想擴展它,以便它可以服務於多家公司。我現在的表格有USERSPROJECTS。我想開始存儲公司特定信息並將其與USERS表關聯起來。對於每個用戶,我都會有一個新的專欄,即他們所屬的公司。關於MySQL中表結構的建議

現在我還需要將該公司模板存儲在數據庫中。這些模板存儲爲字符串是這樣的:

「分水嶺」,「事件」,「自由」等

起初,我想每個單詞應該作爲一個獨立的行,但作爲我寫這個我想或許我應該將所有模板存儲在一個由逗號分隔的條目中(如上所述)。底線,我是新來的數據庫設計,我不知道如何最好地設置這一點。現在,我的表格結構如下所示:

PROJECTS 
Project Number | Title | exacttarget_id | Author | Body | Date 

USERS 
Name | Email | Date Created | Password 

在此先感謝您提供的任何見解。

+0

什麼是公司模板和與公司的關係?你知道關係數據庫中的'1到n'和'm到n'的關係嗎?如果不是,最好從以前的理論研究開始,因爲即使有人會給你一個解決方案,你也無法理解它。 –

+0

Elzo,如果你的意思是綁定公分母(如公司ID),那麼是的。如果你的意思是別的,我不確定... – garek007

+0

沒有。你應該有一些閱讀,這裏是一個開始http://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships-net-8561 –

回答

0

我會做的是創建2個表:

我想創建一個表爲不同的公司,讓我們把它叫做COMPANY

Company_id | Title | Logo | (Whatever other data you want) 

我還要創建一個表,上面列出的設置,讓我們把它叫做COMPANY_SETTINGS

Company_id | Key | Value 

這讓你在未來靈活地添加額外的設置,而不會影響你的現有的代碼。一個簡單的查詢會獲取所有設置,而不管當前版本使用多少。

SELECT Key, Value FROM COMPANY_SETTINGS WHERE Company_id = :companyId 

然後可以將te結果放入關聯數組中,以便在整個項目中輕鬆使用。

+0

這聽起來很完美,正是我需要知道的,只是一個組織我的表的好方法。謝謝! – garek007