Mysql
(MySQL)使用者表和配置文件分開,還是同一個表?
我正在創建一個任何人都可以註冊並成為作者的部落格網站。我希望每位作者都有自己的公開資料。我的主要問題是;最好有一個單獨的配置文件表,其中包含僅特定於配置文件頁面的欄位,或者我應該將這些配置文件欄位添加到一般使用者表中,如本範例所示:
CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `first_name` varchar(255) NOT NULL, `last_name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(32) NOT NULL, `sign_up_date` date NOT NULL, `activated` enum('0','1') NOT NULL, `admin` int(1) 0 , `bio` text NOT NULL, `profile_pic` text NOT NULL, PRIMARY KEY (`id`) )
在這種情況下,bio 和 profile_pic 都是配置文件欄位。這也只是一個例子,我計劃為一般使用者內容提供更多欄位,而不是為公共配置文件提供更多欄位,但隨著我進一步進入開發階段,這可能會改變。
抱歉,如果這是一個意見而不是最佳實踐問題。我是數據庫架構的新手。
讓他們在一起。您正在描述垂直分區,這通常僅在表變得非常寬時使用 - 數十或數百個欄位。除非有令人信服的理由將它們分開(例如,一個部落客可以有多個個人資料,用於不同的部落格、受眾或語言),否則沒有必要使架構複雜化。