1. 程式人生 > >資料庫系統原理----筆記整理系列

資料庫系統原理----筆記整理系列

(1)授權
grant的一般格式為:grant<許可權>  on  <物件型別>  to  <使用者>
其語義是將指定操作物件的指定操作許可權授予指定的使用者;
不同物件型別允許的操作許可權
例如:把查詢student許可權授權給使用者U1;
Grant  select on table student  to U1;
(2)收回許可權
revoke格式:revoke <許可權> on<物件型別>  from  <使用者>
例如:把使用者U4修改學生學號的許可權收回
Revoke  update(sno)  on table  student from  u4;
超鍵(super key)、候選鍵(candidate key)和主鍵(primary key)的區別?
超鍵(super key):在關係中能唯一標識元組的屬性集稱為關係模式的超鍵
候選鍵(candidate key):不含有多餘屬性的超鍵稱為候選鍵
主鍵(primary key):使用者選作元組標識的一個候選鍵程式主鍵
比如一個小範圍的所有人,沒有重名的,考慮以下屬性
身份證 姓名 性別 年齡

身份證唯一,所以是一個超鍵
姓名唯一,所以是一個超鍵
(姓名,性別)唯一,所以是一個超鍵
(姓名,性別,年齡)唯一,所以是一個超鍵
--這裡可以看出,超鍵的組合是唯一的,但可能不是最小唯一的

身份證唯一,而且沒有多餘屬性,所以是一個候選鍵
姓名唯一,而且沒有多餘屬性,所以是一個候選鍵
--這裡可以看出,候選鍵是沒有多餘屬性的超鍵

考慮輸入查詢方便性,可以選擇 身份證 為主鍵
也可以 考慮習慣 選擇 姓名 為主鍵
--主鍵是選中的一個候選鍵

封鎖粒度與系統的併發度成反比。

試述事務的四個性質,並說明每一個性質由DBMS的哪個子系統實現?每一個性質對資料庫系統有什麼益處?
答:原子性:一個事務對資料庫的所有操作,是一個不可分割的工作單元,這些操作要麼全部執行,要麼什麼也不做(由DBMS的事務管理子系統來實現);
一致性:一個事務獨立執行的結果,應(由DBMS的完整性子系統執行測試任務);
隔離性(由DBMS的併發控制子系統實現);
永續性(由DBMS的恢復管理子系統實現的)。

6.9 資料庫的併發操作會帶來哪些問題?如何解決?
答:丟失更新問題;度髒資料問題;不可重複讀問題。
解決的方法是用封鎖機制。

6.11 為什麼x鎖要保留到事務終點,而s鎖可隨時解除?
答:在一個事務上對資料加上x鎖後,並且對資料進行了修改,如果過早的解除x鎖,有可能使其他事物讀了未提交的資料,引起丟失其他事務的更新;由於s鎖只允許讀資料,因此解除s鎖的操作不必等到事務的結束,可隨時根據需要接觸s鎖。

6.12 什麼是封鎖粒度?封鎖粒度的大小對併發系統有什麼影響?
答:封鎖物件的大小稱為封鎖粒度。
封鎖粒度與系統的併發度和併發控制的開鎖密切相關,封鎖的粒度越大併發度也就越小,同時系統的開銷也就越小;相反,封鎖粒度越小,併發度就越大,系統的開銷也就越大。

