資料庫中的函式依賴資料庫中完全函式依賴,部分函式依賴傳遞函式依賴,是什麼

2021-03-04 08:15:18 字數 7044 閱讀 1385

1樓:匿名使用者

上述模式實際上對應乙個資料庫表,該錶由sno,sdept,mn,**ame,g欄位所構成,由於有函式依賴關係f,於是該關係(表)的主碼是(sno,**ame),這意味著sno,**ame皆不可為空,但現在學生沒有選課,**ame為空,違反了主碼不為空的原則,所以與之相關的記錄是不能寫入資料庫的,同時,由於系中尚沒有其他的學生,就是表中沒有系及其負責人的資訊,故與該學號相關的系、負責人是不能寫入資料庫的。

2樓:追夢ren灰狼

我給你推薦一本書吧,叫做,《資料庫系統概論》!

對於你所說的問題,我是這樣理解的:

sno可以推導出sdept, 有sdept可以推導出mn,但是你只有sno,是無法推導出g的,難道不是嗎?推導出g需要有**ame,可是你卻告訴只有sno,沒有選課,所以就無法得到,對應功課的成績!這個時候,我們就要來討論primary key,我想你肯定知道主鍵是什麼意思了,因為你已經學到了這裡,所以對資料庫肯定有一定的了解,好了,不說廢話,在f中,sno不能作為主鍵,因為只有sno的話,卻無法得到g,(原因,前面已經講過!

),只有sdept,就跟更沒有辦法得到g了,不是嗎?只有通過(sno, **ame)聯合才能得到g,而在這之中,有sno,所以,通過sno可以推導出,sdept,而通過sdept,可以推導出mn,不是嗎?所以總結得出,primary key 只能是(sno , **ame)。

乙個表中主鍵沒有值,那是肯定不可以的!所有資料就不可能插於進去!

我是學資料庫的,若是有什麼疑問,我們可以深入談論!

對於給你推薦的那本書,是我作為學生時,看的書,裡面講的很好,對於初學者而言,是一本不錯的書!能夠幫助你你在資料庫這條道路上走得更遠!祝你好運!

資料庫中 完全函式依賴,部分函式依賴 傳遞函式依賴, 是什麼?

3樓:匿名使用者

1.資料依賴

資料依賴指的是通過乙個關係中屬性間的相等與否體現出來的資料間的相互關係,其中最重要的是函式依賴和多值依賴。

2.函式依賴

設x,y是關係r的兩個屬性集合,當任何時刻r中的任意兩個元組中的x屬性值相同時,則它們的y屬性值也相同,則稱x函式決定y,或y函式依賴於x。

3.平凡函式依賴

當關係中屬性集合y是屬性集合x的子集時(y?x),存在函式依賴x→y,即一組屬性函式決定它的所有子集,這種函式依賴稱為平凡函式依賴。

4.非平凡函式依賴

當關係中屬性集合y不是屬性集合x的子集時,存在函式依賴x→y,則稱這種函式依賴為非平凡函式依賴。

5.完全函式依賴

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

6.部分函式依賴

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

7.傳遞函式依賴

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

4樓:匿名使用者

1、傳遞函式依賴

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

2、完全函式依賴

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

3、部分函式依賴

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

所謂函式依賴是指關係中乙個或一組屬性的值可以決定其它屬性的值。函式依賴正象乙個函式 y = f(x) 一樣,x的值給定後,y的值也就唯一地確定了。

如果屬性集合y中每個屬性的值構成的集合唯一地決定了屬性集合x中每個屬性的值構成的集合,則屬性集合x函式依賴於屬性集合y,計為:y→x。屬性集合y中的屬性有時也稱作函式依賴y→x的決定因素(determinant)。

例:身份證號→姓名。

5樓:

a->b,ac->d,bd->c,d->a

部分依賴:b部分依賴於ac ac->d,a->b 得到 ac->b

傳遞依賴:a傳遞依賴於ac ac->d, d->a 得到 ac->a

