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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件设计师 - 函数依赖 和 范式

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件设计师 - 函数依赖 和 范式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1.函數依賴:
    • 1.0.前提范例:
    • 1.1.函數依賴定義:
    • 1.2. 部分依賴
    • 1.3. 完全依賴
  • 2.范式
    • 2.1. 碼、候選碼、主碼
    • 2.2.主屬性和非主屬性
    • 2.3.第一范式(1NF)
    • 2.4.第二范式(2NF)
    • 2.5.第三范式(3NF)
    • 2.6.BC范式(BCNF)
  • 3.函數依賴推導規則(todo,沒看懂)

1.函數依賴:

1.0.前提范例:

教育局管理系統中學生表:

學生表(學生id,身份證號,姓名,性別,學號,學校id,學校名稱)

學生id,可以唯一確定一條學生信息;
身份證號,可以唯一確定一條學生信息;
學號+學校id,可以唯一確定一條學生信息(同一學校內的學號是唯一的);

1.1.函數依賴定義:

函數 y = f(m),如果每個x都有唯一y值與之對應,
那么稱:m決定y,或y依賴于m,
寫作:m -> y,畫作:

例如:
1.函數 :y = m2,每個m取值,y都有唯一值與之對應,所以:
m決定 yy 依賴于 m, 記做: m -> y。
2. 對應0.全局例子中:學生id -> 姓名(姓名依賴于學生id),身份證號->姓名

1.2. 部分依賴

對于1.1.函數依賴定義中:單獨一個m,就可以唯一確定y的值,那么用另一個無關變量n和m的組合值,必定也可以唯一確定y的值。
那么稱:(m,n)決定y,或y部分依賴于m,
寫作:(m,n) -> y,畫作:

例如:
1.函數 :y = m2,每個m取值,y都有唯一值與之對應,此時還有另一個函數 z = n2,那么每個唯一的m和n,y也有唯一值與之對應,所以:
(m,n)決定 yy 部分依賴于(m,n), 記做: (m,n) -> y
2. 對應0.全局例子中:(身份證號,性別) -> 姓名(姓名部分依賴于身份證號和性別)

1.3. 完全依賴

函數 y = f(m,n),如果確定的m和n,都有唯一y值與之對應,
那么稱:(m,n)決定y,或y完全依賴于(m,n),
寫作:(m,n) -> y ,畫作:

例如:
1.函數 :y = m2+n2,單獨一個m或n的值,不能唯一確定y的值,但是(m,n)的組合值可以唯一確定y的值。
(m,n) 決定 yy 完全依賴于 (m,n), 記做: (m,n) -> y。
2. 對應0.全局例子中:(學校id,學號) -> 姓名(姓名部分完全于學校id和學號)。

2.范式

2.1. 碼、候選碼、主碼

碼、候選碼、主碼的說明
對應在數據庫中的每一條數據中:
:能唯一確定一條數據的一個屬性或一組屬性(可以包含冗余屬性);
候選碼:能唯一確定一條數據的一個屬性或一組屬性(消除冗余屬性);
主碼:主碼是唯一的,從候選碼中選出一個作為主碼;

2.2.主屬性和非主屬性

主屬性:在候選碼中的屬性;
非主屬性:不在候選碼中的屬性;

2.3.第一范式(1NF)

每個屬性都是不可分割的原子值;

2.4.第二范式(2NF)

消除非主屬性對候選鍵的部分依賴;

學生表(學生id,身份證號,姓名,性別,學號,學校id,學校名稱)

問題:學生表中,(學校id,學號)是一個候選鍵,但是 ,學校名稱部份依賴(學校id,學號),所以就不符合2NF。
解決方法:把(學校id,學校名稱)單獨抽取成一個學校表,就符合2NF了。

學生表(學生id,身份證號,姓名,性別,學號,學校id) 學校表(學校id,學校名稱)

2.5.第三范式(3NF)

消除非主屬性對候選鍵的傳遞依賴

學生表(學生id,姓名,性別,學校id,學校名稱)

問題:學生表中,學生id 是一個候選鍵,有學校姓名 傳遞依賴 學生id,不符合3NF

學生id-> 學校id (學校id 依賴 學生id) 學校id -> 學校名稱 (學校姓名 依賴 學校id) 所以: 學校姓名 傳遞依賴 學生id

解決方法:把(學校id,學校名稱)單獨抽取成一個學校表,就符合3NF了。

學生表(學生id,姓名,性別,學校id) 學校表(學校id,學校名稱)

2.6.BC范式(BCNF)

消除主屬性對候選鍵的傳遞依賴(列出關系中所有的函數依賴,依賴左側都是候選鍵)

3.函數依賴推導規則(todo,沒看懂)

總結

以上是生活随笔為你收集整理的软件设计师 - 函数依赖 和 范式的全部內容,希望文章能夠幫你解決所遇到的問題。

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