各個mysql的依賴 關聯式資料庫中的函式依賴

2021-10-17 21:19:23 字數 1534 閱讀 4773

關係模式中的各屬性之間的相互依賴,相互制約的聯絡稱為資料依賴。

資料依賴一般分為函式依賴,多值依賴,連線依賴,最重要的是函式依賴。

1.函式依賴是關係模式中屬性之間的一種邏輯依賴關係。

下面是展示的3個關係示例:

學生關係:s(sno,sn,age,dept);

選課關係:sc(sno,cno,score);

系關係:d(dept,mn);

由於乙個sno對應乙個學生,而乙個學生只屬於乙個系,所以當sno確定之後,sn,age,dept的值也唯一確定了,可以說sno決定函式(sn,age,dept),或者是(sn,age,dept)函式依賴於sno。或者表示為:sn0->(sn,age,dept);可以抽象成:x->y(y依賴於x,x決定y)。

平凡依賴與非平凡依賴

非平凡函式依賴和部分函式依賴的區別就在於x包不包含y,也就是y是不是x的子集的區別。

比如:非平凡:sn0->(sn,age,dept)

平凡:(sno,cno)->cno

函式依賴反應了一種語義完整性約束,比如sn->age,這種必須是在學生沒有重名的條件下才能成立。

2.函式依賴與屬性之間的聯絡型別有關

在乙個關係模式中,如果屬性x與y有1:1聯絡,則存在xy,比如如果學生不存在重名,snosn

如果x與y有1:m關係,比如sno與age之間為1:m聯絡,sno->age,sno->dept(班級)

如果是m:n,則不存在任何函式依賴,比如乙個學生可以選擇多門課程,這個課程可以由多個學生選擇

3.函式依賴的存在與否與時間無關

因為函式依賴是指關係中的所有元組應該滿足的約束條件,而不是關係中的某個或某些元組所滿足的約束條件。關係中的元組的增刪改都不能破壞這種函式依賴,

所以必須根據語義來確定屬性之間的函式依賴,不是根據某一時刻關係中的實際資料來判斷

4.函式依賴的定義

設關係模式r(u),u是屬性全集,x和y是u的子集,如果x->y,並且對於x的任何乙個真子集x',都有x'不決定y,則稱y對完全函式依賴。否則稱為部分函式依賴。

注意:只有當決定因素是組合屬性的時候,討論部分依賴才有意義,當決定因素是單屬性的時候,只能是完全函式依賴。

比如:sno->(sn,age,dept),決定因素是sno,不存在部分函式依賴。

設關係模式r(u),u是屬性全集,x和y是u的子集,x,y,z是u的子集。若x->y,y->z,但y不決定x,則稱z對x傳遞函式依賴,但是如果xy,則稱z對x直接函式依賴。

比如:學號->班級,班級->講師,但是講師不能決定班級,所以講師對學號是傳遞函式依賴。假設學生不重名,學號決定學生名,學生名決定學號,學生名決定了班級,這時候班級對學號是直接函式依賴。

mysql關聯式資料庫 關聯式資料庫概述

為什麼需要資料庫?因為應用程式需要儲存使用者的資料,比如word需要把使用者文件儲存起來,以便下次繼續編輯或者拷貝到另一台電腦。要儲存使用者的資料,乙個最簡單的方法是把使用者資料寫入檔案。例如,要儲存乙個班級所有學生的資訊,可以向檔案中寫入乙個csv檔案 id,name,gender,score 1...

關聯式資料庫與非關聯式資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...

關聯式資料庫與非關聯式資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...