小結
與RDBMS的所有通信都發生在會話這個上下文環境中當在一個客戶端程序與RDBMS之間建立一個會話時它具有某些默認的屬性這些屬性決定了會話的行為在會話期間可以修改其中一些屬性數據庫管理員可以使這些修改持久化企業級RDBMS提供了事務支持的能力可以按批一個單獨的邏輯工作單元來執行SQL語句SQL標准規定一個SQL語句總是作為一個事務來運行RDBMS對此的實現可能存在差異某些RDBMS默認啟動一個隱式的事務而另外一些RDBMS則要求顯式地聲明啟動事務的語句以開始一個事務事務必須滿足某些條件(也稱為ACID檢驗)才能符合事務的標准但這些細節通常由RDBMS進行管理
訪問共享資源的事務必須實現某些並發控制事務的屬性之一就是為該事務建立的隔離級別隔離級別管控著一個事務所能訪問的對象以及它能訪問和修改的數據
某些RDBMS實現了錯綜復雜的鎖系統以解決並發性問題然而這些鎖並不是SQL標准的一部分鎖具有不同的類型可以在SQL語句中聲明鎖也可以作為會話的屬性進行聲明在高容量的事務處理系統中或者設計不正確的系統中可能會發生死鎖的情況通常RDBMS會自動地解決死鎖問題或者由數據庫管理員手動解決死鎖問題
SQL本身只提供了非常有限的安全機制RDBMS需要更健壯的安全性各個RDBMS廠商都以非標准的方式實現了多種安全機制
安全性在宏觀上可以分為幾個不同的層次身份驗證授權和審計在最基本的層面上還有一些其他技術用於保護數據
RDBMS將用戶的概念視為某種實體用戶連接到數據庫並執行某些操作此外本書討論的各種RDBMS還實現了角色角色用於管理一組特權角色可以是系統定義的也可以是用戶定義的
數據庫還提供了各種機制用於實現其他方面的安全性約束視圖存儲過程和觸發器最底層的數據保護機制就是對數據進行加密加密後的數據是人類不可讀的
目前既有國家的安全標准也有國際的安全標准建議采用這些標准(但並不要求)某些數據庫廠商選擇獲得認證而另外一些RDBMS則並未認證人們制定了很多法律來處理安全問題本書所討論的各種RDBMS的最新版本都已實現了很多特性用於幫助用戶遵從法規
在實際的RDBMS實現進入市場很長時間之後ISO/ANSI才采用INFORMATION_SCHEMA作為標准因此很多數據庫廠商都以系統表的形式實現了它們自己的元數據存儲庫
可以采用多種辦法來獲取這些系統表的信息通常通過RDBMS專門為此目的提供的視圖進行訪問(即INFORMATION_SCHEMA的思路)或者也可以通過RDBMS提供的一些存儲過程或函數來實現獲取元數據的功能
絕大多數RDBMS都明顯地不鼓勵用戶直接訪問系統表因為在未通知用戶的情況下系統表的結構可能會發生改變因此無法保證這些系統表中包含的信息與你設想的一致簡而言之系統表是供系統自身使用的視圖是供用戶使用的通過直接查詢底層系統表獲取數據庫元數據的時代已經結束了
返回目錄SQL實戰新手入門
編輯推薦
Oracle索引技術
高性能MySQL
數據倉庫與數據挖掘培訓視頻教程
From:http://tw.wingwit.com/Article/program/SQL/201311/16436.html