刪除參照關係的元組時,對依賴關係有哪些影響?修改參照關係的主鍵時,對依賴關係有哪些影響?
答:1、刪除參照表中元組時的考慮:
No action:對依賴表沒有影響。
Cascade:將依賴表中所有外來鍵值與參照表中要刪除的主鍵值相對應的元組一起刪除。
Restrict:只有當依賴表中沒有一個外來鍵值與要刪除的參照表中主鍵值相對應刪除。
Set null:刪除參照表中元組時,將依賴表中所有與參照表中被刪除的主鍵值相對應的外來鍵值均置為空。
Set default:刪除參照表中元組時,將依賴表中所有與參照表中被刪除的主鍵值相對應的外來鍵值均置為預先定義好的預設
值。
2、        修改參照表中主鍵時的考慮:
No action:對依賴表沒有影響。
Cascade:將依賴表與參與表中要修改的主鍵值相對應的所有外來鍵值一起修改。
Restrict:只有當依賴表中沒有外來鍵值與參照表中要修改的主鍵值相對應時,系統才修改參照表中主鍵值,否則拒絕此修改操作。
Set null:修改參照表中主鍵時,將依賴表中所有與這個主鍵值相對應的外來鍵值均置為空值。
Set default:修改參照表中主鍵時,將依賴表中所有與這個主鍵值相對應的外來鍵值均置為預先定義好的預設值。

7.1 SQL Server 2000的版本有哪四種?各自的適用範圍是什麼?
答:①企業版:作為生產資料庫伺服器使用。
                ②標準版:作為小工作組或部門的資料庫伺服器使用。
                ③個人版:供移動的使用者使用,這些使用者又是從網路上斷開,但所執行的應用程式需要SQL Server資料儲存。
                ④開發版:供程式設計師來開發將SQL Server 2000用作資料儲存的應用程式。只能將開發版作為開發和測試系統使用,不能作為生產伺服器使用。

8.2PowerBuilder 9.0的開發空間有那三個層次?
        答:工作空間、目標和庫檔案;

1.在面向物件技術中有哪些基本資料型別?有哪些複合資料型別?
  基本資料型別:浮點型,字元,字串,布林型,列舉型。
  複合資料型別:行型別,陣列型別,列表型別,包型別,集合型別。

   概化:從子類到超類的抽象化過程。
   特化:從超類到子類的具體化過程。
   聚合表達了成分物件和聚合物件之間的“is part of”(一部分)的聯絡,聚合實際上是一種較強的形式的關聯聯絡,在類圖中,用空的菱形表示。
   複合:一種較強形式的聚合,用實心菱形表示。

9.ODBC技術有什麼作用?其卓越貢獻是什麼?
   ODBC為應用程式提供了一套CLI函式庫和基於DLL的執行支援環境。
   CLI:Call-Level Interface,呼叫層介面
   DLL:Dynamic Link Library,動態連結庫
   ODBC的卓越貢獻是使用應用程式具有良好的互用性和可移植性,並且具備同時訪問多種DBS的功能,從而克服了傳統資料庫應用程式的缺陷。對使用者來說,ODBS驅動程式遮蔽掉了不同DBS的差異。

核心SQL的四個組成部份:
        資料定義語言(DDL)
        資料操作語言(DML)
        資料控制語言(DCL)
        嵌入式SQL語言的使用規則

DB是指資料的集合
概念模式是全域性資料檢視

12.        對關係模式進行分解時,要使分解既保持函式依賴、又具有無損失連線性,在下屬正規化中
最高可以達到()B.        3NF 答案:B

 資料庫的完整性是指(資料的正確性)
 關係模型的完整性規則是 實體完整規則、參照完整性規則、使用者定義的完整性規則

DBA監視DB中資料安全性的工具是_DD(資料字典)

資料庫體系結構可分為內部集  概念級  外部級_三組。

 簡述SQL的組成。
答案:SQL主要由四部分組成,即資料定義、資料操縱、資料控制和嵌入SQL的使用規定。資料定
義部分也稱為“SQL DDL”用於定義SQL模式、基本表、檢視和索引。資料操縱部分也稱為“SQL
DML”,分成資料查詢和資料更新兩類,其中資料更新又分為成插入、刪除和修改三種操作。數
據控制部分包括對基本表和檢視的授權、完整性規則的描述、事務控制等內容。嵌入式SQL的使
用規定包括三部分:(1)在宿主語言的程式中SQL語句與宿主語言語句的區分;(2)允許嵌入的
SQL語句引用宿主語言的程式變數;(3)用遊標機制協調SQL的集合處理方式與宿主語言單記錄處理方式


