如何構建關系型數(shù)據(jù)庫

簡書 賈小強
轉載請注明原創(chuàng)出處,謝謝!

關系型數(shù)據(jù)庫是由多張關系表組成的,表之間通過一對多關系不斷連接,數(shù)據(jù)庫可能由幾張甚至上百張的表連接而成,那么如何構建一個看似復雜的關系型數(shù)據(jù)庫呢?

我們知道通過SQL語句中的JOIN實際上可以將多張表連接成一張?zhí)摂M表,也就說可以將不同表的屬性連接到一起形成一個表頭,從這里個角度逆向思考,當我們發(fā)現(xiàn)一行由多個屬性組成的記錄時,也就說可以拆分成多張關系表

比如有一行記錄: field1,field2,field3,field4,field5,field6,然后可以按照2NF,3NF拆分進行垂直查分

  • field1 2只依賴主鍵field1,那么分成一張表A
  • field3 4只依賴主鍵field3,那么分成一張表B
  • field5 6只依賴主鍵field5,那么分成一張表C

然后可以形成如下圖可能形式的連接情況


ER1.png

現(xiàn)在假設B表還可以繼續(xù)拆分成3張表,于是又可以形成如下形式的連接情況


ER2.png

推論:按照上面的方式可以將一行記錄逐步拆成任意復雜度的關系表

Happy learning !!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容