數據庫系統概論課堂筆記-關鍵概念

一、關鍵概念

1.關係

   關係即對應數據庫中的一張表,實際是不同域的笛卡爾積的真子集,是關係模型的數據結構。

2.關係模式

   關係模式:即對於關係的描述,它可以形式化地表示爲R(U,D,dom,F),其中R爲關係名,U爲組成該關係的屬性名集合,D爲屬性組U中屬性所來自的域,dom爲屬性向域的映射集合,F爲屬性間數據的依賴關係集合。

3.模式

   關係型數據庫有三級模式,怎麼理解CREATE SCHEMA中的模式?

   這裏的模式相當於一個命名空間(namespace),該namespace爲一個DBA用戶所有,或者說相對應,在SCHEMA內部可以定義諸多數據庫對象,例如表、視圖、索引等等。

4.索引

   索引的定義:CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>],.....),由定義可知索引是建立在基本表之上的。

   由索引定義也可知,索引中包含由表或視圖中的一列或多列生成的鍵,這些鍵存儲在一個結構中(如B+樹,如HASH表),使SQL可以快速有效地查找與鍵值關聯的行。

   索引就像是書的目錄,是與表或視圖關聯的磁盤上結構,可以加快從表或視圖中檢索行的速度。

5.視圖

   在SQL支持的數據庫三級模式中,外模式對應視圖,可以理解爲:視圖爲用戶所能看見的關於數據庫的部分。具體表現爲操作數據庫的窗口,是建立在基本表上的虛表。

   舉個例子:

         CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS'

         SELECT* FROM IS_Student

    解釋:第一條語句,這裏相當於將SELECT的結果放入虛表中IS_Student中。第二條語句,這裏相當於SELECT一遍虛擬表,最後查出所有數據。

    對視圖的插入、刪除、更新等操作最終均要對基本表進行操作,這裏實際是視圖的消除機制,即將對視圖的操作最終轉爲對視圖所對基本表的操作語句。但注意某些視圖時不可消除的,例如在創建視圖的時候可以自定義一個屬性值T,那麼這時候如果再對該視圖進行操作,就無法對基本表進行操作,因爲無法得知屬性值T對應基本表中的哪些屬性。

    什麼樣的視圖可以更新?答:基本表的行列子集視圖可以更新。理解爲視圖中的屬性列一定是基本表中的屬性列,所以一定可以更新(消除視圖)

    使用視圖的優點?

          1.視圖能夠簡化用戶的操作

          2.視圖使用戶能以多種角度看待同一數據,自己對這句的理解:視圖實際上是對應三級模式中的外模式,即爲用戶服務,基本表對應的是模式。有些時候對於繁雜的屬性列,用戶可能只希望看見多個屬性列的中某幾列,這時候就可以建立視圖,爲用戶提供僅有所需屬性列的虛表。

          3.視圖對重構數據庫提供了一定程度的邏輯獨立性

          4.視圖能夠對機密數據提供安全保護

          5.適當的利用視圖可以更清晰的表達查詢

6.實體

    實體是概念模型中的概念,對應現實世界中的事物,例如一名同學,一門課程。在數據庫中的體現是:一張表的一個元組

7.超碼/候選碼/主碼/外碼

    (1)超碼:一張關係表中能夠唯一地標識一個元組的屬性或屬性組,且該屬性組存在其一真子集仍爲超碼。

        例:Student(Sno,Sname,Sdept,Grade),該關係模式中(Sno,Sname,Sdept)可以唯一地標識一個元組,但(Sno,Sname)也可以唯一地標識一個元組。那麼(Sno,Sname,Sdept)就是關係模式Student的一個超碼。

    (2)候選碼(候選鍵):一張關係表中能夠唯一地標識一個元組且其任一真子集均不能唯一地標識元組的屬性或屬性組稱爲候選碼。

        例:Sno_Grade(Sno,Sname,Sdept,Cno,Grade),該關係模式中,(Sno,Cno)可唯一地標識一個元組,但Sno或者Cno均不可唯一地標識一個元組,則稱(Sno,Cno)爲關係模式Sno_Grade的候選碼。

    (3)超碼和候選碼的關係:超碼就是候選碼+其他無關的屬性形成的屬性組

    (4)主碼(主關鍵字):候選碼的多種組合,主碼不唯一,可以多個屬性組成主碼。

    (5)外碼:對於表A,表A的一個屬性對應其他表B的主碼,那麼這個屬性稱爲表A的外碼。

8.主屬性

       主屬性:候選碼中的屬性稱爲主屬性,注意:若有多個候選碼,那候選碼中的屬性都叫做主屬性。

 

發佈了31 篇原創文章 · 獲贊 7 · 訪問量 3489
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章