2009-07-14 101 views
0

我有一個web應用程序,我正在製作存儲用戶信息以及關於應用程序的偏好。這是否值得分裂成兩個數據庫?我正在考慮一個帶有「id,useridfromFacebook,facebookRealName」(so,1,52052025295,Alex McP)字段的「用戶」表,然後用字段「id,useridfromFacebook,emails,colors,SomeQuoteorSomething」 ,52052025295,1,441155,'Only The Good Die Young')關於MySQL關係數據庫設計的快速提示

我從來沒有被教過關於數據庫設置的知識,但是這似乎會限制數據庫的負載,因爲當用戶通過身份驗證時並已安裝該應用程序,我只需要查詢偏好表if(isset($ fbauthboolean))或其他。

想法?我可以澄清這一點嗎?

謝謝!

我在原始發帖中混淆了「數據庫」和「表」這兩個字。編輯。我只有一個具有多個表的數據庫,但都與同一用戶有關。一個表包含名稱的數據,以及其他表將存儲偏好類型的數據

+0

請注意,來自Facebook API的用戶信息在允許存儲的內容上受到嚴格限制。確保你的應用程序被允許存儲諸如他們的'facebookRealName'之類的東西。 – ceejayoz 2009-07-14 02:48:52

回答

2

我不認爲你需要兩個數據庫,但您可能需要在同一模式中使用不同的表格。

我真的很喜歡Toby Teorey的"Database Modeling and Design"。看看你是否同意。

我也喜歡Database Programmer blog。非常有幫助,很好的寫作。

如果您不想購買書籍,可能需要Google進行規範化處理。

0

爲了您的喜好表,我會去像

Preferences(pref_id, facebook_id, preference, value) 

凡偏好就像「報價」,一些代碼「AboutMe」等,並且值是一個字符串。

你甚至可以有一個preference_value表「報價」,「滑稽報價」 /'ABOUTME,‘關於我’的名單,等