Mysql

(MySQL)使用者表和配置文件分開,還是同一個表?

  • May 12, 2015

我正在創建一個任何人都可以註冊並成為作者的部落格網站。我希望每位作者都有自己的公開資料。我的主要問題是;最好有一個單獨的配置文件表,其中包含僅特定於配置文件頁面的欄位,或者我應該將這些配置文件欄位添加到一般使用者表中,如本範例所示:

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 都是配置文件欄位。這也只是一個例子,我計劃為一般使用者內容提供更多欄位,而不是為公共配置文件提供更多欄位,但隨著我進一步進入開發階段,這可能會改變。

抱歉,如果這是一個意見而不是最佳實踐問題。我是數據庫架構的新手。

讓他們在一起。您正在描述垂直分區,這通常僅在表變得非常寬時使用 - 數十或數百個欄位。除非有令人信服的理由將它們分開(例如,一個部落客可以有多個個人資料,用於不同的部落格、受眾或語言),否則沒有必要使架構複雜化。

引用自:https://dba.stackexchange.com/questions/101337