通過示例理解資料庫相關概念(四 正規化)

2021-09-27 16:29:56 字數 2154 閱讀 1325

關係模式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 結構化查詢語言,用於和資料庫通訊的語言,幾乎...