最常見的資料庫設計方法有哪幾種?
答案:(1)檢視模型化及檢視彙總設計方法;
(2)關係模式的設計方法;
(3)新奧爾良(New Orleans)設計方法;
(4)基於E-R模型的資料庫設計方法;
(5)基於3NF的設計方法;
(6)基於抽象語法規範的設計方法;
(7)計算機輔助資料庫設計方法。

若屬性X函式依賴於屬性Y時,則屬性X與屬性Y之間具有(    B  )
A.一對一聯絡        B.一對多聯絡

.SQL的基本表約束主要有三種形式:候選鍵定義、外來鍵定義、__域______定義。

簡述關係代數表示式的啟發式優化規則。
早選擇,早投影,減少笛卡爾積時記錄的規模,笛卡兒積儘可能的與選擇、投影合併到一起操作。


1,第一正規化
定義:如果一個關係模式R的所有屬性都是不可分的基本資料項,則稱其是第一正規化;
2,第二正規化
定義:如果關係模式R是屬於第一正規化,並且每一個非主屬性都完全函式依賴於R的碼;
2NF就是允許關係模式的屬性之間有這樣的函式依賴X->Y,其中X是碼的真子集,Y是非主屬性。
3,第三正規化
解釋:定義證明,如果R屬於3NF,則R的每一個非主屬性既不部分函式依賴於候選碼,也不傳遞函式依賴於候選碼。第三正規化在第二正規化的基礎上加了傳遞依賴這個條件;
即是:關係模式沒有任何非主屬性對碼傳遞函式依賴或部分依賴,則其就是屬於第三正規化;
4,BC正規化(BCNF)
決定集:唯一確定一個元組的屬性集合;
解釋:在關係模式R中,如果每一個決定屬性集都包含候選碼,則R屬於BCNF;
BCNF的關係模式都有如下三個性質:
(1)所有非主屬性都完全函式依賴於每個候選碼。(其為第二正規化)
(2)所有非主屬性都完全函式依賴於每個不包含它的候選碼。
(3)沒有任何屬性完全函式依賴於非碼的任何一組屬性。
結論:如果R只有一個候選碼,且R屬於3NF,R必為BCNF。
這裡我們可以知道一個好的關係模式,其碼的屬性具有唯一性,但這也不確定,但是一定要唯一確定出該元組。這也是確定一個關係模式的好壞的基本依據。
       
在二元關係模式R(U,F)中,X、Y都是單一屬性,則R最高可以達到(BCNF)

層次模型的特點是_記錄之間的聯絡通過指標實現,查詢效率較高。

解除死鎖的方法可以用事務依賴圖的形式測試系統中是否存在死鎖,一旦發現死鎖
,則只能抽出正在等待中的某一個事務作為犧牲品,將其撤消,作回退操作,也解除他的所有封
鎖,恢復到事務的初始狀態。


6.        簡述SQL的四個組成部分的內容。
答案:SQL的四個組成部分的內容為:資料定義、資料操縱、資料控制、嵌入式SQL規則。
10.        簡述資料庫恢復的幾種方法。
答案:資料庫恢復的幾方法:
(1)定期對整個資料庫進行復制與轉儲;
(2)建立日誌檔案;
     (3)當故障發生後,使用日誌檔案對資料庫進行恢復

資料庫中全體資料的整體邏輯結構描述稱為  概念模式

3.        資料庫使用者有。_答案:DBA、專業使用者、應用程式設計師、終端使用者
10.        ___和___,為我們進行優化設計提供了理論依據。答案:關係規範化理論關係分解方法

8.   試敘述DBMS對資料庫的保護作用。
答案:DBMS對資料庫的保護主要通過四個方面實現:
(1)資料庫的恢復:在資料庫被破壞或資料不正確時,系統有能力把資料庫恢復到正常的狀態;
(2)資料庫的併發控制:當多個使用者同時對同一個資料進行操作時,可能會破壞資料庫中資料
,或者使用者讀了不正確的資料,併發控制子系統能防止錯誤發生,正確處理好多使用者、多工環
境下的併發操作;
(3)資料庫的完整性控制:保證資料庫中資料及語義的正確性和有效性,防止任何對資料造成錯
誤的操作;
(4)資料庫的安全性控制:防止未經授權的使用者蓄謀或無意地存取資料庫中的資料,以免資料的
洩漏、更改或破壞。

