從這張表可以看到存在冗餘,《西遊記,孫悟空》和《葫蘆娃,火娃》出現兩次,在資料量更大的情況下可能出現更多次。假設用這張表,然後候選鍵為什麼?你分析一下,小朋友的id肯定是候選鍵(候選鍵的概念,請翻閱資料庫教材)之一,就可以了麼。貌似不行,因為動漫電影不由這個決定,那麼動漫人物加上作為候選鍵之一,根據這個候選鍵(小朋友名字,動漫人物),你會發現動漫電影區域性依賴了動漫人物,因為動漫人物確定了,那麼電影名字也定了。所以這裡要分解。但如果非要將候選鍵只設小朋友名字,則電影名字->動漫人物->小朋友id,很明顯這是個傳遞依賴。正規化的提出是從消除冗餘的角度出發,但是我們還要研究語義的正確性即保證這樣分解後,再連線不會丟失或懸掛的記錄。
一正規化:
上圖定義的即為一正規化,簡單明瞭。
二正規化:
直觀上將冗餘的分解出去(消除區域性依賴)。
三正規化:
消除傳遞依賴。傳遞依賴有三種形式:
資料庫總結
剛剛結束了short brain 英語學習的專案,趕快利用這段時間把期末考試期間拉下的資料庫的學習趕一下吧。雖然相隔時間不長,但是我已經對資料庫的概念和了解有一些模糊了。於是翻開了以前的相關筆記複習了一下,幫我喚起了部分的記憶。我在資料庫學習的初期參考了vb課本以及 sql入門經典 並且在學習的初期...
資料庫總結
一 常見資料庫 1 oracle是甲骨文的資料庫產品2 sql server是微軟的資料庫產品3 mysql是一種開源 的關係型資料庫管理系統 資料庫管理系統 dbms 資料庫管理員 dba 資料庫系統 dbs 二 1 dml 資料操作語言 用來插入 修改和刪除資料庫中的資料2 ddl 資料定義語言...
資料庫總結
1.查詢當前使用者下所有表 select from user tables 2.查詢當前使用者下所有表的數量 select count from user tables 3.查詢表中的列 屬性字段 select 列名1,列名2,列名3 from 表名 4.oracle中能夠在列屬性中進行加減乘除。原...