我正在爲一個朋友設計一個網站,我不知道什麼是最好的方式去關於我的一個數據庫表。 爲了給你一個想法,這大約是我有什麼我應該正常化這個MySQL表
Table: member_profile
`UserID`
`PlanID`
`Company`
`FirstName`
`LastName`
`DOB`
`Phone`
`AddressID`
`website`
`AllowNonUserComments`
`AllowNonUserBlogComments`
`RequireCaptchaForNonUserComments`
`DisplayMyLocation`
過去四年 AllowNonUserComments
AllowNonUserBlogComments
RequireCaptchaForNonUserComments
DisplayMyLocation
(甚至更多這樣的布爾字段在將來增加)會根據用戶偏好控制某些網站功能。
基本上我不知道我是否應該將這些領域的
新表:member_profile_settings
`UserID`
`AllowNonUserComments`
`AllowNonUserBlogComments`
`RequireCaptchaForNonUserComments`
`DisplayMyLocation`
,或者我應該離開它是member_profile表的一部分因爲每個成員都將擁有自己的設置。
從長遠來看,目標約爲10萬名成員,短期內爲10萬至20萬。我主要關心的是數據庫性能。
雖然我在這問題#2)這將是有意義的移動部件,例如地址街道,城市,州,郵編,電話等到member_profile表中的聯繫信息,而不是有地址表和有地址ID像我目前有。
謝謝
令人驚歎。 tnx的快速回復。關於地址表。我忘了提到用戶可以有多個地址。計費/運輸/地址將映射到某個用戶定義的事件發生在某個地方....等等。 addressID只是映射到默認地址(billing?),也許我會在member_profile表中有另一個字段,例如Default_Shipping_AddressID。這會是一個糟糕的設計嗎? – robert 2011-03-17 04:14:29