日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

数据库随笔-1NF,2NF,3NF详解

發布時間:2023/12/2 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 数据库随笔-1NF,2NF,3NF详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫隨筆-1NF,2NF,3NF詳解

  • 基礎概念
  • 通過表的更新來舉例說明
  • 總結

基礎概念

1. 第一范式(1NF):每一列都是不可分割的原子數據項
2. 第二范式(2NF):在1NF的基礎上,非碼屬性必須完全依賴于碼(在1NF基礎上消除非主屬性對主碼的部分函數依賴)* 幾個概念:1. 函數依賴:A-->B,如果通過A屬性(屬性組)的值,可以確定唯一B屬性的值。則稱B依賴于A例如:學號-->姓名。  (學號,課程名稱) --> 分數2. 完全函數依賴:A-->B, 如果A是一個屬性組,則B屬性值得確定需要依賴于A屬性組中所有的屬性值。例如:(學號,課程名稱) --> 分數3. 部分函數依賴:A-->B, 如果A是一個屬性組,則B屬性值得確定只需要依賴于A屬性組中某一些值即可。例如:(學號,課程名稱) -- > 姓名4. 傳遞函數依賴:A-->B, B -- >C . 如果通過A屬性(屬性組)的值,可以確定唯一B屬性的值,在通過B屬性(屬性組)的值可以確定唯一C屬性的值,則稱 C 傳遞函數依賴于A例如:學號-->系名,系名-->系主任5. 碼:如果在一張表中,一個屬性或屬性組,被其他所有屬性所完全依賴,則稱這個屬性(屬性組)為該表的碼例如:該表中碼為:(學號,課程名稱)* 主屬性:碼屬性組中的所有屬性* 非主屬性:除過碼屬性組的屬性3. 第三范式(3NF):在2NF基礎上,任何非主屬性不依賴于其它非主屬性(在2NF基礎上消除傳遞依賴)

通過表的更新來舉例說明

  • 初始表
  • 遵循第一范式:將表的每一列都變成不可分割的原子項。

初始表存在的問題:
1.存在非常嚴重的數據冗余:姓名,系名,系主任;
2.數據添加存在問題:添加新開設的系和系主任時,數據不合法;
3.數據刪除存在問題:張無忌同學畢業了,刪除數據會將系的數據一起刪除。
在此表中,碼為(學號,課程名稱)。而第二范式的概念為:在1NF的基礎上,非碼屬性必須完全依賴于碼。而在此表中姓名,系名,系主任都是部分依賴于碼,所以得消除。

  • 遵循第二范式,消除部分依賴的屬性。分為兩個表,分別為選課表與學生信心表。
    1. 學生信息表
    2. 學生表

學生表依舊存在的問題:只想要添加系名與系主任時,必須添加學生學號與姓名。假設當學校開設新系時,這樣的設計不合理。

  • 遵循第三范式,消除傳遞依賴。例如上述學生表,系名依賴于學號,而系主任又依賴于系名。因此得消除這種傳遞依賴。
    1. 系表
    2. 學生表

總結

  • 根據上述過程,根據1NF,2NF,3NF相應規則將一個初始表分為了各子表。在設計數據庫表時,根據各表之間的一對一,一對多,多對多關系,設計相應的外鍵約束,從而可以設計出一個比較合理的數據庫表。

總結

以上是生活随笔為你收集整理的数据库随笔-1NF,2NF,3NF详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。