數據庫原理與應用重要知_第1頁
數據庫原理與應用重要知_第2頁
數據庫原理與應用重要知_第3頁
數據庫原理與應用重要知_第4頁
數據庫原理與應用重要知_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據庫原理與應用重要知識點總結數據庫原理與應用重要知識點總結三級模式模式:模式又稱邏輯模式,是數據庫中全體數據的整體邏輯結構和特征的描述。是所有用戶的公共數據視圖。外模式:外模式又稱為子模式或用戶模式,是數據庫用戶能看見和使用的局部數據的邏輯結構和特征的描述。是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。內模式:內模式又稱存儲模式,是數據物理結構和存儲方式的描述。是數據在數據庫內部的表示方式。兩級映像外模式/模式映像:對于每一個外模式,數據庫系統都有一個外模式/模式映像,它定義了該外模式與模式的對應關系。當模式改變時,由數據庫管理員對各個外模式/模式映像做相應的修改,可以使外模式不變,保證了數據與程序的邏輯獨立性——數據的邏輯獨立性。模式/內模式映像:一個數據庫只有一個模式,也只有一個內模式。這一映像是唯一的,用于定義數據全局邏輯結構與存儲結構之間的對應關系。當數據庫存儲結構改變時,由數據庫管理員對模式/內模式映像做相應的修改即可,可以使模式保持不變,從而應用程序也不必改變,保證了數據與程序的物理獨立性——數據的物理獨立性。存取控制機制:定義用戶權限,并將用戶權限存入數據字典中(這些定義被稱為安全規則或授權規則)。權限即用戶對某一數據對象的操作權力。合法性檢查,當用戶發出存取數據庫操作的請求后,DBMS查找數據字典,根據安全規則進行合法性檢查,若用戶的請求超出了定義的權限/密級/角色,系統將拒絕執行此操作。視圖機制:視圖--虛表--導出表為不同用戶定義不同的視圖,把數據對象限制在一定的范圍。通過視圖機制把要保密的數據對無權操作的用戶隱藏起來。審計系統提供的一種事后檢查的安全機制。建立審計日志,用以記錄用戶對數據庫的所有操作。檢查審計日志,找出非法存取數據的人、時間和內容。審計很浪費時間和空間,主要用于安全性要求較高的部門。RBAC(基于角色的存取控制)role-basedaccesscontrol特點:由于角色/權限之間的變化比角色/用戶關系之間的變化相對要慢得多,減小了授權管理的復雜性,降低管理開銷。靈活地支持企業的安全策略,并對企業的變化有很大的伸縮性。強制存取控制MACmandatoryaccesscontrol強制存取控制是通過對敏感度標記進行控制的。定義:每一個數據對象都被標以一定的密級,每一個用戶也被授予某一級別的許可證,對于任意一個對象,只有具有合法許可證的用戶才可以存取。特點:嚴格,不是用戶能夠直接感知或進行控制的。適用性:對數據有嚴格而固定密級分類的部門——軍事部門,政府部門。敏感度標記:絕密、機密、可信、公開僅當主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應的客體。僅當主體的許可證級別小于或等于客體的密級時,該主體才能寫相應的客體。自主存取控制discretionaryaccesscontrol定義:用戶對不同的數據庫對象有不同的權限,不同的用戶對同一數據對象也有不同的權限,而且用戶還可以將其擁有的存取權限轉授給其他用戶。特點:非常靈活權限控制三要素:用戶、數據庫對象、操作類型數據庫安全性:保護數據庫以防止不合法的使用所造成的數據泄漏、更改或破壞。實現數據庫安全性控制的常用方法和技術用戶身份鑒別:靜態口令鑒別、動態口令鑒別、生物特征鑒別、智能卡鑒別存取控制視圖機制審計數據加密SQL的特點1.綜合統一2.高度非過程化3.面向集合的操作4.以同一種語法結構提供兩種使用方式(既是自含式語言,又是嵌入式語言)5.語言簡單,易學易用SQL的功能和組成:DDL(datadefinitionlanguage)數據定義語言:數據定義功能DML(datamanipulationlanguage)數據操縱語言:數據查詢、數據更新功能DCL(datacontrollanguage)數據控制語言:數據控制功能數據庫完整性是指數據的正確性和相容性1.實體完整性:主碼唯一且主屬性不為空值2.參照完整性:外碼或為空,或為對應主碼的某個值3.用戶定義完整性:針對某一具體應用所涉及的數據必須滿足的約束條件DBMS的完整性控制機制應具有哪三方面的功能1.定義功能2.檢查功能3.違約處理功能觸發器定義:觸發器是提供給程序員和數據分析員來保證數據完整性的一種方法。一個觸發器有三部分組成:事件、條件、動作NoSQL數據庫:鍵值數據庫:Riak、Redis、Memcached、Amazon’sDynamo、ProjectVoldemort主要應用GitHub(Riak)、BestBuy(Memcached)、StackOverFlow(、Wikipedia(Memcached)Riak)、Twitter(Redis和Redis)、Instagram(Redis)、Youtube(Mencached)列存儲數據庫:Cassandra、Hbase、Hypertable、AmazonSimpleDB主要應用Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Twitter(CassandraandHbase)Facebook(Hbase)、Yahoo!(Hbase)文檔型數據庫:MongoDB、CouchDB、RavenDB、OrientDB、Terrastore主要應用:SAP(MongoDB)、Codecademy(MongoDB)、Foursquare(MongoDB)、NBCNews(RavenDB)圖形數據庫:Neo4J、InfoGrid、InfinitGraph、OrientDB、HyperGraphDB、FlockDB主要應用Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)事務是用戶定義的一個數據庫操作序列,這些操作要么全做,要么全不做,它們是一個不可分割的工作單位。原子性atomicity:事務是數據庫的邏輯工作單元,事務中包括的諸操作要么都做,要么都不做,不可分割。一致性consistecy:事務的執行結果必須使數據庫從一個一致性狀態轉變到另一個一致性狀態。隔離性isolation:一個事務的執行不能被其他事務干擾。持續性durability:一個事務一旦提交,它對數據庫中數據的改變就應該是永久的,接下來的其他操作或故障不應該對其執行結果有任何影響。ACID故障的種類:事物內部故障、系統故障——軟故障、介質故障——硬故障、計算機病毒事物內部故障:余額不足運算溢出并發事務發生死鎖違反完整性約束系統故障:造成系統停止運行的任何事件,系統必須重新啟動1.特定類型的硬件錯誤2.CPU故障3.操作系統故障4.DBMS代碼錯誤5.停電介質故障:系統外存故障,破壞性最大1.磁盤損壞2.磁頭碰撞3.瞬間強磁場干擾計算機病毒:是一種人為的故障或破壞1.破壞數據2.破壞系統故障對數據庫的影響:1.數據庫本身的破壞,數據不可訪問。介質故障、病毒2.數據庫可以訪問,但數據不正確。事物內部故障、系統故障、病毒數據庫恢復技術把數據庫從錯誤狀態恢復到某一已知的正確狀態的功能叫數據庫恢復恢復的基本原理:數據冗余*如何建立冗余數據1.數據轉儲:由DBA定期地將整個數據庫復制到磁帶或另一磁盤上的過程2.登記日志文件日志文件:記錄事務對數據庫更新操作的文件。存儲過程存儲過程是指存儲在服務器上的一組預編譯的SQL語句,它是封裝重復任務操作的一種方法。存儲過程的作用:允許模塊化的程序設計更快的執行速度有效降低網絡流量較好的安全機制ODBC開放數據庫連接OpenDataBaseConnectivity微軟公司開發的標準的接口協議,包括數據通信方法、數據傳輸協議、DBMS等多種技術,允許應用程序以SQL為數據存儲標準,來存取不同的DBMS管理的數據。1.并發操作可能帶來數據的不一致性——丟失修改——不可重復讀——讀“臟”數據產生數據不一致性的主要原因是并發操作破壞了事務的隔離性。解決辦法:封鎖,即給事務加鎖(1)排它鎖(ExclusiveLocks,X鎖,寫鎖)若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其他任何事務都不能再對A加任何類型的鎖,直至T釋放A上的X鎖。(2)共享鎖(ShareLocks,S鎖,讀鎖)若事務T對數據對象A加上X鎖,則事務T可以讀取A但不能修改A,其他事物只能對A加S鎖,而不能加X鎖,直至T釋放A上的S鎖。封鎖協議一級封鎖協議:事務T在修改數據R之前必須先對其加X鎖,直至事務結束才釋放。——防止丟失修改二級封鎖協議:在一級封鎖協議基礎上,若事務T在讀取數據R之前必須先對其加S鎖,讀完后即可釋放。——防止丟失修改,還可以防止讀“臟”數據三級封鎖協議:在一級封鎖協議基礎上,若事務T在讀取數據R之前必須先對其加S鎖,直至事務結束才釋放——防止丟失修改及讀“臟”數據,還可以防止不可重復讀活鎖:如果事務T1封鎖了數據R,事務T2又請求封鎖數據R,于是T2等待;接著T3、T4也請求封鎖數據R,T3、T4也等待;當T1釋放了R上的鎖之后,系統首先批準了T3,T3釋放了R上的鎖之后,系統接著批準了T4,T2仍然等待,這種現象即活鎖。預防辦法:等待隊列中的元素出隊策略采取先來先服務策略。死鎖:如果事務T1封鎖了數據R1,事務T2封鎖了數據R2;然后T1又申請封鎖R2,于是T1等待;接著T2又申請封鎖R1,于是T2也等待;……,造成兩個事務無限等待,這種現象即死鎖。預防辦法:在有多個封鎖數據對象時,可采取一次封鎖法、順序封鎖法。死鎖的診斷:超時法、等待圖法死鎖的解除:如果發生了死鎖,則選擇處理死鎖代價最小的事務,將其撤銷,釋放此事務持有的所有的鎖,使其它事務得以繼續運行下去。并發事務正確性的準則____可串行性___。什么樣的并發調度是正確的調度?調度室正確的調度。調度的定義:多個事務的并發執行是正確的,當且僅當其結果與按某一次序串行地執行它們時的結果相同,稱這種調度策略為可串行化的可串行化的可串行化的調度。兩段鎖協議:1.在對任何數據進行讀、寫操作之前,首先要申請并獲得對該數據的封鎖;——擴張階段2.在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。——收縮階段封鎖粒度:封鎖對象的大小多粒度封鎖:在一個系統中同時支持多種封鎖粒度供不同事務選擇意向鎖:如果對一個結點加意向鎖,則說明該結點的下層結點正在意向鎖。被加鎖;對任一結點加鎖,必須先對它的上層結點加封鎖沖突檢查:X鎖與任何其它類型的鎖都不相容,如果數據對象被加上X鎖,后裔結點不可能被以任何鎖的形式訪問,因此XIS鎖沒不需檢查其下層結點上的鎖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論