关系数据库的设计理论
函數(shù)依賴:
A->B?? A決定B,B依賴于A;
如果 {A1,A2,... ,An} 是關系的一個或多個屬性的集合,該集合函數(shù)決定了關系的其它所有屬性并且是最小(元素最少的集合)的,那么該集合就稱為鍵碼。
對于 A->B,如果能找到 A 的真子集 A',使得 A'-> B,那么 A->B 就是部分函數(shù)依賴,否則就是完全函數(shù)依賴。
對于 A->B,B->C,則 A->C 是一個傳遞函數(shù)依賴。
異常:
以下的學生課程關系的函數(shù)依賴為 Sno, Cname -> Sname, Sdept, Mname, Grade,鍵碼為 {Sno, Cname}。也就是說,確定學生和課程之后,就能確定其它信息。
?
不符合范式的關系,會產(chǎn)生很多異常,主要有以下四種異常:
- 冗余數(shù)據(jù):例如 學生-2 出現(xiàn)了兩次。
- 修改異常:修改了一個記錄中的信息,但是另一個記錄中相同的信息卻沒有被修改。
- 刪除異常:刪除一個信息,那么也會丟失其它信息。例如刪除了 課程-1 需要刪除第一行和第三行,那么 學生-1 的信息就會丟失。
- 插入異常:例如想要插入一個學生的信息,如果這個學生還沒選課,那么就無法插入。
?
如何解決 冗余數(shù)據(jù)、修改異常、刪除異常、插入異常???范式理論!!
1、E-R圖的定義?
實體關系圖:簡記E-R圖是指以實體、關系、屬性三個基本概念概括數(shù)據(jù)的基本結構,從而描述靜態(tài)數(shù)據(jù)結構的概念模式。 –百度百科
2、E-R的使用方法?
E-R圖為實體-聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。實體關系圖表示在信息系統(tǒng)中概念模型的數(shù)據(jù)存儲。 –百度百科
?
2.1E-R圖表示法(Chen’s模型)
?
2.2E-R表示法中各圖形的定義
實體:具有公共性質(zhì)的可相互區(qū)別的現(xiàn)實世界對象的集合,可以是具體的,也可以是抽象的概念或聯(lián)系。
屬性:實體所具有的模擬特性,一個實體可由若干個屬性來刻畫。
關系:數(shù)據(jù)對象彼此之間相互聯(lián)系的方式稱為關系。
關系連接線:用來連接實體與關系的線段。
?
2.3E-R圖的局部表示結構
??? ?
? 實體--屬性?實體--關系 實體之間的關系
?
2.4E-R圖中實體與關系詳解
1.聯(lián)系的類型
(1)一對一聯(lián)系(1:1)
例如:一個球隊只能有一個經(jīng)理,一個經(jīng)理只在一個球隊任職,則球隊和經(jīng)理是一對一的。
(2)一對多聯(lián)系(1:n)
例如:一門課程由一個教師任教,一個教師可以任教多門課程,則教師和課程是一對多的。
(3)多對多聯(lián)系(n:n)
例如:一個學生可以選多門選修課,一門選修課可以被多個學生選修,則學生和選修課是多對多的。
2.多實體之間的關系
定義:在兩個以上多個實體集之間,當一個實體集與其它實體集之間均(注意是均)存在相同關系,而其它實體集之間均(注意是均)沒有關系時,這種關系才稱之為多個實體集之間的關系。
例如:有三個實體:供應商、零件、項目,一個供應商可以供應多個項目多個零件,每個項目可以使用多個供應商提供的零件,每種零件可以由不同供應商提供。
分析這個例子,我們可以看出:供應商和零件是多對多的,供應商和項目是多對多的,但是項目和零件之間卻是沒有關系的。
這符合多實體之間關系的定義,所以可以畫成如下形式:
?
3.多實體之間的關系和多實體每兩個實體之間的關系的區(qū)別
? ? 例如:有三個實體:供應商、零件、項目,畫出三個實體之間的關系和三個實體兩兩對應的關系
?
三個實體之間的關系
?
三個實體兩兩對應的關系
?
由此,可以看出三個實體之間的關系和三個實體兩兩對應的關系是不等價的。
?
2.5E-R圖實例
總結
以上是生活随笔為你收集整理的关系数据库的设计理论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyQt:如何给界面自定义背景?
- 下一篇: 数据库理论复习点