1. 程式人生 > >關係模型的基本概念

關係模型的基本概念


這是對前面資料庫的基本概念中的資料模型進行細化的部分,把主要的資料模型單獨拿出來講,向實用性又近了一步。

正如學習其它知識一樣,先講基本術語,然後講規範規則,再向實用靠近。接下來向體系結構,對知識進行評價(評價是比較高的階段了)。

下面對每一個知識點進行深入:

1、基本術語

關係就是一張表,例項指的是關係模式的例項,也就是一張表。

主鍵和外來鍵是重要的概念,表格之間通過主鍵進行導航,其實質是實體之間的聯絡,反應到現實世界就是事物之間的聯絡了,通過主鍵進行體現,所以是非常重要的。

2、關係的規範性

就像交通規則一樣,沒有交通規則就會亂套;關係也應該有它的規範,沒有規範就難以實際運用,在其它領域也應該是這樣的。

3、完整性規則

這部分是經驗和理論的總結,重點講了參照性規則的三種情況。

  1. S(S#,SNAME,AGE,SEX)  學生模式    SC(S#,C#,GRADE) 選課模式  ;這種情況是選課模式的主鍵和外來鍵是同一個。
  2. DEPT(D#,DNAME) 車間模式    EMP(E#,ENAME,SALARY,D#);這種情況是主鍵和外來鍵是分開的。
  3. R(C#,CNAME,PC#)  課程之間的先修、後繼聯絡。這裡都在一個關係模式中實現。 
使用者定義的完整性規則:CHECK(AGE  BETWEEN  15 AND 30) 4、ER模型向關係模型的轉換規則 這是很重要的內容,是概念模型向邏輯模型轉化的具體體現。書本上只簡單的規則,就像數學課本上列出來的公式一樣,現實應用中的運用是豐富多彩的,這需要大量經驗的積累和思考(例如讀書時,同樣是學了一個公式,有的同學能很快利用這個公式做相關的奧賽題,而有的同學連書本上的基礎題都做不出來,這是為什麼,他們之間的區別是什麼?如果具體的例子進行對比,思考這個問題會簡單很多。方式方法,理解的角度和深度,眼界的寬度和高度,實踐的程度
  1. 將每個實體轉換成一個關係模式,屬性對應屬性,實體標示符對應主鍵
  2. 二元聯絡型別的轉換
  • 實體間的聯絡是1:1 。在任一個關係模式中加入另一個的關係模式的主鍵和聯絡型別的屬性。
  • 實體間的聯絡是1:N。在N端加入1端的主鍵和聯絡的屬性。
  • 實體間的聯絡是M:N。將聯絡轉換成關係模式,屬性是兩端的主鍵加上聯絡的屬性。
5、關係模型的三級體系結構 資料庫的三級體系結構:外部級(External),概念級(Conceptual),內部級(Internal) 關係模型三級體系結構:關係模式,子模式,儲存模式 a.關係模式:關係模型中,記錄型別稱為關係模式,關係模式的集合就是概念模式。概念模式是資料庫中全部資料的整體邏輯結構的描述。 b.子模式:是使用者所用到的那部分資料的描述。包括對資料操縱的許可權。 c.儲存模式:關係儲存時是作為檔案看待的,每個元組就是一個記錄。由於關係有鍵,因此儲存時可用雜湊方法或索引方法實現。關係的元組較少,可用“堆檔案”實現,還可對任意的屬性集建立輔助索引。(這部分其實不懂,因為沒有相應的知識基礎,可暫時放置,不要浪費時間
) 6、關係模型的形式定義和優點 形式定義的本質:符號化和數學化,是非常重要的轉化,形式化後才能進行運算。(這好像在前面的文章中也提到過) 關係模型的三個組成部分:資料結構、資料操縱、資料完整性規則。 資料結構:將資料組織成二維表格形式。 資料操縱:關係代數、關係演算、關係邏輯三種關係運算。 資料完整性規則:實體完整性、參照完整性、使用者定義完整性。 關係模型的優點: a 簡明性和精確性:這是描述和解決問題的過程中的重要性質。 b 資料獨立性:這使得關注點分離,是解決複雜度的重要方面。 c 建立在數學的基礎上:這使得資料庫得以發展和成熟,數學可靠。 c 與一階謂詞的聯絡:這使得以資料庫為基礎的推理系統和知識庫系統的研究提供了方便。

7、關係查詢語言和關係運算

這是SQL的理論基礎,主要針對的是SQL查詢語言。

關係代數語言:以集合操作為基礎的運算。

關係演算語言:以謂詞演算為基礎的運算。

關係邏輯語言:以if-then邏輯操作為基礎的運算。