使用一對一表關係而不是簡單地將所有數據存儲在一個表中的優點是什麼?我理解並使用一對多,多對一和多對多的方式,但實現一對一關係似乎是一項單調乏味且不必要的任務,特別是如果您使用命名關聯(php)對象到數據庫表的約定。使用一對一表關係的優點是什麼? (MySQL)
我無法在網絡或本網站上找到任何可以提供一對一關係的真實世界示例。起初我認爲將用戶分成兩個表格是合乎邏輯的,例如,將兩個表格分開,其中一個包含像關於我的個人資料頁面的公共信息,另一個包含諸如登錄/密碼等私人信息。但是爲什麼要去通過使用不必要的JOINS的所有麻煩,只要選擇哪個字段可以從該表中選擇呢?如果我顯示用戶的個人資料頁面,顯然我只會選擇ID,用戶名,電子郵件,aboutme等,而不是包含他們的私人信息的字段。
任何人都在意用一些一對一關係的實際例子來啓發我嗎?
-1表示在關係數據庫中使用裝飾器模式是一個好主意。 – symcbean 2010-03-26 12:21:16
是的,我的意思是在byronh給出的意義上延伸。但是,我沒有說這是一個好主意,我只是說它可能是一個原因。如果一件事情是好的,它也取決於上下文。有時我不想要,我也不能更改第三方數據庫,所以我用一對一的關係「擴展」那個表 – 2010-03-26 22:08:47
是的,還要注意ALTER TABLE在大數據行(數千行)表中添加一列,可能需要很多時間(小時)。與此同時,桌子被鎖定,系統管理員可能在夜間醒來...... – Qlimax 2015-07-21 12:42:13