10.        試比較集中式DBS、分散式DBS和分散式DBS。
答案:集中式資料庫系統是指所有的工作都由一臺計算機完成。它的優點在於資料集中管理,減
少了資料冗餘,應用程式和資料之間有較高的獨立性。缺點在於大型資料庫系統的統計和操作都
比較複雜,系統顯得不靈活而且安全性也較差。分散式資料庫系統是指採用將資料分散的方法
,把資料庫分成多個,建立在多臺計算機上。這種系統中,資料庫的管理、應用程式的研製等都
是分開並相互獨立的,它們之間不存在資料通訊聯絡。分散式系統是在集中式系統的基礎上發展
而來的,它是指通過網路通訊把分散在各處的資料庫系統連線起來。它兼有集中式和分散式的優
點。這種系統有多臺計算機組成,各計算機之間有通訊網路相互聯絡著。

.設R是一個關係模式,F是R上的一個FD集,R分解成資料庫模式ρ={R1,…,RK}。如果對R中滿足F的每一個關係r,都有r=(r)(r)…(r),則稱這個分解ρ是(   A   )  A.無損分解

19.SQL資料庫中表的三種類型有__基本表______、檢視和匯出表。

2.DBS中用於安全性目的的資料庫日誌稱為__審計追蹤______。

31.設有關係R(A,B,C)和S(D,E,A),其中A是R的主鍵和S的外來鍵,為了不破壞參照完整性,當修改R中的A值時,對S中的A值可能有幾種修改?
NO ACTION:對依賴表沒影響,
CASCADE:對應外來鍵值一起修改,
RESTRICT:只有當依賴表中沒有對應的外來鍵值時才能修改,否則拒絕修改,
SET NULL:對應外來鍵值全置空,
SET DEFAULT:對應外來鍵值全置為預設的預設值。

簡述許可權的定義及許可權的種類。
使用者使用資料庫的方式稱為許可權,許可權有兩種:訪問資料的許可權和修改資料結構的許可權。訪問資料的許可權有四個:增、刪、查、改
修改庫結構的許可權有四個:索引、資源、修改、撤銷

試用關係代數查詢計算機系的學生姓名和年齡。
Π Sname,Age (σ dept=’計算機’(S))

在物件聯絡圖中,雙向箭頭()表示( D.兩個屬性之間值的聯絡
完成關係模式設計是在資料庫設計的(  邏輯設計階段

23.SQL中把完整性約束分成三大類:域約束、基本表約束和______斷言__。
 實體完整性規則是指關係中的元組在組成主鍵的屬性上不能有空值

        (1)INSERT、DELETE、UPDATE 語句,以及查詢結果肯定是單元組時的SELECT 語
句,都可以直接嵌入到主程式中使用,不必涉及到遊標。
(2)當SELECT 語句查詢結果是多個元組時,必須使用遊標

 事務的原子性、一致性、隔離性、永續性分別由DBMS 的事務管理、完整性、併發控
制、恢復管理子系統實現。

.在SQL/CLI中,宿主程式與資料庫互動過程中有哪幾個重要記錄?    環境記錄、連線記錄、語句記錄、描述記錄。

35.簡述DB驅動程式的主要任務。
        (1)建立應用程式與資料來源的連線;(2)向資料來源提交使用者請求執行的SQL 語句;
(3)完成資料來源傳送,接收資料格式和型別轉換;(4)把處理結果返回應用程式;
(5)將執行過程中DBS 返回的錯誤轉換成ODBC 定義的標準錯誤程式碼,並返回給應
用程式;(6)根據需要定義和使用游標