資料庫中 函式依賴 是什麼?

6樓:飛☆愛

所謂函式依賴是指關係中乙個或一組屬性的值可以決定其它屬性的值。函式依賴正象乙個函式 y = f(x) 一樣,x的值給定後,y的值也就唯一地確定了。

如果屬性集合y中每個屬性的值構成的集合唯一地決定了屬性集合x中每個屬性的值構成的集合,則屬性集合x函式依賴於屬性集合y,計為:y→x。屬性集合y中的屬性有時也稱作函式依賴y→x的決定因素(determinant)。

例:身份證號→姓名。

資料庫函式依賴問題 5

7樓:匿名使用者

1:.將f中的所有依賴右邊化為單一元素

ab->c c->a bc->d acd->b be->c ce->f ce->a cf->b cf->d

d->e d->f

2:去掉f中所有冗餘依賴關係.做法為從f中去掉某關係,如去掉(x->y),然後在f中求x+,如果y在x+中,則表明x->是多餘的.需要去掉.

去掉ab->c 得到ab+={} 所以ab->c 不是冗餘的函式依賴

再依次去掉 1中其餘的函式依賴,計算去掉依賴左邊屬性的必包,發現

acd->b,ce->a,cf->d是冗餘的函式依賴,

ab->c c->a bc->d be->c ce->f cf->b d->e d->f

3:去掉f中的所有依賴左邊的冗餘屬性.作法是屬性中去掉其中的乙個,看看是否依然可以推導

沒有 所以ab->c c->a bc->d be->c ce->f cf->b d->e d->f

8樓:涼念若櫻花妖嬈

設r(u)是乙個屬性集u上的關係模式,x和y是u的子集。

若對於r(u)的任意兩個可能的關係r1、r2,若r1[x]=r2[x],則r1[y]=r2[y],或者若r1[x]不等於r2[x],則r1[y]不等於r2[y],稱x決定y,或者y依賴x。

所謂函式依賴是指關係中乙個或一組屬性的值可以決定其它屬性的值。函式依賴正象乙個函式y = f(x)一樣x的值給定後,y的值也就唯一地確定了。

資料庫函式依賴與多值依賴區別?幫幫忙…!

9樓:匿名使用者

1、符合的正規化不同:

多值依賴屬4nf(第四正規化)的定義範圍,比函式依賴要複雜得多。在關係模式中,函式依賴不能表示屬性值之間的一對多聯絡,這些屬性之間有些雖然沒有直接關係,但存在間接的關係,把沒有直接聯絡、但有間接的聯絡稱為多值依賴的資料依賴。

2、對屬性的依賴不同:

在函式依賴中,x與y是否存在函式依賴關係,只需考察x,y的兩組屬性,與別的屬性無關。而在多值依賴中,x與y是否存在多值依賴還需看屬性z。

10樓:匿名使用者

函式依賴是唯一確定的關係,例如在乙個表 授課(課程號,課程名,課程學分,教師號,教師姓名,參考書號,參考書名)。當然這個表的主鍵是(課程號,教師號,參考書號)課程名和課程學分函式依賴課程號,也就是說課程號唯一確定名字和學分;同理,教師姓名函式依賴教師號;參考書名函式依賴參考書號。但是,教師號可能多值依賴課程號,因為給定乙個(課程號,參考書號)的組合,可能有對應多個教師號。

這是因為多個老師可以使用相同或不同的參考書上同一門課。 簡單點講,函式就是唯一確定的關係;多值依賴卻不能唯一確定。

11樓:

多值依賴:y->->x 且x存在t[x]和u[x]通俗點講:

"多值依賴"說白了就是"一夫多妻"制 乙個男人[y]可以有老婆[x]但是老婆可以是t[x]和u[x]就是兩個人或者多個

"函式依賴"就是"一夫一妻"制乙個男人只能有老婆但是只能是乙個人由上可理解"一夫一妻"制也是"一夫多妻"的一種因為"一夫多妻"你可以只能娶乙個老婆

