關係模式r的每一屬性值都是不可再分的最小資料單位
關係employee
職工號姓名**
e01張無忌
6591881(o)
e01張無忌
6591882(h)
e01張無忌
18711111110(t)
e02趙敏
18711111112(t)
e03周芷若
6591885(o)
e03周芷若
18711111113(t)
關係employee就不滿足第一正規化:
解決辦法進行拆分:
滿足1nf的employee
職工號姓名工作號
家庭座機
手機號e01
張無忌6591881(o)
6591882(h)
18711111110(t)
e02趙敏
18711111112(t)
e03周芷若
6591885(o)
18711111113(t)
滿足第一正規化,並且非主屬性完全依賴於主屬性。(滿足第一正規化,消除部分依賴)
關係grade 學號
課程成績
學分201901
計算機網路703
201901
模式識別803
201901
影象處理902
201902
計算機網路853
201903
影象處理
1002
201903
資料庫30
1成績 完全依賴於 主屬性(學號,課程),學分卻 部分 依賴於 主屬性(學號,課程)。故,不滿足2nf。
解決辦法:拆分成兩個關係模式。
成績sc 學號
課程成績
201901
計算機網路
70201901
模式識別
80201901
影象處理
90201902
計算機網路
85201903
影象處理
100201903
資料庫30
課程course 課程
學分計算機網路
3模式識別
3影象處理
2資料庫
1不拆分相對於拆分所造成的後果:
資料冗餘:重複輸入「學分」屬性。
更新異常:調整一門課程的學分時,很麻煩。
插入異常:如計畫增加新課程,學號和成績屬性該怎麼辦?為空嗎?
還有句話,值得好好體會:第二正規化其實就是外來鍵的實際運用。
滿足二正規化,消除傳遞依賴。
關係student 學號
姓名學院
學院位址
201901
數數計算機
計算機路0號
201902
據據數學
數學路1號
201903
庫庫物理
物理路2號
顯然滿足第一正規化;主屬性 學號,屬於單屬性肯定不存在部分依賴,滿足第二正規化;但是 學院完全依賴於學號,學院位址完全依賴於學院,故傳遞依賴 學院位址完全依賴於學號。
解決辦法:拆分。
關係student 學號
姓名學院
201901
數數計算機
201902
據據數學
201903
庫庫物理
關係dept 學院
學院位址
計算機計算機路0號
數學數學路1號
物理物理路2號
這種拆分的好處跟第二正規化拆分的好處是一樣的。
個人理解:第一二三正規化,其實就是要使每個表盡最大可能包含只是屬於自己的屬性列。
說是對3nf的進一步擴充。
1.非主屬性對每乙個碼都是完全依賴
2.所有非主屬性對每乙個不包含它的碼,也是完全依賴
3.沒有任何屬性完全依賴於非碼的任何一組屬性
關係stc 學號
教師工號
課程號201901
t01c01
201901
t02c02
額。。。。。。。。暫時不知道這種表有什麼用?等用到了再仔細研究吧。先做記錄。
初步了解資料庫的相關概念 前言
1.什麼是資料庫 資料庫就是長期儲存在計算機內 有組織的 可共享的資料集合。本質就是在記憶體中開闢的一塊 資料儲存單元!2.什麼是資料庫管理系統 dbms 因為我們無法直接對資料庫 記憶體 進行操作,所以在此基礎上開發了一款友好性gui軟體,使用者可以直接通過該軟體間接實現對底層資料庫的操作,是建立...
徹底理解資料庫事務
事務 transaction 一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種資料項的乙個程式執行單元 unit 在計算機術語中,事務通常就是指資料庫事務。乙個資料庫事務通常包含對資料庫進行讀或寫的乙個操作序列。它的存在包含有以下兩個目的 1 為資料庫操作提供了乙個從失敗中恢...
資料庫相關概念
一 資料庫好處 可以持久化資料到本地 磁碟 使用結構化查詢,比較容易管理 二 資料庫概念 db 資料庫,儲存資料的容器 dbms 資料庫管理系統,又稱為資料庫軟體或者資料庫產品,用於建立或者管理 db。mysql oracle sqlserver sql 結構化查詢語言,用於和資料庫通訊的語言,幾乎...