- 王珊《數據庫系統概論》(第4版)章節專項練習及詳解
- 圣才電子書
- 2488字
- 2021-06-04 17:41:46
第4章 數據庫安全性
一、選擇題
1下述哪一個SQL語句用于實現數據存取的安全機制( )。
A.COMMIT
B.ROLLBACK
C.GRANT
D.CREATE TABLE
【答案】C
【解析】COMMIT是向數據庫遞交數據,ROLLBACK是回滾數據,CREATE TABLE是創建表,而GRANT是用來對用戶權限進行管理,可以實現數據存取的安全機制。
2關于登錄賬號和數據庫用戶,下列各項表述不正確的是( )。
A.登錄賬號是在服務器級創建的,數據庫用戶是在數據庫級創建的
B.創建數據庫用戶時必須存在該用戶的登錄賬號
C.數據庫用戶和登錄賬號必須同名
D.一個登錄賬號可以對應多個數據庫用戶
【答案】C
【解析】登錄賬戶屬于SQL Server服務安全防線,用戶只有擁有SQL Server服務登錄賬戶,才能與SQL Server建立鏈接;數據庫用戶屬于SQL Server數據庫安全防線,SQL Server中的每個數據庫都有自己的用戶和角色,該數據庫只能由它的用戶和角色訪問。它們是不同級別的賬號,它們需要綁定,創建數據庫用戶時必須存在該用戶的登錄賬號,一個登錄賬號可以對應多個數據庫用戶,但不需要同名。
3關于SQL Server的數據庫角色敘述正確的是( )。
A.用戶可以自定義固定角色
B.數據庫角色是系統自帶的,用戶一般不可以自定義
C.每個用戶只能擁有一個角色
D.角色用來簡化將很多用戶權限分配給很多用戶這一復雜任務的管理
【答案】D
【解析】服務器級的角色建立在SQL服務器上,是系統預定義的,用戶不能創建服務器角色,只能選擇合適的服務器角色,但能定義數據庫角色;一個數據庫用戶可以出現在多種角色中;角色是多權限分配給多用戶這一復雜任務的管理方式。
4關于SQL Server的數據庫權限敘述不正確的是( )。
A.SQL Server數據庫的對象權限可以用GRANT分配,而語句權限不可以用GRANT分配
B.服務器權限能通過固定服務器角色進行分配,不能單獨分配給用戶
C.系統管理員能使用SQL Server執行任何任務
D.每個用戶可以被分配若干權限,并且有可能把權限賦予其他用戶
【答案】A
【解析】服務器級的角色建立在SQL服務器上,是系統預定義的,用戶不能創建服務器角色,只能選擇合適的服務器角色,SQL Server的數據庫權限可以分為數據庫對象權限和語句權限,對象權限和語句權限都可以通過GRANT和REVOKE來分配和收回,系統管理員具有最高的權限。
5保護數據庫,防止未經授權或不合法的使用造成的數據泄漏、非法更改或破壞。這是指數據的( )。
A.安全性
B.完整性
C.并發控制
D.恢復
【答案】A
【解析】數據安全性是指防止未經授權或不合法的用戶使用數據庫。
6用于實現數據存取安全性的SQL語句是( )。
A.CREATE TABLE
B.COMMIT
C.GRANT和REVOKE
D.ROLLBACK
【答案】C
【解析】CREATE TABLE是建立基表的語句;COMMIT是提交事務的語句;ROLLBACK是回滾事務的語句;GRANT是授權語句,REVOKE是回收權限的語句。
7采用定義視圖的機制在數據控制方面要解決的問題是( )。
A.數據安全性
B.數據完整性
C.數據庫恢復
D.數據庫并發控制
【答案】A
【解析】采用定義視圖的機制在數據控制方面要解決的問題是數據安全性。
二、填空題
1數據的安全性是指( )。
【答案】保護數據庫,防止未經授權或不合法的使用造成的數據泄漏、更改或破壞
2安全性控制的一般方法有( )、( )、( )、和( )視圖的保護五級安全措施。
【答案】用戶標識與系統鑒定;存取控制;審計;數據加密
3( )和( )一起組成了安全性子系統。
【答案】用戶權限定義;合法權檢查機制
4在SQL語言中,為了數據庫的安全性,設置了對數據的存取進行控制的語句,對用戶授權使用( )語句,收回所授的權限使用( )語句。
【答案】GRANT;REVOKE
5( )、( )、( )和是計算機系統中的三類安全性。
【答案】技術安全類;管理安全類;政策法律類安全性
三、判斷題
1DBMS提供授權功能控制不同用戶訪問數據的權限,主要目的是為了實現數據庫的完整性。( )
【答案】×
【解析】DBMS提供授權功能控制不同用戶訪問數據的權限,主要目的是為了實現數據庫的安全性。
2SQL Server有兩種安全性認證模式:Windows NT和SQL Server。( )
【答案】×
【解析】SQL Server的安全性認證模式有兩種:混合模式和集成模式。混合模式允許使用windows NT安全性認證模式或者SQL Server安全性認證模式,而集成模式只能夠使用windows NT安全認證模式。SQL Server的缺省安全模式為混合模式。
3視圖機制雖然有一定的安全保護功能,但不精細,往往不能達到應用系統的要求。( )
【答案】√
四、問答題
1什么是數據庫的安全性?有哪些安全措施?
答:(1)數據庫的安全性是指保護數據庫,防止不合法的使用,以免數據的泄漏、非法更改和破壞。、
(2)數據庫安全性控制的方法
①用戶標識與系統鑒定:DBMS都要提供一定的方式供用戶標識自己。在存取數據庫的數據之前,用戶首先要自我標識,系統對用戶的標識進行核定,通過鑒定后,才提供數據庫的使用權。常用的標識方法是用戶名和口令字。
②存取權限的控制:用戶被獲準使用數據庫之后,還要根據預定的用戶權限進行存取控制,如某個用戶只能讀哪些數據庫表,某個用戶只能寫哪些數據庫表等。
③數據加密:以密碼的方式存儲數據。
2假設已建立了學生基本表Student(Sno,Sname,Ssex,Sage,Sdept),課程基本表Course(Cno,Cname,Ccredit),基本表SC(Sno,Cno,Grade),試用SQL的授權和回收語句完成下列操作:
(1)把查詢Student表的權限授予用戶U1。
(2)把對Student表和Course表的全部權限授予用戶U2和U3。
(3)把對表SC的查詢權限授予所有用戶。
(4)把查詢Student表和修改學生學號的權限授給用戶U4。
(5)把對表SC的INSERT權限授予U5,并允許他再將此權限授予其他用戶。
(6)DBA把在數據庫SC中建立表的權限授予用戶U8。
(7)把用戶U4修改學生學號的權限收回。
(8)收回所有用戶對表SC的查詢權限。
(9)把用戶U5對SC表的INSERT權限收回。
答:(1)GRANT SELECT ON TABLE Student TO U1;
(2)GRANT ALL PRIVILIGES ON TABLE Student,Course TO U2,U3;
(3)GRANT SELECT ON TABLE SC TO PUBLIC;
(4)GRANT UPDATE(Sno),SELECT ON TABLE Student TO U4;
(5)GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
(6)GRANT CREATE1:AB ON DATABASE S C TO U8;
(7)REVOKE UPDATE(Sno)ON TABLE Student FROM U4;
(8)REVOKE SELECT ON TABLE SC FROM PUBLIC;
(9)REVOKE INSERT ON TABLE SC FROM U5;
3SQL中用戶權限有哪幾類?并做必要的解釋。
答:SQL定義了如下6類用戶權限供用戶選擇使用:
(1)SELECT:允許用戶對關系或視圖執行SELECT操作。
(2)INSERT:允許用戶對關系或視圖執行INSERT操作。
(3)DELETE:允許用戶對關系或視圖執行DELETE操作。
(4)UPDATE:允許用戶對關系或視圖執行UPDATE操作。
(5)REFERENCES:允許用戶在定義新關系時,引用其他關系的主碼作為外碼。
(6)USAGE:允許用戶使用已定義的域。