想弄明白乙個概念就要首先明白為什麼需要這個概念,它能夠解決什麼實際問題。同理我們要弄明白什麼是資料庫正規化之前首先要弄明白資料庫正規化能夠幫助我們解決什麼問題。請看下面這張表:
這張表存在的問題有:
1.資料冗餘太大
系和系主任重複出現
2.更新異常
更換系主任後必須修改每一條記錄
3.插入異常
如果乙個系剛成立沒有學生,我們就無法把這個系的資訊存入資料庫
4.刪除異常
如果刪除所有學生那麼這個系和系主任的資訊也會丟失掉
面對以上問題有經驗的程式設計師可能會馬上想到把上面這一張表的關係分解成學生、院系、課程三個表,沒錯這個就是正規化的核心概念:乙個低一級正規化的關係模式,通過分解可以轉換為若干個高一級正規化的關係模式的合集。
具體的轉換過程如下圖:
程式設計師面試 資料庫
1 有個表tableqq,有整型的id項和字元型別的nickname項,這兩個項都不允許為空 1 寫出建立該錶的sql語句 2 找出nickname為qq的使用者,按id降序排列的sql語句 3 寫出刪除id為1234使用者記錄的sql語句 4 寫出新增id為5555,nickname為 1234 ...
黑馬程式設計師 資料庫概述
windows phone 7手機開發 net培訓 期待與您交流!用自定義檔案格式儲存資料的劣勢 dbms database management system,資料庫管理系統 和資料庫 平時談到 資料庫 可能有兩種含義 mssqlserver oracle等某種 dbms 存放一堆資料表的乙個分類...
黑馬程式設計師 資料庫的基本操作
windows phone 7手機開發 net培訓 今天主要學習了資料庫的基本操作。從建表開始,我們開始了處理資料集的旅行。資料庫,顧名思義就是乙個處理資料的倉庫,那麼資料的儲存肯定是要求有規律的。以乙個現實中的事情為例,我們要把學生的資訊儲存在其中,並且要求能對這些資料進行操作,那麼我們就需要用到...