資料庫的表的設計規範,以及資料庫正規化的概念

2021-09-19 07:58:14 字數 1310 閱讀 9274

部分函式依賴:設x,y是關係r的兩個屬性集合,存在x→y,若x』是x的真子集,存在x』→y,則稱y部分函式依賴於x。

簡單說:a——>(推出)b,如果a是乙個屬性組的話,則b屬性只需要依賴a屬性組中的某些屬性就可以推出b,就是說b部分依賴於a

例子:學生資訊表中有(學號,課程名稱,姓名),學號可以推出,但是課程名稱不能推出姓名,也就是說姓名部分依賴於(學號,課程名稱)

②完全函式依賴:設x,y是關係r的兩個屬性集合,x』是x的真子集,存在x→y,但對每乙個x』都有x』!→y,則稱y完全函式依賴於x

簡單說:a——>b,如果a是乙個屬性組的話,則b必須依賴a屬性組中的所有屬性才可以推出b,就是說b完全依賴於a。

例子:學生表中有(學號,課程名稱,分數),單一的學號並不能推出分數,單一的課程名稱也不能推出分數,只有學號和            課程名稱一起才能推出分數,所以說分數完全依賴於(學號,課程名稱)

③傳遞函式依賴:設x,y,z是關係r中互不相同的屬性集合,存在x→y(y !→x),y→z,則稱z傳遞函式依賴於x

簡單說:a——>b,b——>c,如果a屬性組可以確定唯一b屬性的值,b屬性組可以確定唯一c屬性的值,則說c傳遞依賴於a

例子:學生表中有(學號,系主任,系名),學號可以推出系主任,系主任可以推出系名,所以說系名傳遞依賴於學號

一正規化:表中屬性都是單一屬性,不可再分

下圖就是不滿足一正規化的表

應該改為如下圖所示:

二正規化:在一正規化的基礎上,消除部分函式依賴

三正規化:在一二正規化的基礎上,消除傳遞函式依賴

為什麼需要滿足正規化:

不滿足正規化會出現資料冗餘、資料插入異常、資料刪除異常以及更新異常等問題

表的設計基本上滿足第三正規化就足夠了

資料庫設計規範

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

資料庫設計規範

csm簡寫會方便很多 就不要用member id,一致性方便大家理解 system.currenttimemillis 進行儲存text查詢是會產生臨時磁碟檔案,效能差進行擷取儲存型別 占用位元組 範圍tinyint 1 128 127 smallint 2 32768 32767 mediumin...

資料庫設計規範

1 基本需求 某學校設計學生教學管理系統。學生實體包括學號 姓名 性別 生日 民族 籍貫 簡歷 登記照,每名學生選擇乙個主修專業,專業包括專業編號和名稱,乙個專業可以屬於 乙個學院,乙個學院可以有若干個專業。學院資訊要儲存學院號 學院名 院長。教學管理還要管理課程表和學生成績。課程表包括課程號 課程...