1. 數據是描述現實世界事物的符號記錄,是用物理符號記錄下來的可以識別的信息。
數據是信息的符號表示,是載體;信息是數據的語義解釋,是內涵。
2. 數據模型是對現實世界數據特徵的抽象,是數據庫系統的形式框架,用來描述數據的一組概念和定義,包括描述數據、數據聯繫、數據操作、數據語義以及數據一致性的概念工具。
滿足三條件:比較真實地模擬現實世界;易於人們理解;易於計算機實現
三個組成要素:數據結構(靜態,數據對象本身結構及之間的聯繫)、數據操作(對數據對象操作及操作規則的集合)和完整性約束(語義約束:數據模型、數據內部及之間聯繫)
3. 模式是對數據庫中全體數據的邏輯結構和特徵的描述,是所有用户的公共數據視圖,也稱為邏輯模式或概念模式。
外模式是對數據庫用户能夠看見和使用的局部數據的邏輯結構和特徵的描述,是與某一應用有關的數據的邏輯表示,也稱為子模式、用户模式或用户視圖。
內模式是對數據庫中數據的物理結構和存儲方式的描述,也稱為物理模式或存儲模式。
當數據庫模式發生變化時,通過調整外模式/模式間的映像關係,使得應用程序不必隨之修改,從而保證數據與應用程序間的邏輯獨立性,簡稱數據的邏輯獨立性。
當數據庫數據的物理存儲結構改變時,通過調整模式/內模式映像關係,保持數據庫模式不變,使數據庫系統的外模式和應用程序不隨之改變,保證數據與應用程序間的物理獨立性,簡稱數據的物理獨立性。
4. 數據庫是存儲在計算機內的共享數據集合,數據庫管理系統是一種數據管理系統軟件。數據庫系統則是在計算機系統中引入數據庫後的軟硬件系統構成,包括了數據庫、數據庫管理系統和數據庫應用程序。
5. DBMS的主要功能有數據定義、數據操縱、數據庫運行管理與控制、數據庫建立與維護。
DBMS包括查詢處理器和存儲管理器。查詢處理器實現面向用户的查詢分析處理和優化功能。存儲管理器為用户和應用程序提供了訪問存儲在數據庫文件中的應用數據的接口。
6.關係模型 用二維表表示實體及實體之間的聯繫,現實世界中的每個客觀對象對應表中的一行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特徵,列的值(屬性的取值)刻畫和描述客觀對象的某一具體的特徵。
優缺點:建立在“集合”“關係”上,嚴格成熟的理念基礎;用關係表示實體及之間聯繫,簡單易懂;存儲路徑透明,較好的數據獨立性和安全保密性;查詢效率低於非關係模型。
數據庫應用系統生命週期
2.1 軟件生命週期是指軟件產品從考慮其概念開始,到該產品不再使用的整個時期。一般包括概念階段、需求階段、設計階段、實現階段、測試階段、安裝部署及交付階段、運行階段與維護階段。數據庫應用系統需求是指用户對數據庫應用系統在功能、性能、行為、設計約束等方面的期望和要求:數據及數據處理、業務、性能、其他存儲安全備份與恢復等。
2.2 數據庫應用系統生命週期模型
1.瀑布模型原理,項目規劃、需求分析、系統設計、實現與部署、運行管理與維護五部分
2.快速原型模型和增量模型原理,允許漸進、迭代地開發DBAS。
3.根據DBAS的軟件組成和各自功能,細化DBAS需求分析和設計階段,引入了數據組織與存儲設計、數據訪問與處理設計、應用設計三條設計主線,分別用於設計DBAS中的數據庫、數據庫事務和應用程序。
4.設計階段細分為概念設計、邏輯設計、物理設計三個步驟,每一步涵蓋三條設計主線。
需求分析及功能建模方法
3.1 數據元素(列)是數據處理中的最小單位。
3.2 DFD圖:數據流(標有名字的箭頭)、處理、數據存儲(橫圓柱)、數據源/終點(稜形)
3.3 IDEF0圖:更好地理解需求;ICOM(輸入、控制、輸出、機制)碼;至少一個控制和輸出箭頭。A-0;A0(頂層圖);A1;A11
3.4 DFD與IDEF0的比較:結構化分析思想:自頂而下逐級細化
圖用箭頭也叫數據流來描述數據移動的方向、數據處理之間的數據依賴關係,IDEF0圖也用箭頭表示數據流,但不強調流或順序,強調數據約束,箭頭語義更豐富。
模型有四種元素,IDEF0圖只有兩種:箭頭和活動
0圖更加規範。其概念、建模方法、畫圖規則等均有説明和規定
0模型結構更清楚,便於理解和溝通
3.5 結構化分析及建模方法的優點:
1)不過早陷入具體的細節,從整體或宏觀入手分析問題,如業務系統的總體結構,系統及子系統的.關係。
2)通過圖形化的模型對象直觀地表示系統完成什麼功能,方便系統分析員理解和描述系統。
3)模型對象不涉及太多技術術語,便於用户理解模型。
數據庫概念設計與數據建模
4.1 概念設計的目的和任務:面向現實世界,理解和描述應用領域中的數據需求,分析確定系統需要存儲和處理什麼數據。過程:確定實體集;確定聯繫和聯繫類型;建立由信息模型表示的業務模型;確定實體集屬性;優化信息模型。
4.2 實體集描述具有相同屬性特徵和性質的事物集合;屬性描述實體集具有的某一特徵或性質
4.3 IDEF1X:標定型(子依父實例才標定)(確定型);非標定型(確定型);分類;不確定
關係數據庫邏輯設計
5.1 關係數據庫:按照二維表格組織和存儲的相互關聯的關係(表)的集合。
關係數據庫採用關係模型在計算機中組織、存儲、處理和管理數據。
5.2 主碼約束:惟一性;最小性,不能取空值,並且取值要唯一
外碼約束:如果兩個關係R和S,X是R的屬性或屬性組,且X不是R的碼,但X是S的碼,則稱X是R的外碼。或者取空值,或者等於S中某個元組的主碼的值。
5.3 邏輯設計的內容:定義和描述數據庫的全局邏輯結構、數據之間的關係、數據的完整性等
目的:得到實際數據庫管理系統可以處理的數據庫模式。
步聚:ER圖轉化關係模式;優化關係模式;數據完整性設計;外模式設計
5.4 關係模式描述關係的靜態結構,由模式名、屬性、完整性約束組成,關係是一個表中記錄的集合,關注和強調的是值(模式實例)的集合,也是關係模式在某一時刻狀態的反映。
5.5 關係的完整性(完整性約束):對關係所滿足條件的定義。作用:限定和檢查數據庫所含實例的合法性和正確性。靜態:主碼、外碼、域(用户定義);動態:基於業務規則
5.6 偽傳遞規則:X-Y,YW-Z,則XW-Z成立。
5.7 規範化設計理論的主要內容是範式,即關係模式滿足的條件,它是數據庫邏輯設計的指南,也是衡量關係模式設計優劣的標準。目的:消除數據宂餘及避免操作異常,基本過程:對關係進行分解。一個低級範式的關係模式通過分解(投影)方法可轉換成多個高一級範式的關係模式的集合,這個過程叫規範化。
5.8 1NF:R的每一屬性均不可再分;
2NF:是1NF且每個非主屬性完全依賴於主碼。在1上消除非主屬性對主碼的部分函數依賴;
3NF:是1NF且每個非主屬性只依賴於主碼。在2上消除非主屬對主碼的傳遞函數依賴。
5.9 ER模型轉換關係模型:實體集轉為同名關係;聯繫轉為一個關係,各實體集的碼及聯繫的屬性轉為關係的屬性(1:1均可、1:n取n、m:n取集);合併具有相同碼的關係。
存儲技術與數據庫物理設計
6.1 物理設計是在具體的硬件環境、OS、DBMS約束下,基於邏輯設計,設計具體數據存儲結構和存取方式。目的:佔用空間少、訪問效率高、維護代價低。主要步驟有數據庫邏輯模式調整、文件組織與存取設計、數據分佈設計、安全模式設計、確定系統配置、物理模式評估。
6.2 索引技術(Indexing)是一種快速文件訪問技術,它將文件記錄在某個或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯繫起來,提供了一種根據記錄域的取值快速訪問文件記錄的機制。索引文件是一種利用索引技術支持快速文件訪問的文件組織和存取方法。
索引加快了查詢記錄卻減慢了數據更新速度,本身還佔用一定的存儲空間。
6.3 文件組織:如何將關係數據庫中的關係映射為操作系統中的數據庫文件,及管理文件。
文件結構:如何將DB文件中的邏輯記錄映射到物理文件的中磁盤塊。
文件存取:針對某種結構的DB文件,如何查、添刪改其中的邏輯記錄
6.4 數據字典:數據庫各類對象的描述信息、數據庫管理系統的控制信息。包括關係模式信息、與視圖描述有關的信息、關係的存儲結構和存取方法信息、完整性約束、安全性有關的信息、數據庫運行統計信息。
作用:DBA用來監視DBMS的使用情況並協助完成管理工作;一般用户可用於查閲部分數據庫結構信息;DBS運行時各子系統頻繁使用以完成相應的存儲和查詢處理功能。
6.5 DBMS的三種完整性控制機制:CHECK子句、斷言、觸發器
斷言語句:Create assertion 斷言約束名 check (…)
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,分佈式事務協調器,同一事務訪問多個服務器