2014計算機等級考試三級數據庫重點難點分析(2)
6.6 堆文件:數據量少且操作頻繁;批量加載數據(先選為堆文件再調整文件結構)
順序文件:查詢條件定義在查找碼上;快速的二分查找
散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機的。非精確查詢;非散列域
B-樹和B+-樹:大數據量基本表;聚焦文件:多表連接操作
6.7有序索引技術利用索引文件實現查找碼取值到記錄物理地址間的映射關系。索引文件由索引記錄組成,每個記錄中的索引項記錄了某個特定的查找碼值和具有該值的數據文件記錄的物理地址。
當需要訪問數據文件中某個數據記錄時,先根據查找碼值查閱索引文件,找到對應的索引項,然后從索引項中找出數據記錄在數據文件中的物理地址.根據這個地址訪問數據記錄。
6.8散列技術是一種快速文件訪問技術,它利用散列函數實現文件記錄域取值到記錄物理地址間的直接映射關系。當需要訪問數據文件中查找碼值為si的某個或某些文件記錄時,將si作為散列函數h的輸入計算得出的散列函數輸出值h(si)就是文件記錄在數據文件中的物理地址。
6.9 權限:允許用戶對一給定的數據庫對象可執行的操作(查詢、添刪改、新建、備份等)。
數據庫應用系統功能設計
7.1軟件體系結構:軟件架構={構件,連接件,約束}
7.2 軟件設計包括系統的總體結構設計、系統的過程設計、系統的數據設計三方面內容(+人機界面設計),從工程管理的角度,分為概要設計、詳細設計
7.3 應用軟件分為數據庫事務和應用程序。后者一方面可以與數據庫事務協調合作,另一方面還可實現與數據庫訪問無關的功能,如通信、人機交互。
7.4 事務:具有邏輯獨立功能的一系列操作的集合,實現了某些特定的業務規則。
7.5 事務概要設計的核心是辨識和設計事務自身的事務處理邏輯,采用面向數據流的程序設計方法設計事務內部的數據處理流程和結構。
7.6 C/S結構特點:數據管理和數據處理被分在客戶端和服務器上;服務器可支持多個客戶端;客戶端也可訪問多個服務器;客戶端=人機交互+數據處理
B/S結構特點:表示層,WEB瀏覽器;功能層,WEB應用服務器;數據層,DBMS服務
優點:實現人面交互、應用業務邏輯處理、數據管理三層分離,提高了系統的可維護性;用WEB瀏覽器可訪問多個異構應用平臺,解決了跨平臺數據管理問題。
sql
8.1 sql=structured query language,結構化查詢語言
8.2 二進制字符串是用十六進制表示的,0x前綴
8.3 創建表:create table table_card
事務高度與并發控制
9.1 調度:定義在多個事務上的調度是這些事務的所有操作的一個執行序列,代表了這些操作的執行順序;沖突操作:事務Ti 的操作Ii與事務Tj的操作Ij是沖突的,當且僅當Ii 和 Ij訪問數據庫中同一個數據項Q,并且Ii 和 Ij中至少有一個是寫操作write(Q);沖突可串行:一個并發調度沖突等價于某個串行調度(判斷一個并行調度是否正確)
死鎖是指數據庫系統中部分或全部事務由于無法獲得對需要訪問的數據項的控制權而處于等待狀態,并且將一直等待下去的一種系統狀態。
9.2 ACID:Atomicity原子性;Consistency一致性;Isolation隔離性;Durability持久性
9.3 1級加鎖協議要求事務T在修改數據項Q之前必須先對Q加X鎖,直到事務結束才釋放該鎖。事務結束包括正常結束(commit)和非正常結束(rollback)。但事務如果是只讀Q而不對其進行修改,是不需要對Q加鎖的。
2級加鎖協議是在1級加鎖協議基礎上,要求事務T在讀取數據項Q之前必須先對其加S鎖,讀完Q后可以立即釋放S鎖。
3級加鎖協議則是在1級加鎖協議基礎上,要求事務T在讀取數據項Q之前必須先對其加S鎖,但是需要等到事務結束時才釋放該S鎖。
9.4 2階段鎖協議將每個事務的執行過程分為加鎖階段和解鎖階段。在加鎖階段,事務可以申請獲得數據項上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務可以釋放任何數據項上的任何類型的鎖,但不能再申請任何鎖。每個事務開始執行后就進入了加鎖階段。當第一次釋放鎖后,即轉入解鎖階段。
9.5解決死鎖主要采用死鎖預防和死鎖檢測與恢復兩類方法。
死鎖預防利用死鎖預防協議,通過破壞死鎖產生的必要條件來避免系統進入死鎖狀態。
一次性加鎖法;順序加鎖法
死鎖檢測與恢復則是允許系統進入死鎖狀態,并且定期檢查系統是否發生死鎖。當發現系統發生死鎖后,采取相應的恢復機制使系統擺脫死鎖狀態。
9.6活鎖產生的原因是在系統非死鎖狀態下,某些事務由于始終無法獲得對所需訪問的數據項的控制權而長期等待下去,無法繼續執行。
9.7 鎖粒度大:被加鎖數據項少、事務并發執行度低、系統開銷小;鎖粒度小則反之
9.8 基于鎖的并發控制技術的原理
數據庫的實施、運行和維護
10.1 試運行:功能測試;性能測試
10.2 數據庫維護:數據庫的轉儲和恢復;數據庫的安全性、完整性控制;數據庫性能的檢測和改善;數據庫的重組和重構
10.3 數據庫安全:行政手段制定規范;權限管理、口令等;維護多個數據副本;防及除毒
10.4 數據庫重組:按照系統設計要求對數據庫存儲空間進行全面調整;數據庫重構:業務小范圍變化需對數據庫邏輯結構作必要改變。
10.5 數據庫監控分析:DBA借助相應工具監測數據庫系統的運行情況,對監測數據進行分析,評估整個系統的運行狀態,為系統的安全運行和性能優化提供依據。
10.6 數據庫空間管理:數據量增加和碎片使性能降低;空間溢出會帶來災難性停機故障。
包括:創建修改刪除數據庫空間、新建移動關聯數據文件等。
10.7 數據庫參數調整:外部調整:CPU、網絡;調整內存分配(改善程度大);調整磁盤I/O(I/O時間是響應時間的最大組成部分);調整競爭
10.8 數據庫查詢優化:合理使用索引;避免或簡化排序(Order by、Group by,磁盤排序比內存排序開銷大速度慢);避免相關子查詢、外連接(左右連接比內連接消耗大);存儲過程
10.9 屬于Oracle 但不屬于SQL Server的邏輯和物理空間結構:表空間、段、區。
故障管理
11.1 故障種類:事務內部故障(事務回滾撤消修改)、系統故障(影響事務不壞數據)、介質故障(軟件容錯、硬件容錯)、病毒
11.2 系統故障對策:重啟,撤消(UNDO)未提交的事務,重做(REDO)已提交的事務
11.3 軟件容錯:備份、日志文件,利用恢復技術;硬件容錯:雙物理存儲設備
11.4 恢復基本原理:冗余,即所有數據均可通過存儲在別處的冗余數據來重建。
11.5 對于經常進行數據操作的數據庫:完全轉儲+差異轉儲
11.6 以記錄為單位的日志文件:開始標記(Ti BEGIN TRANSACTION)、結束標記(Ti COMMIT或者Ti ROLLBACK)、每個事務的所有操作(Ti,A,50,80)
11.7 以數據塊為單位的日志文件:存放更新前和更新后的整個數據塊。只有事務標識和被更新的數據塊,沒有操作類型和操作對象。
11.8 日志的作用:用來進行業務故障和系統故障恢復;協助后備副本進行介質故障恢復(動態轉儲必用);記錄操作監視行為分析問題
登記原則:登記次序嚴格按并行事務執行次序;必須先寫日志文件再寫數據庫
11.9 檢查點:最大限度減少數據庫完全恢復時所必須執行的日志部分(針對系統故障)。
11.10 數據庫鏡像:提高數據庫可用性的解決方案(比如介質故障,兩臺服務器相互備份)
優點:提供完整或幾近完整的數據冗余,增強數據保護;發生介質故障時,數據不會丟失且服務不會中斷,提高數據庫可用性;提高鏡像數據庫在升級期間的可用性。
雙機互備援模式(均為主);雙機熱備份模式(一主一備份機)。數據庫鏡像可用于并發操作。
11.11 RAID廉價冗余磁盤陣列:(鏡像冗余、)校驗冗余:對成員磁盤上的數據執行異或(XOR)操作得到其校驗值并存放在另外的校驗磁盤上。當某個磁盤發生故障時,只須計算其他磁盤上的校驗數據和數據的異或便可重新得到該磁盤的值。
sql server2000數據庫管理系統
12.1 四個服務:sql server 核心服務;
sql server agent:代理服務,代理定期進行的管理工作;
dtc:distributed transaction coordinator,分布式事務協調器,同一事務訪問多個服務器。