關係資料庫的設計理論
函式依賴:
A->B A決定B,B依賴於A;
如果 {A1,A2,... ,An} 是關係的一個或多個屬性的集合,該集合函式決定了關係的其它所有屬性並且是最小(元素最少的集合)的,那麼該集合就稱為鍵碼。
對於 A->B,如果能找到 A 的真子集 A',使得 A'-> B,那麼 A->B 就是部分函式依賴,否則就是完全函式依賴。
對於 A->B,B->C,則 A->C 是一個傳遞函式依賴。
異常:
以下的學生課程關係的函式依賴為 Sno, Cname -> Sname, Sdept, Mname, Grade
不符合正規化的關係,會產生很多異常,主要有以下四種異常:
- 冗餘資料:例如
學生-2
出現了兩次。 - 修改異常:修改了一個記錄中的資訊,但是另一個記錄中相同的資訊卻沒有被修改。
- 刪除異常:刪除一個資訊,那麼也會丟失其它資訊。例如刪除了
課程-1
需要刪除第一行和第三行,那麼學生-1
的資訊就會丟失。 - 插入異常:例如想要插入一個學生的資訊,如果這個學生還沒選課,那麼就無法插入。
如何解決 冗餘資料、修改異常、刪除異常、插入異常???正規化理論!!
1、E-R圖的定義
實體關係圖:簡記E-R圖是指以實體、關係、屬性三個基本概念概括資料的基本結構,從而描述靜態資料結構的概念模式。 –百度百科
2、E-R的使用方法
E-R圖為實體-聯絡圖,提供了表示實體型、屬性和聯絡的方法,用來描述現實世界的概念模型。實體關係圖表示在資訊系統中概念模型的資料儲存。 –百度百科
2.1E-R圖表示法(Chen’s模型)
2.2E-R表示法中各圖形的定義
實體:具有公共性質的可相互區別的現實世界物件的集合,可以是具體的,也可以是抽象的概念或聯絡。
屬性:實體所具有的模擬特性,一個實體可由若干個屬性來刻畫。
關係:資料物件彼此之間相互聯絡的方式稱為關係。
關係連線線:用來連線實體與關係的線段。
2.3E-R圖的區域性表示結構
實體--屬性 實體--關係 實體之間的關係
2.4E-R圖中實體與關係詳解
1.聯絡的型別
(1)一對一聯絡(1:1)
例如:一個球隊只能有一個經理,一個經理只在一個球隊任職,則球隊和經理是一對一的。
(2)一對多聯絡(1:n)
例如:一門課程由一個教師任教,一個教師可以任教多門課程,則教師和課程是一對多的。
(3)多對多聯絡(n:n)
例如:一個學生可以選多門選修課,一門選修課可以被多個學生選修,則學生和選修課是多對多的。
2.多實體之間的關係
定義:在兩個以上多個實體集之間,當一個實體集與其它實體集之間均(注意是均)存在相同關係,而其它實體集之間均(注意是均)沒有關係時,這種關係才稱之為多個實體集之間的關係。
例如:有三個實體:供應商、零件、專案,一個供應商可以供應多個專案多個零件,每個專案可以使用多個供應商提供的零件,每種零件可以由不同供應商提供。
分析這個例子,我們可以看出:供應商和零件是多對多的,供應商和專案是多對多的,但是專案和零件之間卻是沒有關係的。
這符合多實體之間關係的定義,所以可以畫成如下形式:
3.多實體之間的關係和多實體每兩個實體之間的關係的區別
例如:有三個實體:供應商、零件、專案,畫出三個實體之間的關係和三個實體兩兩對應的關係
三個實體之間的關係
三個實體兩兩對應的關係
由此,可以看出三個實體之間的關係和三個實體兩兩對應的關係是不等價的。