㈠ 什麼是多值依賴
多值依賴屬4nf的定義范圍,比函數依賴要復雜得多。
在關系模式中,函數依賴不能表示屬性值之間的一對多聯系,這些屬性之間有些雖然沒有直接關系,但存在間接的關系,把沒有直接聯系、但有間接的聯系稱為多值依賴的數據依賴。
在函數依賴中,X與Y是否存在函數依賴關系,只需考察X,Y的兩組屬性,與別的屬性無關。而在多值依賴中,X與Y是否存在多值依賴還需看屬性Z。
多值依賴的舉例:
有這樣一個關系 <倉庫管理員,倉庫號,庫存產品號> ,假設一個產品只能放到一個倉庫中,但是一個倉庫可以有若干管理員,那麼對應於一個 <倉庫管理員,庫存產品號>有一個倉庫號,而實際上,這個倉庫號只與庫存產品號有關,與管理員無關,就說這是多值依賴。
為降低數據冗餘,作模式分解,使子模式的Z=Ø,僅有平凡多值依賴。對前例,子模式為R1(倉庫,雇員),R2(倉庫,物資)。
以上內容參考:網路—多值依賴
㈡ 關系資料庫多值依賴的性質:若X→Y,則X→→Y.怎麼理解
多值依賴裡面的Z是一組,這里一組可以是任意值,可為0,1,2,,,,
函數依賴雖然沒有規定Z的依賴問題,但它相當於默認Z為某值的情況
所以 「若X→Y,則X→→Y,反之則不正確」
(個人看法)
㈢ 資料庫設計過程包括幾個主要階段哪些階段獨立於資料庫管理系統哪些階段依賴於資料庫管理系統
資料庫設計階段包括五個階段,分別是:需求分析階段、概念結構設計階段、邏輯結構設計階段、物理設計階段、資料庫實施階段、資料庫運行和維護階段。
獨立於資料庫管理系統的是:需求分析階段,概念設計階段,邏輯設計階段,物理設計階段。
依賴於資料庫管理系統的是:實施階段,運行和維護階段。
資料庫設計是建立資料庫及其應用系統的技術,是信息系統開發和建設中的核心技術。由於資料庫應用系統的復雜性,為了支持相關程序運行,資料庫設計就變得異常復雜。
因此最佳設計不可能一蹴而就,而只能是一種「反復探尋,逐步求精」的過程,也就是規劃和結構化資料庫中的數據對象以及這些數據對象之間關系的過程。
(3)資料庫多值依賴擴展閱讀:
形成過程
1、需求分析階段:綜合各個用戶的應用需求(數據流程圖(DFD)。
2、概念設計階段:形成獨立於機器特點,獨立於各個DBMS產品的概念模式(E-R圖)。
3、邏輯設計階段:首先將E-R圖轉換成具體的資料庫產品支持的數據模型,如關系模型,形成資料庫邏輯模式;然後根據用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數據的外模式。
4、物理設計階段:根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成資料庫內模式。
㈣ 關於資料庫中的多值依賴~4NF為什麼允許平凡的多隻依賴呢
呵呵,資料庫關系分析,一般不好學啊!
R屬於第一範式,這一句一定對,呵呵,下次問的話是最高範式知道了嗎?
一張二維表就是一個第一範式,也就是表中不可分表!
R一定屬於第二範式,這個也很容易證明的,第二範式就是不允許有對主屬性的依賴,顯然,B與C都是依賴於A的都是對主屬性的依賴,當然,前提是主屬性是A。不允許有對非主屬性的依賴是判斷是否為第二範式的標准。
R也一定屬於第三範式,因為第二範式就是去掉了對主屬性的傳遞依賴,也就是說不允許有對主屬性的傳遞依賴。
而BCNF與4NF是對多值依賴與平凡依賴的定義,在非平凡依賴中,最高就是3NF了,事實上數據真正的還有5NF叫呢!
所以此處R最高為3NF!
㈤ 資料庫函數依賴與多值依賴區別幫幫忙…!
1、符合的範式不同:
多值依賴屬4nf(第四範式)的定義范圍,比函數依賴要復雜得多。在關系模式中,函數依賴不能表示屬性值之間的一對多聯系,這些屬性之間有些雖然沒有直接關系,但存在間接的關系,把沒有直接聯系、但有間接的聯系稱為多值依賴的數據依賴。
2、對屬性的依賴不同:
在函數依賴中,X與Y是否存在函數依賴關系,只需考察X,Y的兩組屬性,與別的屬性無關。而在多值依賴中,X與Y是否存在多值依賴還需看屬性Z。
(5)資料庫多值依賴擴展閱讀:
多值依賴的性質:
對稱性:使用上述定義的符號,若X→→Y,則X→→Z 。實例r的X或Z每增刪一個值,r就須同步增刪多條記錄。若X→Y,則X→→Y。故可把函數依賴看成多值依賴的特款。
多值依賴的特點:
允許X的一個值決定Y的一組值,這種決定關系與Z取值無關。多值依賴是全模式的依賴關系。多值依賴的缺點是數據冗餘太大。
函數依賴的特點:
不是指關系模式R的某個或某些關系實例滿足的約束條件,而是指R的所有關系實例均要滿足的約束條件。函數依賴是語義范疇的概念。只能根據數據的語義來確定函數依賴。資料庫設計者可以對現實世界作強制的規定。
㈥ 資料庫關系中含有多值依賴的時候,關系的碼怎麼求
(1)如果有屬性不在函數依賴集中出現,那麼它必須包含在候選碼中;
(2)如果有屬性不在函數依賴集中任何函數依賴的右邊出現,那麼它必須包含在候選碼中;
(3)如果有屬性只在函數依賴集的左邊出現,則該屬性一定包含在候選碼中。
(4)如果有屬性或屬性組能唯一標識元組,則它就是候選碼;
㈦ 資料庫多值依賴第四範式
第四範式搞定多值屬性問題!資料庫範式和EER緊密相關,單純範式意義不大。例如:課程代碼 老師 教科書001 Tom A001 Tom B001 Jim A001 Jim B教科書和老師都是多值屬性,所以分出來課程-老師(課程代碼,老師)課程-教科書(課程代碼,教科書)
㈧ 資料庫中的多值依賴是怎麼回事
一條記錄在整個表的唯一性由多個值組合決定!
㈨ 資料庫理論的疑問
一、函數依賴概念
函數依賴是從數學角度來定義的,在關系中用來刻畫關系各屬性之間相互制約而又相互依賴的情況。函數依賴普遍存在於現實生活中,比如,描述一個學生的關系,可以有學號、姓名、所在系等多個屬性,由於一個學號對應一個且僅一個學生,一個學生就讀於一個確定的系,因而當「學號」屬性的值確定之後,「姓名」及「所在系」的值也就唯一地確定了, 此時, 就可以稱「姓名」和「所在系」函數依賴於「學號」,或者說「學號」函數決定「姓名」和「所在系」,記作:學號→姓名、學號→所在系。下面對函數依賴給出確切的定義。
定義:設U{A1,A2,…,An}是屬性集合,R(U)是U上的一個關系,x、y是U的子集。若對於R(U)下的任何一個可能的關系, 均有x的一個值對應於y的唯一具體值,稱y函數依賴於x,記作x→y。 其中x稱為決定因素。進而若再有y→x,則稱x與y相互依賴,記作x←→y。例如表1.2所示「系」關系中:如果系名值是唯一的,即各系名均不相同,那麼有函數依賴集:
系代碼→系名,系代碼→系地址,系代碼→系電話,系代碼→系專業設置。
系名→系代碼,系名→系地址,系名→系電話,系名→系專業設置。
可見,系名與系代碼相互依賴,記作系名←→系代碼。
函數依賴中還可細分為多種函數依賴,分別介紹如下:
二、部分函數依賴
設R(U)是屬性集U上的關系,x、y是U的子集,x』是x的真子集,若x→y且x』→y,則稱y部分依賴x,記作X→PY。顯然,當且僅當x為復合屬性組時,才有可能出現部分函數依賴。
例如表1.6中, 顯然有課程號→課程名,課程號→開課教研室代碼。從另一角度看,只要課程號一定,同時課程名確定,開課教研室也就唯一確定,因此課程號+課程名→開課教研室代碼。 但它與前述課程號→開課教研室代碼是不同的,因為{課程號,課程名}存在真子集:「課程號」,課程號→開課教研室代碼,我們把課程號十課程名→開課教研室代碼稱為「開課教研室代碼」部分函數依賴於課程號+課程名。
三、完全函數依賴
設R(U)是屬性集U上的關系,x、y是U的子集,x』是x的真子集。若對於R(U)的任何一個可能的關系,有x→y但x』→y,則稱y完全函數依賴於x,記作X→FY。
所謂完全依賴是說明在依賴關系的決定項(即依賴關系的左項)中沒有多餘屬性,有多餘屬性就是部分依賴。
例如設關系模式R,R=R(學號,姓名,班號,課程號,成績),易知:
「(學號,班號,課程號)→成績」是R的一個部分依賴關系。 因此有決定項的真子集(學號,課程號),使得「(學號,課程號)→成績」成立,且「學號→成績」或「課程號→成績」成立,「(學號,課程號)→ 成績」是R的一個完全依賴關系。
四、傳遞函數依賴
設R(U)是屬性集U上的關系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,則x→z,稱z傳遞函數依賴於x,記作X→TZ。
例如在一個學校中,每門課均是某一位老師教,但有些老師可教多門課,則有關系「教學」如表3.1所示。
由以上關系不難分析,課程名→職工號、職工號→課程名,但職工號和其他屬性的函數關系中都是決定因素,即職工號→老師名、職工號→職稱,在這種情況下,老師名、職稱傳遞函數依賴於課程名。
表3.1 教學表
課程名
職工號
老師名
性別
出生日期
職稱
英語
T1
張平
男
55.6.3
教授
數學
T2
王文
女
62.10.5
副教授
C語言
T3
李迎
女
62.10.5
副教授
資料庫
T2
王文
女
62.10.5
副教授
下面進一步舉例說明。
例如設車間考核職工完成生產定額關系為W:
W(日期,工號,姓名,工種,定額,超額,車間,車間主任)
請畫出該關系中存在的所有類型的函數依賴。
解答:因每個職工每個月超額情況不同,而定額一般很少變動,因此為了識別不同職工以及同一職工不同月份超額情況,選定「日期」與「工號」兩者組合作為主關鍵字。為了直觀醒目,可以在關系框架中的主關鍵字下方劃一橫線。
用箭頭標出各屬性的依賴情況,如圖3.3所示:
圖3.3 關系中各屬性的依賴情況
圖中表明:「超額」完全函數依賴於主關鍵字;「姓名」、「工種」和「車間」僅依賴於關鍵字中的「工號」;因「定額」依賴於「工種」,故「定額」傳遞函數依賴於「工號」;因「車間主任」函數依賴於「車間」,因而「車間主任」傳遞函數依賴於「工號」。
㈩ 在學習SQL範式時,在多值依賴的性質中遇到這幾種符號問題,不知怎麼解決,希望幫忙。
理論書本上都有,我舉個簡單例子吧
比方說
(1)X是身份證的集合,那麼就需要知道名字、生日、籍貫等,
Y是駕駛證的集合,需要身份證X來得到Y,X-->-->Y,
Z是你的車型集合,不同的Y所駕駛的車型Z就不同,Y-->-->Z,
那麼,你的身份證集合X可以決定你的Z通過Y
(2)X,Y同上,Z變成你的銀行賬號集合,X-->-->Y, X-->-->Z, 則X可以同時決定Y,Z