1樓:匿名使用者
設r(u)是一個屬性集u上的關係模式,x和y是u的子集。
若對於r(u)的任意一個可能的關係r,r中不可能存在兩個元組在x上的屬性值相等, 而在y上的屬性值不等, 則稱 「x函式確定y」 或 「y函式依賴於x」,記作x→y。
x稱為這個函式依賴的決定屬性集(determinant)。
y=f(x)
說明:1. 函式依賴不是指關係模式r的某個或某些關係例項滿足的約束條件,而是指r的所有關係例項均要滿足的約束條件。
2. 函式依賴是語義範疇的概念。只能根據資料的語義來確定函式依賴。
例如「姓名→年齡」這個函式依賴只有在不允許有同名人的條件下成立
3. 資料庫設計者可以對現實世界作強制的規定。例如規定不允許同名人出現,函式依賴「姓名→年齡」成立。所插入的元組必須滿足規定的函式依賴,若發現有同名人存在, 則拒絕裝入該元組。
例: student(sno, sname, s***, sage, sdept)
假設不允許重名,則有:
sno → s***, sno → sage , sno → sdept,
sno ←→ sname, sname → s***, sname → sage
sname → sdept
但s*** -\→sage
若x→y,並且y→x, 則記為x←→y。
若y不函式依賴於x, 則記為x-\→y。
在關係模式r(u)中,對於u的子集x和y,
如果x→y,但y 不為 x的子集,則稱x→y是非平凡的函式依賴
若x→y,但y 為 x的子集, 則稱x→y是平凡的函式依賴
例:在關係sc(sno, cno, grade)中,
非平凡函式依賴: (sno, cno) → grade
平凡函式依賴: (sno, cno) → sno
(sno, cno) → cno
部分函式依賴: 若x->y 並且,存在x的真子集x1,使得x1->y,則 y部分依賴於 x。
完全函式依賴:若x->y並且,對於x的任何一個真子集x1,都不存在x1->y 則稱y完全依賴於x。
邏輯蘊含 舉個例子:
y=f(x)
省=f(城市)
只要給出一個具體的城市值,就會有唯一一個省值和它對應,如"武漢市"在"湖北省".這裡的"城市"是自變數x,"省"是因變數或函式值y.把x函式決定y,或y函式依賴於x表示為:x→y
設有關係模型r(a1,a2,...an),x和y均為的子集,r是r的任一具體關係,t1,t2是r中的任意兩個元祖.如果由t1[x]=t2[x]可以推匯出t1[y]=t2[y],則稱x函式決定y,或y函式依賴於x,記為x→y.
你所問的碼是說主碼與候選碼麼?
主碼 我們在建立資料庫的時候,需要為每張表指定一個主鍵,所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。當然,其它欄位可以輔助我們在執行這些操作時消除共享衝突,不過就不在這裡討論了。
主鍵除了上述作用外,常常與外來鍵構成參照完整性約束,防止出現資料不一致。所以資料庫在設計時,主鍵起到了很重要的作用。
常見的資料庫主鍵選取方式有:
自動增長欄位
手動增長欄位
uniqueidentifier
「comb」型別
候選碼:除了主碼,全碼裡面剩下的碼!
2樓:匿名使用者
就是一個對多個嘛~~~
別想得太複雜了
說白了就是一個***可以有多個yyy。
3樓:風中曳楓
一個公司是否只有一個老總,底下有一堆的員工,這種老公和員工對應的關係是一對多的關係,其中老總是一個,員工多個,而老總和員工之間是管理的關係。
資料庫中一對一 一對多 多對多關係是什麼意思
4樓:梅棄迎新
舉個例子:
你有3個表
學生表(學生id 學生姓名)
課程表(課程id 課程名)
成績表 (學生id 課程id 分數)
班級表(班級id 學生id)
資料庫中一對一和一對多的聯絡怎麼區別啊??
5樓:
比如 某個人的 出生地 有很多人,但這個人只能有一個出生地。那麼 出生地與人 之間存在回一對多的關係。答
再或者一個班有很多學生,一個學生只能在一個班裡註冊,則班級與學生存在一對多的關係。
一個班裡只有一個班長,而一個班長只在一個班裡任職,則班級與班長之間存在一對一的關係。
access資料庫中一對一和一對多的關係是什麼意思!
6樓:匿名使用者
一個欄位中的特定
抄值對應另外bai一個欄位中的多個值叫一對du多,如表1 表2id name deptno deptno dept
1 張三zhi 2 1 行政部
2 李四 2 2 財務部dao
3 王五 1
用deptno 連線兩個表
財務部下面有兩個員工 表2 和表1 的關係就是1對多一個欄位中的特定值對應另外一個欄位中的唯一特定值就是一一對應
7樓:
資料庫中的一對一,給你舉個例子:
就好比每個人只有一個身份證一樣,這就是一對一的關係。
一對多:比如一個學生,他可以上語文課,也可以上數學課,也可以上英語課....,這裡面的學生和課程就是一對多的關係了
8樓:匿名使用者
比如說一個學校和n個班級就是 1對多的關係。一個班級就一個班主任就是一對一的關係。
怎樣在資料庫中實現一對多的關係
9樓:匿名使用者
良好的資料庫設計都是要符合第三正規化或者更加嚴格一些,所以多對多是一種比較不好的設計方案,會對系統的開發和維護造成很大困難,特別是**上,要重複的比較各個鍵值,因此都是採用引入關係表的方法,將兩個表的主鍵提取作為關係表的欄位,然後關係表中設定遊動主鍵,這樣就將多對多的關係解耦成1對多的關係
sql資料庫怎麼建立一對多的關係(具體見補充)
10樓:匿名使用者
表2:tagmap(searchtext, tag) -- 1:n關係表
表1:object(tag, ...)
一對多關係的資料庫該怎麼建立?
關聯式資料庫中,表的關係有一對一,一對多和多對多三種關係。下面表之間的關係敘述正確的是( )。(選擇二
11樓:匿名使用者
產品表products對產品類別表categories是一對多的關係
定單表orders對定單詳情表[order details]是一對多的關係
這兩個是1:n
比如你買自行車產品表是自行車 那產品類別可能有賽車 ,普通車。粗輪。細輪等
那這就是一對多
另一個也是類似 不懂可以接著問
12樓:匿名使用者
定單詳情表[order details] 對定單表orders是一對多的關係
一對多關係的資料庫該怎麼建立,資料庫表多對多的關係怎麼建啊?
例如 學生的資料庫,一個老師教一個班 學生表裡面有個教師id欄位,這個欄位和老師表的教師id欄位就是多對一的關係,反過來就是一對多的關係,access 在有這兩個表的資料庫中,點選工具欄上的關係按鈕,把老師表的教師id欄位拖拽到學生表的教師id欄位,並選擇 實施參照完整性 這樣關係就建立完成了。在老...
mysql資料庫varchar可以儲存多少個漢字和多少個數
具體還是要看版本的 4.0版本以下,varchar 100 指的是100位元組,如果存放utf8漢字時,只能存33個 每個漢字3位元組 5.0版本以上,varchar 100 指的是100字元,無論存放的是數字 字母還是utf8漢字 每個漢字3位元組 都可以存放100個。自己在資料庫中建個表測試下可...
資料分析和資料庫的關係是什麼,資料庫分析的原理是什麼?
可以這麼理解,資料庫是用來儲存資料的,資料分析是把儲存好的資料通過一系列的資料分析方法進行處理來得出你想要知道的問題結論。資料庫分析的原理是什麼?大資料 資料分析和資料探勘的區別是什麼?區別 大資料 是網際網路的海量資料探勘,而資料探勘更多是針對內部企業行業小眾化的資料探勘,資料分析就是進行做出針對...