"函式依賴"就是"多值依賴"的特殊情況

資料庫函式依賴問題 50

12樓:楊森泉

你好!首先我們可以看到,c→d在r2上保持函式依賴,但是a→d,b→d在r1,r2上都不保持,所以做進一步判斷——

判斷的演算法如下:

對f上的每乙個α→β使用下面的過程:

①令result=α;

②t=(result∩ri)+ ∩ri;

result=result∪t

(第二步的ri=,該步驟遍歷一遍分解出的關係模式)

要注意的是這裡的屬性閉包是在函式依賴集f下計算出來的,如果result中包含了β的所有屬性,則函式依賴α→β,分解是保持依賴的(當且僅當上述過程中f的所有依賴都被保持)。

那麼我們來判斷一下,首先是a→d

先對r1,令result=a,result∩r1=a,a+=ad,t=a+∩r1=a,result=a;

再對r2,令result=a,result∩r2=空集,空集無法求閉包,那麼t=空集,result=a。

可以發現無論對於r1還是r2最後的result都是a,並未包含d,所以a→d未被保持,這裡已經可以得出該分解不保持函式依賴

對於b→d也是一樣的方法:

先對r1,令result=b,result∩r1=b,b+=bd,t=b+∩r1=b,result=b;

再對r2,令result=b,result∩r2=空集,空集無閉包,t=空集,result=b;

result並未包含d,所以b→d也同樣未被保持,該分解不保持函式依賴

資料庫中直接函式依賴和傳遞函式依賴的區別

13樓:匿名使用者

一、函式依賴概念

函式依賴是從數學角度來定義的,在關係中用來刻畫關係各屬性之

間相互制約而又相互依賴的情況。函式依賴普遍存在於現實生活中,比如,描述乙個學生的關係,可以有學號、姓名、所在系等多個屬性,由於乙個學號對應乙個且僅乙個學生,乙個學生就讀於乙個確定的系,因而當「學號」屬性的值確定之後,「姓名」及「所在系」的值也就唯一地確定了, 此時, 就可以稱「姓名」和「所在系」函式依賴於「學號」,或者說「學號」函式決定「姓名」和「所在系」,記作:學號→姓名、學號→所在系。

下面對函式依賴給出確切的定義。

定義:設u是屬性集合,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 關係中各屬性的依賴情況

圖中表明:「超額」完全函式依賴於主關鍵字;「姓名」、「工種」和「車間」僅依賴於關鍵字中的「工號」;因「定額」依賴於「工種」,故「定額」傳遞函式依賴於「工號」;因「車間主任」函式依賴於「車間」,因而「車間主任」傳遞函式依賴於「工號」。

什麼是完全依賴,資料庫中 完全函式依賴,部分函式依賴 傳遞函式依賴, 是什麼

完全依賴,即完全函式依賴,設r為任一給定關係,x y為其屬性集,若x y,且對x中的任何真子集x 那麼x y 都成立,則稱y完全函式依賴於x。y函式依賴於x x y 任何乙個x的子集都能確定y 完全函式依賴 f。例 成績完全依賴於 學號,課程號 x的部分子集確定y 部分函式依賴 p。例 課程名部分依...

資料庫中join怎麼用,資料庫中JOIN怎麼用

join 分為 inner join left join right join 假設表 a 有欄位 empid empname 1 jack 2 tom 表b 有欄位 empid empaddr 1 bj 3 sh inner join標準語法如下 select a.empid,b.empaddr ...

oracle資料庫中資料庫和表空間是等同的嗎

不等同。簡單的說,資料庫是乙個整體,乙個資料庫下可保護多個使用者 多個表 多個儲存過程 多個job 多個檢視等。而表空間可以認為是資料實體檔案的分類,比如有使用者表空間 系統表空間 索引表空間等,乙個表空間可以保護多個實體檔案。可以設定表空間的儲存大小,但實際使用多少由已存在的資料來決定。比如設定使...