四級數(shù)據(jù)庫重難點(diǎn)及四級英語作文模板_第1頁
四級數(shù)據(jù)庫重難點(diǎn)及四級英語作文模板_第2頁
四級數(shù)據(jù)庫重難點(diǎn)及四級英語作文模板_第3頁
四級數(shù)據(jù)庫重難點(diǎn)及四級英語作文模板_第4頁
四級數(shù)據(jù)庫重難點(diǎn)及四級英語作文模板_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章引言1.數(shù)據(jù)是描述現(xiàn)實(shí)世界事物的符號記錄,是用物理符號記錄下來的可以識別的信息。數(shù)據(jù)是信息的符號表示,是載體;信息是數(shù)據(jù)的語義解釋,是內(nèi)涵。2.數(shù)據(jù)模型是對現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫系統(tǒng)的形式框架,用來描述數(shù)據(jù)的一組概念和定義,包括描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)操作、數(shù)據(jù)語義以及數(shù)據(jù)一致性的概念工具。滿足三條件:比較真實(shí)地模擬現(xiàn)實(shí)世界;易于人們理解;易于計(jì)算機(jī)實(shí)現(xiàn)三個組成要素:數(shù)據(jù)結(jié)構(gòu)(靜態(tài),數(shù)據(jù)對象本身結(jié)構(gòu)及之間的聯(lián)系)、數(shù)據(jù)操作(對數(shù)據(jù)對象操作及操作規(guī)則的集合)和完整性約束(語義約束:數(shù)據(jù)模型、數(shù)據(jù)內(nèi)部及之間聯(lián)系)3.模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,也稱為邏輯模式或概念模式。

外模式是對數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。

內(nèi)模式是對數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述,也稱為物理模式或存儲模式。當(dāng)數(shù)據(jù)庫模式發(fā)生變化時,通過調(diào)整外模式/模式間的映像關(guān)系,使得應(yīng)用程序不必隨之修改,從而保證數(shù)據(jù)與應(yīng)用程序間的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。

當(dāng)數(shù)據(jù)庫數(shù)據(jù)的物理存儲結(jié)構(gòu)改變時,通過調(diào)整模式/內(nèi)模式映像關(guān)系,保持?jǐn)?shù)據(jù)庫模式不變,使數(shù)據(jù)庫系統(tǒng)的外模式和應(yīng)用程序不隨之改變,保證數(shù)據(jù)與應(yīng)用程序間的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。4.數(shù)據(jù)庫是存儲在計(jì)算機(jī)內(nèi)的共享數(shù)據(jù)集合,數(shù)據(jù)庫管理系統(tǒng)是一種數(shù)據(jù)管理系統(tǒng)軟件。數(shù)據(jù)庫系統(tǒng)則是在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的軟硬件系統(tǒng)構(gòu)成,包括了數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應(yīng)用程序。5.DBMS的主要功能有數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運(yùn)行管理與控制、數(shù)據(jù)庫建立與維護(hù)。

DBMS包括查詢處理器和存儲管理器。查詢處理器實(shí)現(xiàn)面向用戶的查詢分析處理和優(yōu)化功能。存儲管理器為用戶和應(yīng)用程序提供了訪問存儲在數(shù)據(jù)庫文件中的應(yīng)用數(shù)據(jù)的接口。6.關(guān)系模型用二維表表示實(shí)體及實(shí)體之間的聯(lián)系,現(xiàn)實(shí)世界中的每個客觀對象對應(yīng)表中的一行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特征,列的值(屬性的取值)刻畫和描述客觀對象的某一具體的特征。優(yōu)缺點(diǎn):建立在“集合”“關(guān)系”上,嚴(yán)格成熟的理念基礎(chǔ);用關(guān)系表示實(shí)體及之間聯(lián)系,簡單易懂;存儲路徑透明,較好的數(shù)據(jù)獨(dú)立性和安全保密性;查詢效率低于非關(guān)系模型。第2章數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期2.1

軟件生命周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個時期。一般包括概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、測試階段、安裝部署及交付階段、運(yùn)行階段與維護(hù)階段。數(shù)據(jù)庫應(yīng)用系統(tǒng)需求是指用戶對數(shù)據(jù)庫應(yīng)用系統(tǒng)在功能、性能、行為、設(shè)計(jì)約束等方面的期望和要求:數(shù)據(jù)及數(shù)據(jù)處理、業(yè)務(wù)、性能、其他存儲安全備份與恢復(fù)等。2.2數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期模型1.瀑布模型原理,項(xiàng)目規(guī)劃、需求分析、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)與部署、運(yùn)行管理與維護(hù)五部分

2.快速原型模型和增量模型原理,允許漸進(jìn)、迭代地開發(fā)DBAS。

3.根據(jù)DBAS的軟件組成和各自功能,細(xì)化DBAS需求分析和設(shè)計(jì)階段,引入了數(shù)據(jù)組織與存儲設(shè)計(jì)、數(shù)據(jù)訪問與處理設(shè)計(jì)、應(yīng)用設(shè)計(jì)三條設(shè)計(jì)主線,分別用于設(shè)計(jì)DBAS中的數(shù)據(jù)庫、數(shù)據(jù)庫事務(wù)和應(yīng)用程序。

4.設(shè)計(jì)階段細(xì)分為概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)三個步驟,每一步涵蓋三條設(shè)計(jì)主線。第3章需求分析及功能建模方法3.1數(shù)據(jù)元素(列)是數(shù)據(jù)處理中的最小單位。3.2DFD圖:數(shù)據(jù)流(標(biāo)有名字的箭頭)、處理、數(shù)據(jù)存儲(橫圓柱)、數(shù)據(jù)源/終點(diǎn)(棱形)3.3IDEF0圖:更好地理解需求;ICOM(輸入、控制、輸出、機(jī)制)碼;至少一個控制和輸出箭頭。A-0;A0(頂層圖);A1;A113.4DFD與IDEF0的比較:結(jié)構(gòu)化分析思想:自頂而下逐級細(xì)化1.DFD圖用箭頭也叫數(shù)據(jù)流來描述數(shù)據(jù)移動的方向、數(shù)據(jù)處理之間的數(shù)據(jù)依賴關(guān)系,IDEF0圖也用箭頭表示數(shù)據(jù)流,但不強(qiáng)調(diào)流或順序,強(qiáng)調(diào)數(shù)據(jù)約束,箭頭語義更豐富。2.DFD模型有四種元素,IDEF0圖只有兩種:箭頭和活動3.IDEF0圖更加規(guī)范。其概念、建模方法、畫圖規(guī)則等均有說明和規(guī)定4.IDEF0模型結(jié)構(gòu)更清楚,便于理解和溝通3.5結(jié)構(gòu)化分析及建模方法的優(yōu)點(diǎn):1)不過早陷入具體的細(xì)節(jié),從整體或宏觀入手分析問題,如業(yè)務(wù)系統(tǒng)的總體結(jié)構(gòu),系統(tǒng)及子系統(tǒng)的關(guān)系。

2)通過圖形化的模型對象直觀地表示系統(tǒng)完成什么功能,方便系統(tǒng)分析員理解和描述系統(tǒng)。

3)模型對象不涉及太多技術(shù)術(shù)語,便于用戶理解模型。第4章數(shù)據(jù)庫概念設(shè)計(jì)與數(shù)據(jù)建模4.1概念設(shè)計(jì)的目的和任務(wù):面向現(xiàn)實(shí)世界,理解和描述應(yīng)用領(lǐng)域中的數(shù)據(jù)需求,分析確定系統(tǒng)需要存儲和處理什么數(shù)據(jù)。過程:確定實(shí)體集;確定聯(lián)系和聯(lián)系類型;建立由信息模型表示的業(yè)務(wù)模型;確定實(shí)體集屬性;優(yōu)化信息模型。4.2實(shí)體集描述具有相同屬性特征和性質(zhì)的事物集合;屬性描述實(shí)體集具有的某一特征或性質(zhì)4.3IDEF1X:標(biāo)定型(子依父實(shí)例才標(biāo)定)(確定型);非標(biāo)定型(確定型);分類;不確定第5章關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)5.1關(guān)系數(shù)據(jù)庫:按照二維表格組織和存儲的相互關(guān)聯(lián)的關(guān)系(表)的集合。

關(guān)系數(shù)據(jù)庫采用關(guān)系模型在計(jì)算機(jī)中組織、存儲、處理和管理數(shù)據(jù)。5.2主碼約束:惟一性;最小性,不能取空值,并且取值要唯一外碼約束:如果兩個關(guān)系R和S,X是R的屬性或?qū)傩越M,且X不是R的碼,但X是S的碼,則稱X是R的外碼。或者取空值,或者等于S中某個元組的主碼的值。5.3邏輯設(shè)計(jì)的內(nèi)容:定義和描述數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)、數(shù)據(jù)之間的關(guān)系、數(shù)據(jù)的完整性等目的:得到實(shí)際數(shù)據(jù)庫管理系統(tǒng)可以處理的數(shù)據(jù)庫模式。步聚:ER圖轉(zhuǎn)化關(guān)系模式;優(yōu)化關(guān)系模式;數(shù)據(jù)完整性設(shè)計(jì);外模式設(shè)計(jì)5.4關(guān)系模式描述關(guān)系的靜態(tài)結(jié)構(gòu),由模式名、屬性、完整性約束組成,關(guān)系是一個表中記錄的集合,關(guān)注和強(qiáng)調(diào)的是值(模式實(shí)例)的集合,也是關(guān)系模式在某一時刻狀態(tài)的反映。5.5關(guān)系的完整性(完整性約束):對關(guān)系所滿足條件的定義。作用:限定和檢查數(shù)據(jù)庫所含實(shí)例的合法性和正確性。靜態(tài):主碼、外碼、域(用戶定義);動態(tài):基于業(yè)務(wù)規(guī)則5.6偽傳遞規(guī)則:X-Y,YW-Z,則XW-Z成立。5.7規(guī)范化設(shè)計(jì)理論的主要內(nèi)容是范式,即關(guān)系模式滿足的條件,它是數(shù)據(jù)庫邏輯設(shè)計(jì)的指南,也是衡量關(guān)系模式設(shè)計(jì)優(yōu)劣的標(biāo)準(zhǔn)。目的:消除數(shù)據(jù)冗余及避免操作異常,基本過程:對關(guān)系進(jìn)行分解。一個低級范式的關(guān)系模式通過分解(投影)方法可轉(zhuǎn)換成多個高一級范式的關(guān)系模式的集合,這個過程叫規(guī)范化。5.81NF:R的每一屬性均不可再分;2NF:是1NF且每個非主屬性完全依賴于主碼。在1上消除非主屬性對主碼的部分函數(shù)依賴;3NF:是1NF且每個非主屬性只依賴于主碼。在2上消除非主屬對主碼的傳遞函數(shù)依賴。5.9ER模型轉(zhuǎn)換關(guān)系模型:實(shí)體集轉(zhuǎn)為同名關(guān)系;聯(lián)系轉(zhuǎn)為一個關(guān)系,各實(shí)體集的碼及聯(lián)系的屬性轉(zhuǎn)為關(guān)系的屬性(1:1均可、1:n取n、m:n取集);合并具有相同碼的關(guān)系。第6章存儲技術(shù)與數(shù)據(jù)庫物理設(shè)計(jì)6.1物理設(shè)計(jì)是在具體的硬件環(huán)境、OS、DBMS約束下,基于邏輯設(shè)計(jì),設(shè)計(jì)具體數(shù)據(jù)存儲結(jié)構(gòu)和存取方式。目的:占用空間少、訪問效率高、維護(hù)代價低。主要步驟有數(shù)據(jù)庫邏輯模式調(diào)整、文件組織與存取設(shè)計(jì)、數(shù)據(jù)分布設(shè)計(jì)、安全模式設(shè)計(jì)、確定系統(tǒng)配置、物理模式評估。6.2索引技術(shù)(Indexing)是一種快速文件訪問技術(shù),它將文件記錄在某個或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯(lián)系起來,提供了一種根據(jù)記錄域的取值快速訪問文件記錄的機(jī)制。索引文件是一種利用索引技術(shù)支持快速文件訪問的文件組織和存取方法。索引加快了查詢記錄卻減慢了數(shù)據(jù)更新速度,本身還占用一定的存儲空間。6.3文件組織:如何將關(guān)系數(shù)據(jù)庫中的關(guān)系映射為操作系統(tǒng)中的數(shù)據(jù)庫文件,及管理文件。文件結(jié)構(gòu):如何將DB文件中的邏輯記錄映射到物理文件的中磁盤塊。文件存取:針對某種結(jié)構(gòu)的DB文件,如何查、添刪改其中的邏輯記錄6.4數(shù)據(jù)字典:數(shù)據(jù)庫各類對象的描述信息、數(shù)據(jù)庫管理系統(tǒng)的控制信息。包括關(guān)系模式信息、與視圖描述有關(guān)的信息、關(guān)系的存儲結(jié)構(gòu)和存取方法信息、完整性約束、安全性有關(guān)的信息、數(shù)據(jù)庫運(yùn)行統(tǒng)計(jì)信息。作用:DBA用來監(jiān)視DBMS的使用情況并協(xié)助完成管理工作;一般用戶可用于查閱部分?jǐn)?shù)據(jù)庫結(jié)構(gòu)信息;DBS運(yùn)行時各子系統(tǒng)頻繁使用以完成相應(yīng)的存儲和查詢處理功能。6.5DBMS的三種完整性控制機(jī)制:CHECK子句、斷言、觸發(fā)器斷言語句:Createassertion斷言約束名check(…)6.6堆文件:數(shù)據(jù)量少且操作頻繁;批量加載數(shù)據(jù)(先選為堆文件再調(diào)整文件結(jié)構(gòu))順序文件:查詢條件定義在查找碼上;快速的二分查找散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機(jī)的。非精確查詢;非散列域B-樹和B+-樹:大數(shù)據(jù)量基本表;聚焦文件:多表連接操作6.7有序索引技術(shù)利用索引文件實(shí)現(xiàn)查找碼取值到記錄物理地址間的映射關(guān)系。索引文件由索引記錄組成,每個記錄中的索引項(xiàng)記錄了某個特定的查找碼值和具有該值的數(shù)據(jù)文件記錄的物理地址。

當(dāng)需要訪問數(shù)據(jù)文件中某個數(shù)據(jù)記錄時,先根據(jù)查找碼值查閱索引文件,找到對應(yīng)的索引項(xiàng),然后從索引項(xiàng)中找出數(shù)據(jù)記錄在數(shù)據(jù)文件中的物理地址.根據(jù)這個地址訪問數(shù)據(jù)記錄。6.8散列技術(shù)是一種快速文件訪問技術(shù),它利用散列函數(shù)實(shí)現(xiàn)文件記錄域取值到記錄物理地址間的直接映射關(guān)系。當(dāng)需要訪問數(shù)據(jù)文件中查找碼值為si的某個或某些文件記錄時,將si作為散列函數(shù)h的輸入計(jì)算得出的散列函數(shù)輸出值h(si)就是文件記錄在數(shù)據(jù)文件中的物理地址。6.9權(quán)限:允許用戶對一給定的數(shù)據(jù)庫對象可執(zhí)行的操作(查詢、添刪改、新建、備份等)。第7章數(shù)據(jù)庫應(yīng)用系統(tǒng)功能設(shè)計(jì)7.1軟件體系結(jié)構(gòu):軟件架構(gòu)={構(gòu)件,連接件,約束}7.2軟件設(shè)計(jì)包括系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)的過程設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)設(shè)計(jì)三方面內(nèi)容(+人機(jī)界面設(shè)計(jì)),從工程管理的角度,分為概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)7.3應(yīng)用軟件分為數(shù)據(jù)庫事務(wù)和應(yīng)用程序。后者一方面可以與數(shù)據(jù)庫事務(wù)協(xié)調(diào)合作,另一方面還可實(shí)現(xiàn)與數(shù)據(jù)庫訪問無關(guān)的功能,如通信、人機(jī)交互。7.4事務(wù):具有邏輯獨(dú)立功能的一系列操作的集合,實(shí)現(xiàn)了某些特定的業(yè)務(wù)規(guī)則。7.5事務(wù)概要設(shè)計(jì)的核心是辨識和設(shè)計(jì)事務(wù)自身的事務(wù)處理邏輯,采用面向數(shù)據(jù)流的程序設(shè)計(jì)方法設(shè)計(jì)事務(wù)內(nèi)部的數(shù)據(jù)處理流程和結(jié)構(gòu)。7.6C/S結(jié)構(gòu)B/S結(jié)構(gòu)特點(diǎn):表示層,WEB瀏覽器;功能層,WEB應(yīng)用服務(wù)器;數(shù)據(jù)層,DBMS服務(wù)優(yōu)點(diǎn):實(shí)現(xiàn)人面交互、應(yīng)用業(yè)務(wù)邏輯處理、數(shù)據(jù)管理三層分離,提高了系統(tǒng)的可維護(hù)性;用WEB瀏覽器可訪問多個異構(gòu)應(yīng)用平臺,解決了跨平臺數(shù)據(jù)管理問題。第8章SQL8.1SQL=StructuredQueryLanguage,結(jié)構(gòu)化查詢語言8.2二進(jìn)制字符串是用十六進(jìn)制表示的,0x前綴8.3創(chuàng)建表:CREATETABLETable_Card(CardIDvarchar(8)NOTNULL,StartDatedatetimeNOTNULL,EndDatedatetimeNOTNULL,ScoreintNOTNULLCHECK(Score>=0)DEFAULT0,Statechar(1)NOTNULLCHECK(Statein(0,1,2)),Sexchar(1)CHECK(Sexin(‘男’,’女’)),AgeintCHECK(Agebetween[16,85]),CustomerIDvarchar(8),CHECK(EndDate>StartDate),PRIMARYKEY(CardID),FOREIGNKEY(CustomerID)REFERENCESTable_Customer(CustomerID))刪除表:DROPTABLETable_Card修改表:ALTERTABLETable_CardADDCardTypechar(4)NULLALTERTABLETable_CardALTERCOLUMNCardTypechar(8)ALTERTABLETable_CardDROPCOLUMNCardType8.4SELECTCnameFROMTablb_CustomerWHEREAddressIN(‘海淀區(qū)’,’朝陽區(qū)’)ANDageBETWEEN40AND50ANDCnameLIKE‘[王張李]%’(‘王__’)ORDERBYStartDateASC,EndDateDESC8.5除COUNT(*)不忽略空值外,其他函數(shù)COUNT(DISTINCT列名)、SUM()、AVG()、MAX()、MIN()均忽略空值。均返回單值。SELECTSUM(Score),MAX(Age),MIN(Age),AVG(Age),COUNT(DISTINCT..)FROMTable8.6分組(GROUPBY)依據(jù)列不能是text,ntext,image和bit類型的列。先分組后計(jì)算統(tǒng)計(jì)每種類別商品的商品數(shù),只列出商品數(shù)大于4個的商品類別編號和商品數(shù):SELECTGoodClassIDas商品類別編號,COUNT(*)as商品數(shù)FROMTable_GoodsGROUPBYGoodClassIDHAVINGCOUNT(*)>48.7自連接:查詢與王曉在同一個區(qū)的顧客的姓名及地址:SELECTT2.Name,T2.AddressFROMTable_CustomerasT1JIONTable_CustomerasT2ONT1.Address=T2.AddressWHERET1.Name=‘王曉’ANDT2.Name!=’王曉’子查詢:一個SELECT語句嵌套在一個SELECT、UPDATE、INSERT或DELETE語句中SELECTName,AddressFROMTable_CustomerWHEREAddressIN(SELECTAddressFROMTable_CustomerWHEREName=’王曉’)ANDName!=’王曉’8.8外連接:LEFTOUTERJOIN左外連接(左表全輸出)RIGHTOUTERJOIN右外連接8.9子查詢:[NOT]IN()集合不相關(guān)子查詢,先內(nèi)后外WHERE列=/</>()比較不相關(guān)子查詢,先內(nèi)后外[NOT]EXIST(SELECT*)存在相關(guān)子查詢,先外后內(nèi)8.10修改數(shù)據(jù):INSERT[INTO]表名[列名表]VALUES(值列表)UPDATE表名SET列名=表達(dá)式[WHERE子句]/DELETE[FROM]表名[WHERE子句]分情況修改:UPDATETable_GoodsSETSalePrice=CASEGoodsClassNameWHEN‘家用電器’THENSalePrice–SalePrice*0.05WHEN‘服裝’THENSalePrice+SalePrice*0.06ELSESalePriceENDFROMTable_GoodsaJIONTable_GoodsClassbONa.ClassID=b.ClassID8.11創(chuàng)建索引:CREATE[UNIQUE][CLUSTERED][NONCLUSTERED]INDEX索引名ON表名(列名[順序(ASC/DESC)])8.12視圖:由從數(shù)據(jù)庫基本表中選取出來的數(shù)據(jù)組成的邏輯窗口,是一個虛表,數(shù)據(jù)庫只存放視圖的定義而不存放視圖包括的數(shù)據(jù)。對視圖的操作最終都會轉(zhuǎn)換為對基本表的操作。CREATEVIEW視圖名[視圖列名表]ASSELECT語句[WITHCHECKOPTION]作用:簡化數(shù)據(jù)查詢語句;使用戶從多角度觀察同一數(shù)據(jù);提高了數(shù)據(jù)安全性(屏蔽掉敏感數(shù)據(jù));提供一定程度的邏輯獨(dú)立性8.13定點(diǎn)數(shù):numeric(p,q)或decimal(p,q),p為精度(數(shù)字位個數(shù)),不大于38,q為小數(shù)位個數(shù);bit類型:只存儲1和0,不多于8個bit列則只用1個字節(jié)存儲8.14Char(n)代表的是普通字符編碼按定長存儲的字符串,“n”的含義是字符的個數(shù),固定占用n個字節(jié)的空間。varchar(n)代表的是普通字符編碼按不定長存儲的字符串,“n”的含義也是字符的個數(shù),按字符的實(shí)際長度占用空間。第9章事務(wù)高度與并發(fā)控制9.1調(diào)度:定義在多個事務(wù)上的調(diào)度是這些事務(wù)的所有操作的一個執(zhí)行序列,代表了這些操作的執(zhí)行順序;沖突操作:事務(wù)Ti的操作Ii與事務(wù)Tj的操作Ij是沖突的,當(dāng)且僅當(dāng)Ii和Ij訪問數(shù)據(jù)庫中同一個數(shù)據(jù)項(xiàng)Q,并且Ii和Ij中至少有一個是寫操作write(Q);沖突可串行:一個并發(fā)調(diào)度沖突等價于某個串行調(diào)度(判斷一個并行調(diào)度是否正確)死鎖是指數(shù)據(jù)庫系統(tǒng)中部分或全部事務(wù)由于無法獲得對需要訪問的數(shù)據(jù)項(xiàng)的控制權(quán)而處于等待狀態(tài),并且將一直等待下去的一種系統(tǒng)狀態(tài)。9.2ACID:Atomicity原子性;Consistency一致性;Isolation隔離性;Durability持久性9.31級加鎖協(xié)議要求事務(wù)T在修改數(shù)據(jù)項(xiàng)Q之前必須先對Q加X鎖,直到事務(wù)結(jié)束才釋放該鎖。事務(wù)結(jié)束包括正常結(jié)束(commit)和非正常結(jié)束(rollback)。但事務(wù)如果是只讀Q而不對其進(jìn)行修改,是不需要對Q加鎖的。

2級加鎖協(xié)議是在1級加鎖協(xié)議基礎(chǔ)上,要求事務(wù)T在讀取數(shù)據(jù)項(xiàng)Q之前必須先對其加S鎖,讀完Q后可以立即釋放S鎖。

3級加鎖協(xié)議則是在1級加鎖協(xié)議基礎(chǔ)上,要求事務(wù)T在讀取數(shù)據(jù)項(xiàng)Q之前必須先對其加S鎖,但是需要等到事務(wù)結(jié)束時才釋放該S鎖。9.42階段鎖協(xié)議將每個事務(wù)的執(zhí)行過程分為加鎖階段和解鎖階段。在加鎖階段,事務(wù)可以申請獲得數(shù)據(jù)項(xiàng)上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務(wù)可以釋放任何數(shù)據(jù)項(xiàng)上的任何類型的鎖,但不能再申請任何鎖。每個事務(wù)開始執(zhí)行后就進(jìn)入了加鎖階段。當(dāng)?shù)谝淮吾尫沛i后,即轉(zhuǎn)入解鎖階段。9.5解決死鎖主要采用死鎖預(yù)防和死鎖檢測與恢復(fù)兩類方法。

死鎖預(yù)防利用死鎖預(yù)防協(xié)議,通過破壞死鎖產(chǎn)生的必要條件來避免系統(tǒng)進(jìn)入死鎖狀態(tài)。一次性加鎖法;順序加鎖法

死鎖檢測與恢復(fù)則是允許系統(tǒng)進(jìn)入死鎖狀態(tài),并且定期檢查系統(tǒng)是否發(fā)生死鎖。當(dāng)發(fā)現(xiàn)系統(tǒng)發(fā)生死鎖后,采取相應(yīng)的恢復(fù)機(jī)制使系統(tǒng)擺脫死鎖狀態(tài)。9.6活鎖產(chǎn)生的原因是在系統(tǒng)非死鎖狀態(tài)下,某些事務(wù)由于始終無法獲得對所需訪問的數(shù)據(jù)項(xiàng)的控制權(quán)而長期等待下去,無法繼續(xù)執(zhí)行。9.7鎖粒度大:被加鎖數(shù)據(jù)項(xiàng)少、事務(wù)并發(fā)執(zhí)行度低、系統(tǒng)開銷??;鎖粒度小則反之9.8基于鎖的并發(fā)控制技術(shù)的原理P166第10章數(shù)據(jù)庫的實(shí)施、運(yùn)行和維護(hù)10.1試運(yùn)行:功能測試;性能測試10.2數(shù)據(jù)庫維護(hù):數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù);數(shù)據(jù)庫的安全性、完整性控制;數(shù)據(jù)庫性能的檢測和改善;數(shù)據(jù)庫的重組和重構(gòu)10.3數(shù)據(jù)庫安全:行政手段制定規(guī)范;權(quán)限管理、口令等;維護(hù)多個數(shù)據(jù)副本;防及除毒10.4數(shù)據(jù)庫重組:按照系統(tǒng)設(shè)計(jì)要求對數(shù)據(jù)庫存儲空間進(jìn)行全面調(diào)整;數(shù)據(jù)庫重構(gòu):業(yè)務(wù)小范圍變化需對數(shù)據(jù)庫邏輯結(jié)構(gòu)作必要改變。10.5數(shù)據(jù)庫監(jiān)控分析:DBA借助相應(yīng)工具監(jiān)測數(shù)據(jù)庫系統(tǒng)的運(yùn)行情況,對監(jiān)測數(shù)據(jù)進(jìn)行分析,評估整個系統(tǒng)的運(yùn)行狀態(tài),為系統(tǒng)的安全運(yùn)行和性能優(yōu)化提供依據(jù)。10.6數(shù)據(jù)庫空間管理:數(shù)據(jù)量增加和碎片使性能降低;空間溢出會帶來災(zāi)難性停機(jī)故障。包括:創(chuàng)建修改刪除數(shù)據(jù)庫空間、新建移動關(guān)聯(lián)數(shù)據(jù)文件等。10.7數(shù)據(jù)庫參數(shù)調(diào)整:外部調(diào)整:CPU、網(wǎng)絡(luò);調(diào)整內(nèi)存分配(改善程度大);調(diào)整磁盤I/O(I/O時間是響應(yīng)時間的最大組成部分);調(diào)整競爭10.8數(shù)據(jù)庫查詢優(yōu)化:合理使用索引;避免或簡化排序(Orderby、Groupby,磁盤排序比內(nèi)存排序開銷大速度慢);避免相關(guān)子查詢、外連接(左右連接比內(nèi)連接消耗大);存儲過程10.9屬于Oracle但不屬于SQLServer的邏輯和物理空間結(jié)構(gòu):表空間、段、區(qū)第11章故障管理11.1故障種類:事務(wù)內(nèi)部故障(事務(wù)回滾撤消修改)、系統(tǒng)故障(影響事務(wù)不壞數(shù)據(jù))、介質(zhì)故障(軟件容錯、硬件容錯)、病毒11.2系統(tǒng)故障對策:重啟,撤消(UNDO)未提交的事務(wù),重做(REDO)已提交的事務(wù)11.3軟件容錯:備份、日志文件,利用恢復(fù)技術(shù);硬件容錯:雙物理存儲設(shè)備11.4恢復(fù)基本原理:冗余,即所有數(shù)據(jù)均可通過存儲在別處的冗余數(shù)據(jù)來重建。11.5對于經(jīng)常進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)庫:完全轉(zhuǎn)儲+差異轉(zhuǎn)儲11.6以記錄為單位的日志文件:開始標(biāo)記(TiBEGINTRANSACTION)、結(jié)束標(biāo)記(TiCOMMIT或者TiROLLBACK)、每個事務(wù)的所有操作(Ti,A,50,80)11.7以數(shù)據(jù)塊為單位的日志文件:存放更新前和更新后的整個數(shù)據(jù)塊。只有事務(wù)標(biāo)識和被更新的數(shù)據(jù)塊,沒有操作類型和操作對象。11.8日志的作用:用來進(jìn)行業(yè)務(wù)故障和系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)(動態(tài)轉(zhuǎn)儲必用);記錄操作監(jiān)視行為分析問題登記原則:登記次序嚴(yán)格按并行事務(wù)執(zhí)行次序;必須先寫日志文件再寫數(shù)據(jù)庫11.9檢查點(diǎn):最大限度減少數(shù)據(jù)庫完全恢復(fù)時所必須執(zhí)行的日志部分(針對系統(tǒng)故障)。11.10數(shù)據(jù)庫鏡像:提高數(shù)據(jù)庫可用性的解決方案(比如介質(zhì)故障,兩臺服務(wù)器相互備份)優(yōu)點(diǎn):提供完整或幾近完整的數(shù)據(jù)冗余,增強(qiáng)數(shù)據(jù)保護(hù);發(fā)生介質(zhì)故障時,數(shù)據(jù)不會丟失且服務(wù)不會中斷,提高數(shù)據(jù)庫可用性;提高鏡像數(shù)據(jù)庫在升級期間的可用性。雙機(jī)互備援模式(均為主);雙機(jī)熱備份模式(一主一備份機(jī))。數(shù)據(jù)庫鏡像可用于并發(fā)操作。11.11RAID廉價冗余磁盤陣列:(鏡像冗余、)校驗(yàn)冗余:對成員磁盤上的數(shù)據(jù)執(zhí)行異或(XOR)操作得到其校驗(yàn)值并存放在另外的校驗(yàn)磁盤上。當(dāng)某個磁盤發(fā)生故障時,只須計(jì)算其他磁盤上的校驗(yàn)數(shù)據(jù)和數(shù)據(jù)的異或便可重新得到該磁盤的值。第12章SQLServer2000數(shù)據(jù)庫管理系統(tǒng)12.1四個服務(wù):SQLServer核心服務(wù);SQLServerAgent:代理服務(wù),代理定期進(jìn)行的管理工作;DTC:DistributedTransactionCoordinator,分布式事務(wù)協(xié)調(diào)器,同一事務(wù)訪問多個服務(wù)器MicrosoftSearch:全文檢索服務(wù)12.2四個版本:企業(yè)版(全部功能、大型數(shù)據(jù)庫)、標(biāo)準(zhǔn)版(小部門)、開發(fā)版(同企業(yè)版,作開發(fā)測試系統(tǒng)用,不作生產(chǎn)服務(wù)用)個人版(移動環(huán)境、本地?cái)?shù)據(jù))12.3服務(wù)帳戶:使用本地系統(tǒng)帳戶:自動取當(dāng)前登錄到Windows的用戶,沒有Windows的網(wǎng)絡(luò)訪問權(quán)限,適用于非網(wǎng)絡(luò)服務(wù)器操作系統(tǒng)(如XP);使用域用戶帳戶:使用Windows身份驗(yàn)證設(shè)置連接到SQLServer,用戶必是Windows系統(tǒng)管理員,適用于網(wǎng)絡(luò)服務(wù)器OS12.4網(wǎng)絡(luò)庫:在SQLS客戶端和服務(wù)器間傳遞網(wǎng)絡(luò)數(shù)據(jù)包。服務(wù)器可一次監(jiān)聽多個網(wǎng)絡(luò)庫12.5SQLServer的兩大類數(shù)據(jù)庫:系統(tǒng)數(shù)據(jù)庫:DBMS自動創(chuàng)建及維護(hù),存放維護(hù)系統(tǒng)正常運(yùn)行的信息,master(系統(tǒng)級信息)、msdb(支持自動執(zhí)行任務(wù))、model(所有用戶數(shù)據(jù)庫的公共信息)、tempdb(臨時數(shù)據(jù)庫),示例Pubs、Northwind;用戶數(shù)據(jù)庫12.6估算存儲空間:SQLServer數(shù)據(jù)存儲單位為頁(Page),一個數(shù)據(jù)頁是一塊8KB的連續(xù)磁盤空間,行不能跨頁存儲,一行數(shù)據(jù)的大小不能超過一頁的大小。一個表10000行數(shù)據(jù),每行3000字節(jié),則需要(10000/2)*8KB=40MB的空間。12.7主數(shù)據(jù)文件:擴(kuò)展名為.mdf,包含數(shù)據(jù)庫系統(tǒng)信息并可存放用戶數(shù)據(jù)庫數(shù)據(jù),每個數(shù)據(jù)庫只有一個主數(shù)據(jù)文件。輔助數(shù)據(jù)文件:擴(kuò)展名為.ndf,數(shù)據(jù)量很大時使用,可存放在不同的磁盤驅(qū)動器上,以便得利用多個磁盤上的存儲空間并提高數(shù)據(jù)存取的并發(fā)性。12.8每個數(shù)據(jù)文件及日志文件(.ldf)初始大小均不得小于512KB,主數(shù)據(jù)文件大小不得小于model數(shù)據(jù)庫主數(shù)據(jù)文件,日志文件最好不小于1MB12.9創(chuàng)建數(shù)據(jù)庫:CREATDATABASEjessyminON――表示數(shù)據(jù)庫按下面參數(shù)創(chuàng)建(NAME=jessymin,――邏輯文件名FILENAME=‘…\MSSQL\Data\jessymin_Data.mdf’,――OS下的物理文件名SIZE=10,――文件初始大小,單位默認(rèn)為MB,下同MAXSIZE=30,――文件最大大小FILEGROWTH=5,――文件增量,為0表示不自動增長,默認(rèn)按當(dāng)前10%增長)LOGON――表示該數(shù)據(jù)庫日志文件按下面參數(shù)創(chuàng)建(……..同上,只是物理文件名為jessymin.LDF)12.10刪除數(shù)據(jù)庫:DROPDATABASEjessymin。刪除六種數(shù)據(jù)庫對象均用DROP12.11Transact-SQL:非過程化高級語言,全司變量@@,局部變量@,局部變量可以是自定義類型但不能是text或image類型。12.12Transact-SQL示例:計(jì)算1+2+3+…+100的和:DECLARE@iint,@sumintSET@i=1,@sum=0--SET可換為SELECTWHILE@i<=100BEGINSET@sum=@sum+@iSET@i=@i+1ENDPRINT@sum12.13DTS(DataTransformationService)數(shù)據(jù)轉(zhuǎn)換服務(wù)。注意區(qū)別DTC(分布式事務(wù)協(xié)調(diào)器)。導(dǎo)出數(shù)據(jù)時用戶必須是要連接的數(shù)據(jù)庫服務(wù)器的合法用戶,且對要導(dǎo)出的表具有查詢權(quán)限第13章數(shù)據(jù)庫對象13.1存儲過程的:SQL語句和控制流語句的預(yù)編譯集合,應(yīng)用程序可通過調(diào)用方法來執(zhí)行優(yōu)點(diǎn):模塊化程序設(shè)計(jì);提高性能;減少網(wǎng)絡(luò)流量;可作為安全機(jī)制使用13.2帶有多個參數(shù)并有默認(rèn)值及輸出參數(shù)的存儲過程示例:CREATEPROCEDUREp_Example@areavarchar(20)=‘武漢大學(xué)’,@Pricemoney,@SumintoutputASSELECT/UPDATE/INSERT/DELETE……SET@Sum=…..應(yīng)用程序中執(zhí)行的SQL語句:Declare@resintEXECUTEp_Example‘武漢大學(xué)信息學(xué)部’,1000,@resoutput或者EXECUTEp_Example@Price=1000,@resoutput13.3用戶自定義函數(shù):標(biāo)量函數(shù)(返回單值,非text、Image類型,任何允許出現(xiàn)表達(dá)式的地方)、內(nèi)嵌表值函數(shù)(返回一個表,放在查詢語句的From子句中)、多語句表值函數(shù)(返回一個可自定義的表,也放在查詢語句的From子句中,視圖和存儲過程的結(jié)合)13.4標(biāo)量函數(shù)救示例:根據(jù)指定的商品類別查詢該類的商品個數(shù)。CREATFUNCTIONdbo.f_GoodsCount(@classvarchar(10))RETURNSintASBEGINDECLARE@xintSELECT@x=count(*)FromT_GoodsClassaJIONT_GoodsbONa.GoodClassID=b.GoodClassIDWHEREGoodClassName=@classRETURN@xEND調(diào)用:SELECTdbo.f_GoodsCount(‘服裝’)或者SELECTGoodsNameAS商品名,dbo.f_GoodsCount(‘服裝’)AS種類數(shù)From….13.5內(nèi)嵌表值函數(shù)的不同之處在于RETURNS后只能是table,RETURN后面只能是單個的SELECT語句,沒有相關(guān)聯(lián)的返回變量也沒有函數(shù)體。調(diào)用時放在查詢語句的FROM子句中。13.6觸發(fā)器是一種不需要由用戶來調(diào)用的存儲過程,當(dāng)用戶對表進(jìn)行UPDATE、INSERT或DELETE操作時自動觸發(fā)執(zhí)行。作用:保證業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。優(yōu)點(diǎn):用編程方法來實(shí)現(xiàn)復(fù)雜的處理邏輯和業(yè)務(wù)規(guī)則,增強(qiáng)數(shù)據(jù)完整性約束。13.7觸發(fā)器適用場合:比CHECK語句更復(fù)雜的數(shù)據(jù)約束(可引用其他表中的列);為保證數(shù)據(jù)庫性能而維護(hù)的非規(guī)范化數(shù)據(jù)(如增加統(tǒng)計(jì)總值的列);實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則13.8AFTER/FOR:后觸發(fā)型觸發(fā)器,可在同一操作上建立多個;INSTEADOF:前觸發(fā)型,在同一操作上只能建立一個。所有的涉及對數(shù)據(jù)庫對象操作的語句均不允許出現(xiàn)在觸發(fā)器中。13.9DELETED表:存儲UPDATE和DELETED操作語句所影響行的更新前的舊數(shù)據(jù);INSERTED表:存儲UPDATE和INSERT操作語句所影響行的更新后的新數(shù)據(jù)。13.10維護(hù)數(shù)據(jù)操作完整性的后觸發(fā)器示例:銷售量大于庫存量則撤銷當(dāng)前銷售,小于時則在插入銷售單據(jù)明細(xì)時同時修改庫存量。CreateTriggerOperatonConONT_SaleDetailFORINSERTASIFEXISTS(Select*FrominsertedaJionT_GoodsbONa.GoodsID=b.GoodsIDWHEREa.Quanity>b.TotalCharge)BEGINROLLBACKPRINT‘此商品庫存量小于此次銷售數(shù)量’ENDELSEUPDATET_GoodsSETTotalCharge=TotalCharge–(SELECTQuanityFrominserted)13.11維護(hù)不同列之間取值完整性的后觸發(fā)器示例:保證商品表中的單價與價格變動表中一致CREATETRIGGERPriceConstraintONT_PriceHistoryFORINSERT,UPDATEASDECLARE@newpricemoneySELECT@newprice=SalePriceFrominsertedUPDATET_GoodsSETSaleUnitPrice=@newpriceWHEREGoodsIDIN(SELECTGoodIDFrominserted)13.12前觸發(fā)器指定執(zhí)行觸發(fā)器而不執(zhí)行引發(fā)觸發(fā)器的SQL語句,因此,如果數(shù)據(jù)操作滿足完整性約束則在觸發(fā)器中必須重新執(zhí)行這些數(shù)據(jù)操作語句。前觸發(fā)器示例:保證銷售單據(jù)中的會員卡是有效日期內(nèi)的會員卡:CREATETRIGGERCardValidONT_SaleDetailINSTEADOFINSERT,UPDATEASIFNOTEXISTS(SElETCT*FrominsertedaJOINT_CardbONa.CardID=b.CardIDWHEREa.SalDateNOTBETWEENb.StartDateANDb.EndDate)INSERTINTOT_SaleDetailSELECT*Frominserted(若滿足條件此語句重新執(zhí)行)13.13用SQL語句修改存儲過程、用戶自定義函數(shù)、觸發(fā)器的語法與創(chuàng)建基本一致,只是將CREATE改為了ALTER。(查詢分析器中實(shí)現(xiàn))第14章安全管理14.1數(shù)據(jù)庫的安全控制:在DBMS的不同層次提供對有意和無意損害行為的安全防范。有意的非法活動:加密存、取數(shù)據(jù);有意的非法操作:用戶身份驗(yàn)證、限制操作權(quán);無意的損壞:提高系統(tǒng)的可靠性和數(shù)據(jù)備份14.2數(shù)據(jù)庫權(quán)限的種類:對DBMS進(jìn)行維護(hù)的權(quán)限;對數(shù)據(jù)庫對象和數(shù)據(jù)進(jìn)行操作的權(quán)限SQLServer權(quán)限種類(與數(shù)據(jù)庫用戶分類對應(yīng)):隱含權(quán)限(預(yù)定義的內(nèi)置權(quán)限);語句權(quán)限(DDL語句權(quán)限,創(chuàng)建刪除數(shù)據(jù)庫對象);對象權(quán)限(DML語句權(quán)限,操作數(shù)據(jù)庫對象)14.3數(shù)據(jù)庫用戶的分類:數(shù)據(jù)庫系統(tǒng)管理員(SA,全部權(quán)限);數(shù)據(jù)庫對象擁有者(創(chuàng)建數(shù)據(jù)庫對象的用戶,對所擁有的對象具有一切權(quán)限);普通用戶:只具有對數(shù)據(jù)的編輯查詢功能14.4三個認(rèn)證過程:身份認(rèn)證,只認(rèn)證用戶是否有連接到數(shù)據(jù)庫服務(wù)器的“連接權(quán)”;合法用戶,驗(yàn)證是否是數(shù)據(jù)庫的合法用戶;權(quán)限認(rèn)證,驗(yàn)證用戶是否具有要進(jìn)行的操作的操作權(quán)限14.5系統(tǒng)內(nèi)置的登錄賬戶:BUILTIN\Administrator;SA;域名\Administrator,均DBMS管理員14.6創(chuàng)建SQLServer身份認(rèn)證的登錄賬戶:EXECUTEsp_addlogin‘user3’,’123’,’jessymin’User3為登錄賬戶,123為密碼,jessymin為默認(rèn)數(shù)據(jù)庫;WINDOWS認(rèn)證:sp_grantlogin14.7刪除登錄賬戶存儲過程:EXECdroplogin‘user3’(SQLServer身份驗(yàn)證);EXECrevokelogin‘Server1\nt_user’(WINDOWS身份驗(yàn)證)14.8登錄賬戶可以連接到SQLServer服務(wù)器上但并不具有訪問任何數(shù)據(jù)庫的能力,必須再成為數(shù)據(jù)庫的合法用戶。一個登錄賬戶可以映射為多個數(shù)據(jù)庫用戶,管理數(shù)據(jù)庫用戶的過程實(shí)際上就是建立登錄賬戶與數(shù)據(jù)庫用戶之間的映射關(guān)系的過程。新建的數(shù)據(jù)默認(rèn)只有一個用戶:dbo,它是數(shù)據(jù)庫的擁有者。14.9創(chuàng)建數(shù)據(jù)庫用戶:EXECsp_adduser‘U2’,’U2’,’user_role’,用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。刪除:EXECsp_dropuser‘U2’14.10合法用戶除了對所屬數(shù)據(jù)庫系統(tǒng)表具有一些查詢權(quán)限外并不對數(shù)據(jù)庫中的用戶數(shù)據(jù)和對象具有任何權(quán)限,還得得到對數(shù)據(jù)庫數(shù)據(jù)和對象的操作權(quán)限14.11收回權(quán)限:不允許用戶或角色具有某種操作權(quán),或者收回曾經(jīng)授予的權(quán)限,置空標(biāo)記;拒絕訪問:拒絕某用戶或角色具有某種操作權(quán),即使由于繼承獲得的權(quán)限也無效,叉叉標(biāo)記14.12用Transact-SQL語句管理對象權(quán)限入管理語句權(quán)限:P24514.13角色:數(shù)據(jù)庫中具有相同權(quán)限的一組用戶。系統(tǒng)預(yù)定義的固定角色;自定義用戶角色14.14固定的服務(wù)器角色:*amdin+dbcreator,權(quán)限最重要最高的是sysadmin,角色成員源均為系統(tǒng)的登錄賬戶:EXECsp_addsrvrolemember‘Server1\nt_user’,‘sysadmin’14.15固定的數(shù)據(jù)庫角色:db_*+public,權(quán)限最高的是db_owner:EXECsp_addrolemember‘db_owner’,’user3’(注意用戶和用色的順序)14.16public角色:每個用戶均自動為其成員,不具任何權(quán)限但可賦予權(quán)限。如果想讓所有數(shù)據(jù)庫用戶均具有某個特定權(quán)限則可將該權(quán)限授予public14.17用戶自定義的用戶角色:EXECsp_addrole‘myrole’14.18只要權(quán)限沒有被拒絕過,角色中成員權(quán)限是角色的權(quán)限加上成員自己的權(quán)限。第15章備份和恢復(fù)數(shù)據(jù)庫15.1備份的兩種方式:先創(chuàng)建備份設(shè)備(備份數(shù)據(jù)庫的場所),再將數(shù)據(jù)庫備份到備份設(shè)備上(永久備份設(shè)備);直接將數(shù)據(jù)庫備份到物理文件上(臨時備份設(shè)備)15.2創(chuàng)建磁盤備份設(shè)備:EXECsp_addumpdevice‘disk’,’mydiskdump’,’..\mydump.bak’15.3常用備份策略:完全備份加差異備份加日志備份,備份和恢復(fù)速度都比較快,而且當(dāng)系統(tǒng)出現(xiàn)故障時丟失的數(shù)據(jù)較少。15.4Transact-SQL語句:BACKUPDATABASE\LOGjessyminTOmydiskdumpWITHINITWITHINIT表示覆蓋掉原有內(nèi)容,相當(dāng)于“重寫現(xiàn)有媒體”15.5恢復(fù)的一般順序:先恢復(fù)最近的完全數(shù)據(jù)庫備份;再恢復(fù)完全備份之后的最近的差異備份;最后按日志備份的先后順序恢復(fù)自最近的完全備份或差異備份之后的所有日志備份。15.6Transact-SQL語句恢復(fù)過程示例:1)首先恢復(fù)完全備份RESTOREDATABASEjessyminFROMmydiskdumpWITHFILE=1,NORECOVERY2)然后恢復(fù)差異備份(如果有的話)RESTOREDATABASEjessyminFROMmydiskdumpWITHFILE=2,NORECOVERY3)最后恢復(fù)日志文件RESTORELOGjessyminFROMmydiskdumpNorecovery表示對數(shù)據(jù)庫的恢復(fù)操作尚未完成,相當(dāng)于“使數(shù)據(jù)不再運(yùn)行,但能還原其他事務(wù)的日志文件”。默認(rèn)為RECOVERY。第16章VB開發(fā)環(huán)境與數(shù)據(jù)訪問接口(鄙人此前未曾用過VB,疏漏淺薄之處敬請見諒…)16.1標(biāo)準(zhǔn)數(shù)據(jù)綁定控件:TextBox、CheckBox、ListBox、ComboxBox等外部(ActiveX)數(shù)據(jù)綁定控件:DataCombo、DataList、DataGrid、MSHFGrid等16.2DBMS支持的兩種數(shù)據(jù)接口:專用接口(與特定的DBMS有關(guān));通用接口(屏蔽掉每個DBMS底層接口的差異,提供一種標(biāo)準(zhǔn)的訪問方法)16.3通用接口:ODBC、OLEDB、JDBC,讓應(yīng)用程序具有很好的適應(yīng)性和可移植性;具備同時訪問多種DBMS系統(tǒng)的能力。16.4ODBC(只訪關(guān)系型DB):開放數(shù)據(jù)庫互連OpenDataBaseConnectivity,ODBC應(yīng)用系統(tǒng)大致工作流程從開始配置數(shù)據(jù)源到回收各種句柄為此。句柄是32位整數(shù)值,代表一個指針。16.5OLEDB:對象鏈接與嵌入的數(shù)據(jù)庫ObjectLinkedandEmbedDataBase,是MicrosoftOLE對象標(biāo)準(zhǔn)的一個實(shí)現(xiàn),是COM對象,是為數(shù)據(jù)訪問而設(shè)計(jì)的一系列COM接口。16.6ADO:動態(tài)數(shù)據(jù)對象ActiveXDataObject,建在OLEDB之上的高層接口集,是介于OLEDB底層接口和應(yīng)用程序之間的接口,它避免了開發(fā)人員直接使用OLEDB底層接口的麻煩。16.7ODBC與OLEDB的主要區(qū)別:1)ODBC只能訪問關(guān)系型數(shù)據(jù)庫,而OLEDB可以訪問關(guān)系和非關(guān)系型甚至是無結(jié)構(gòu)的數(shù)據(jù)。2)OLEDB克服了ODBC的一個主要缺點(diǎn):一個ODBC驅(qū)動程序需要支持幾乎所有的DBMS特征和功能,這需要大量的工作和初始投資,而OLEDB允許DBMS提供商只實(shí)現(xiàn)他們產(chǎn)品的一部分功能。第17章VB數(shù)據(jù)庫應(yīng)用編程17.1CommandType屬性:adCmdUnknown,表示RecordSource中的命令類型未知;adCmdTable表示RecordSource屬性的內(nèi)容來自一張表;adCmdText表示RecordSource屬性的內(nèi)容來自一個查詢語句;adCmdStoredType表示RecordSource屬性的內(nèi)容來自一個存儲過程17.2RecordSet的Move方法組中,MovePrevios和MoveNext沒有自動檢測記錄的當(dāng)前行指針是否移出了結(jié)果集邊界的功能,需編碼實(shí)現(xiàn):myadodc.RecordSet.MoveNext/MovePreviousIfmyadodc.RecordSet.EOF/BOF=TrueThenmyadodc.RecordSet.MoveLast/MoveFirstEndIf17.3保存緩沖區(qū)中的記錄:Update方法;對當(dāng)前記錄指針作一個移動操作17.4CancelUpdate方法:應(yīng)在Update方法之前調(diào)用,調(diào)用了Update方法之后的修改是不能撤銷的;如果沒有添加新記錄也沒有對當(dāng)前記錄做任何修改,調(diào)用CancelUpdate會出錯。17.5Find方法:用于在當(dāng)前結(jié)果集中查找滿足條件的記錄myadodc.RecordSet.Find(“查找條件表達(dá)式”)與RecordSet對象名.Filter“選擇表達(dá)式”相似(.Filter=adFilterNone還原)17.6更新記錄:mydocdc.RecordSet.Fields(“CustomID”)=Trim(txtCID.Text)mydocdc.RecordSet.Fields(“Age”)=CInt(txtAge.Text)mydocdc.RecordSet.Update17.7刪除記錄提示窗口:DimresAsIntegerres=MsgBox(“確實(shí)要刪除此行記錄嗎?”,vbExclamation+vbYesNo+vbDefaultButton2)Ifres=vbYesThenMyadodc.RecordSet.DeleteEndIf17.8在DataGrid中顯示全部列:DimintColAsIntegerWithmydgForintCol=0To.Columns.Count–1.Columns(intCol).Visible=TrueNextEndWith另一種For循環(huán):ForEachparINadocm.Parameters……….Nextpar17.9排序功能實(shí)現(xiàn):(mydg.DataSource=adodc)Withadodc.RecordSetIfoptAsc.Value=TrueThen.Sort=.Field(intCol).Name&“ASC”Else.Sort=.Field(intCol).Name&“DESC”EndIfEndWithmydg.Refresh17.10ADO對象模型Connection對象ErrorS集合Error對象Command對象Parameters集合Parameter對象RecordSet對象Fields集合Field對象17.11Connection對象可以完成的操作:連接數(shù)據(jù)源打開數(shù)據(jù)庫;執(zhí)行一個數(shù)據(jù)庫操作命令;利用Error對象檢查數(shù)據(jù)源返回的出錯信息。17.12銷毀內(nèi)存中的對象:Set對象名=Nothing17.13Command對象的CommandText屬性相當(dāng)于ADO數(shù)據(jù)控件的RecordSource屬性;Command對象的CommandType屬性相當(dāng)于ADO數(shù)據(jù)控件的CommandType屬性17.14RecordSet對象的主要功能是建立記錄集,并支持對記錄集中各數(shù)據(jù)的各種操作。允許用戶直接獲取數(shù)據(jù),因此RecordSet對象與ADO的訪問過程無關(guān)。17.15CursorType屬性:adOpenDynamic動態(tài)游標(biāo):反映所有用戶對數(shù)據(jù)的修改,支持向前及向后移動;adOpenStatic靜態(tài)游標(biāo):不能反映其他用戶的修改,支持向前及向后,當(dāng)打開客戶端RecordSet對象時,adOpenStatic為唯一允許的游標(biāo)類型。當(dāng)打印報表和其他不需要即時完成更新數(shù)據(jù)的應(yīng)用程序來說很有用。adOpenFowardOnly僅向前游標(biāo):默認(rèn)值。僅支持向前移動,其他與adOpenStatic一致。adOpenKeyset鍵集游標(biāo):介于動態(tài)和靜態(tài)游標(biāo)。只看到其他用戶更改的看不到添加刪除的17.16CursorLocation屬性:adUseClient:本地客戶端游標(biāo)。將整個結(jié)果集傳給客戶端,網(wǎng)絡(luò)流量大但下載后瀏覽速度快adUseServer:默認(rèn)值,僅傳送客戶端需要的數(shù)據(jù),網(wǎng)絡(luò)流量小但服務(wù)器資源消耗大。不支持BookMark屬性(書簽,快速再定位)和AbsolutePosition屬性adUseNone:沒有使用游標(biāo)服務(wù)。17.17RecordSet.Open方法:myRs.OpenSource,ActiveConnection,CursorType,LockType,Options1)Source支持的類別:5)Options的可選項(xiàng)一個返回記錄的Command對象///adCmdFileSQL語句――adCmdText表名――adCmdTable存儲過程名――adComdStoredProc2)ActiveConnection:已打開的Connection對象;一個連接字符串示例:DimmyCnnAsNewADODB.ConnectionDimmyRsAsNewADODB.RecordSetmyCnn.Connection=“Provider=SQLOLEDB.1;UserID=sa;”_&“InitialCatalog=商品經(jīng)營管理數(shù)據(jù)庫;DataSource=(local)”myCnn.Open‘別忘了“打開”myRs.Source=“select*fromT_Customer”myRs.ActiveConnection=myCnnmyRs.CursorType=adOpenDynamicmyRs.CursorLocation=adUseClientmyRs.Open,,,,adCmdTalbe17.18創(chuàng)建RecordSet對象的三種方法:1)使用Connection對象:SetmyRs=myConn.Execute(“select*fromT_customer”);2)使用Command對象:SetmyRs=myComm.Execute;3)直接使用Open方法:myRs.Open,,,,17.19Error對象:如果最后一次的操作成功則這個集合為空。只有在OLEDB層產(chǎn)生錯誤才會將每個錯誤被翻譯成Error對象,如果指向一個不存在的提供者則Errors集合不會得到任何信息,因?yàn)锳DO不能發(fā)現(xiàn)這個指定的驅(qū)動程序,因此會將錯誤傳遞到VisualBasicErrors中。17.20三對象結(jié)合使用的典型示例:DimmyCnnAsNewADODB.ConnectionDimmyCmmAsNewADODB.CommandDimmyRsAsNewADODB.RecordSetmyCnn.ConnectionString=“Provider=SQLOLEDB.1;UserID=loginID;”_&“InitialCatalog=jessymin;DataSource=(local)”myCnn.Open‘別忘了“打開”SetmyCmm.ActiveConnection=myCnnmyCmm.CommandText=“select*fromT_Customer”SetmyRs=myCmm.Execute17.21VB自定義函數(shù)示例:將字段空值轉(zhuǎn)化為空字符串PrivateFunctionconvertNull(valAsVariant)AsVariantIfIsNull(val)=TrueThenconvertNull=“”ElseconvertNull=valEndIfEndFunction第18章統(tǒng)一建模語言18.1UML視圖分類:用例視圖:用例圖;結(jié)構(gòu)視圖:類圖、對象圖;行為視圖:順序圖、交互圖、狀態(tài)圖、活動圖;實(shí)現(xiàn)視圖:組件圖;環(huán)境視圖:部署圖18.2類與類之間有關(guān)聯(lián)(聚集,共享聚集+組成)、通用化(繼承)(帶空心三角形的實(shí)線)、依賴(單向?qū)嵕€)、精化(帶空心三角形的虛線)18.3包(子系統(tǒng))的四種可見性還包括實(shí)現(xiàn)可見性,與私有可見性類似。A指向B的單向虛線表示子系統(tǒng)B被子系統(tǒng)A引用。18.4順序圖強(qiáng)調(diào)時間,協(xié)作圖強(qiáng)調(diào)空間,狀態(tài)圖強(qiáng)調(diào)一個實(shí)體在不同時刻的狀態(tài)變化,活動圖強(qiáng)調(diào)程序?qū)ο筮壿嬃鞒痰拇袌?zhí)行順序和并行次序第19章分布式數(shù)據(jù)庫、對象數(shù)據(jù)庫和并行數(shù)據(jù)庫19.1分布式數(shù)據(jù)庫(物理分散邏輯集中)最基本特征:本地自治、非集中式管理、高可用性;分片透明性(最高級)、位置透明性、局部數(shù)據(jù)模型透明性構(gòu)成了分布式數(shù)據(jù)庫的分布透明性。19.2分片是對關(guān)系(表)的操作,分配是對分片結(jié)果的操作。19.3分布式數(shù)據(jù)庫的模式結(jié)構(gòu):全局外模式、全局概念模式、分片模式、分配模式、局部概念模式、局部內(nèi)模式;系統(tǒng)組成結(jié)構(gòu):GDBMS全局、GDD、LDBMS局部、CM通信管理19.4分布式事務(wù)管理:恢復(fù)控制(基于兩階段的提交協(xié)議)和并發(fā)控制(基于封鎖協(xié)議)19.5分布查詢數(shù)據(jù)傳輸量大的主要原因:連接操作和并操作19.6單繼承:一顆樹;多繼承:帶根的有向無回路圖19.7面向?qū)ο髷?shù)據(jù)庫(面向?qū)ο笳Z言中引入數(shù)據(jù)庫):實(shí)現(xiàn)方法主要是擴(kuò)充面向?qū)ο蟪绦蛟O(shè)計(jì)語言,使之能處理持久數(shù)據(jù)。所謂持久數(shù)據(jù),指創(chuàng)建這些數(shù)據(jù)的程序運(yùn)行終止后,數(shù)據(jù)仍然存在于系統(tǒng)之中。數(shù)據(jù)庫中的關(guān)系就是持久數(shù)據(jù)。ObjectStore、Ontos、O2等19.8對象關(guān)系數(shù)據(jù)庫(關(guān)系數(shù)據(jù)庫中引入面向?qū)ο螅簲U(kuò)展的數(shù)據(jù)類型定義;繼承性;擴(kuò)充的SQL語言.InformixUniversalServer、DB2UDB、AdaptiveServer、Oracle8i、SQLServer19.9并行數(shù)據(jù)庫體系結(jié)構(gòu):共享內(nèi)存;共享磁盤(中小型);無共享(最好的,銀行出納、民航售票等OLTP類,缺點(diǎn):通信代價和非本地磁盤訪問代價);層次結(jié)構(gòu)(綜合)19.10一維數(shù)據(jù)劃分方法:輪轉(zhuǎn)法:最適合于掃描整個關(guān)系;散列劃分法:比轉(zhuǎn)轉(zhuǎn)法更適合點(diǎn)查詢,也適合順序掃描關(guān)系;范圍劃分法:明顯利于范圍查詢和點(diǎn)查詢。缺點(diǎn):均不能有效支持非劃分屬性上具有選擇謂詞的查詢。第20章數(shù)據(jù)他倉庫與數(shù)據(jù)挖掘20.1數(shù)據(jù)倉庫解決的問題是如何更合理和理有效的組織企業(yè)的數(shù)據(jù)體系,目的在于根據(jù)決策需求對數(shù)據(jù)采取適當(dāng)?shù)氖侄芜M(jìn)行集成,形成一個綜合的面向分析的數(shù)據(jù)環(huán)境;數(shù)據(jù)挖掘解決的問題是如何針對具體的分析對象和分需求,嘗試智能和自動化的手段把數(shù)據(jù)轉(zhuǎn)換為新的有用的信息和知識。20.2數(shù)據(jù)分類:操作型數(shù)據(jù)(操作型處理,以業(yè)務(wù)處理為主的聯(lián)機(jī)事務(wù)處理OLTP);分析型數(shù)據(jù)(分析型處理,以分析為主的決策支持系統(tǒng)DDS)20.3數(shù)據(jù)倉庫是一個面向主題的、集成的(最重要,抽取、轉(zhuǎn)換、清理、裝載)、非易失的、且隨時間變化的(時變性)數(shù)據(jù)集合,用來支持管理人員的決策。20.4數(shù)據(jù)倉庫的體系結(jié)構(gòu):操作型數(shù)據(jù)、操作型數(shù)據(jù)存儲、數(shù)據(jù)倉庫、數(shù)據(jù)集市;功能層次:數(shù)據(jù)管理、數(shù)據(jù)處理、數(shù)據(jù)應(yīng)用20.5粒度涉及數(shù)據(jù)倉庫的數(shù)據(jù)量和支持的查詢類型。粒度小,細(xì)節(jié)度高,數(shù)據(jù)量大,查詢多20.6ODS(OperationalDataStore,操作型數(shù)據(jù)存儲):一方面,類似于操作型環(huán)境,可進(jìn)行企業(yè)全局性聯(lián)機(jī)操作型處理;另外一方面,是一個面向主題的、集成的數(shù)據(jù)環(huán)境,但數(shù)據(jù)量小,適合于輔助企業(yè)完成日常決策的數(shù)據(jù)處理分析。(秒級、小時級、天級、含反饋信息)20.7數(shù)據(jù)倉庫設(shè)計(jì)以數(shù)據(jù)倉庫的主題數(shù)據(jù)模型設(shè)計(jì)和實(shí)現(xiàn)為核心。20.8OLAP(聯(lián)機(jī)分析處理,On-LineAnalyticalProcessing):支持復(fù)雜的分析操作,側(cè)重對決策人員和高層管理人員的決策支持。20.9多維分析的基本活動:鉆取Drill-Down與卷起Roll-Up;切片Slice與切塊Dice;旋轉(zhuǎn)20.10OLAP的實(shí)現(xiàn)方式:基于多維數(shù)據(jù)庫的;基于關(guān)系數(shù)據(jù)庫的;混合型的20.11數(shù)據(jù)挖掘:數(shù)據(jù)庫知識發(fā)現(xiàn)KDD,從存放在數(shù)據(jù)庫、數(shù)據(jù)倉庫或其他信息庫中的大量數(shù)據(jù)中挖掘有趣知識的過程。三階段:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、結(jié)果的解釋評估20.12數(shù)據(jù)倉庫維護(hù)策略一般分為:實(shí)時維護(hù)、延時維護(hù)、快照維護(hù)20.13建立ODS的目的一般是為支持即時OLAP和全局OLTP兩類應(yīng)用四級作文模板一、討論觀點(diǎn)型1、不同觀點(diǎn)列舉型(選擇型)Thereisawidespreadconcernovertheissuethat_____作文題目_____.Butitiswellknownthattheopinionconcerningthishottopicvariesfrompersontoperson.Amajorityofpeoplethinkthat_____觀點(diǎn)一________.Intheirviewsthereare2factorscontributingtothisattitudeasfollows:inthefirstplace,_____原因一_______.Furthermore,inthesecondplace,___原因二_____.Soitgoeswithoutsayingthat_____觀點(diǎn)一_____.People,however,differintheiropinionsonthismatter.Somepeopleholdtheideathat_____觀點(diǎn)二_______.Intheirpointofview,ontheonehand,_____原因一_______.

Ontheotherhand,_____原因二_____.Therefore,thereisnodoubtthat_____觀點(diǎn)二______.AsfarasIamconcerned,Ifirmlysupporttheviewthat_____觀點(diǎn)一或二______.Itisnotonlybecause________,butalsobecause_________.Themore_______,themore________.2、對比選擇型(1).有一些人認(rèn)為。。。(2).另一些人認(rèn)為。。。(3).我的看法。。。Thetopicof①(主題)isbecomingmoreandmorepopularrecently.Therearetwosidesofopinionsofit.SomepeoplesayAistheirfavorite.Theyholdtheirviewforthereasonof②(支持A的理由一)Whatismore,③(理由二).Moreover,④(理由三).WhileothersthinkthatBisabetterchoiceinthefollowingthreereasons.Firstly,⑤(支持B的理由一).Secondly(besides),⑥(理由二).Thirdly(finally),⑦(理由三).Frommypointofview,Ithink⑧(我的觀點(diǎn)).Thereasonisthat⑨(原因).Asamatteroffact,therearesomeotherreasonstoexplainmychoice.Forme,theformerissurelyawisechoice.SomepeopleareinfavoroftheideaofdoingX.Theypointoutthefactthat支持X的第一個原因。Theyalsoarguethat支持X的另一個原因。However,otherpeoplestandonadifferentground.TheyconsideritharmfultodoX.Theyfirmlypointoutthat反對X的第一個理由.Anexamplecangivethedetailsofthisargument:一個例子。Thereissometruthinbotharguments.ButIthinktheadvantagesofXoverweighthedisadvantages.Inadditiontotheabove-mentionednegativeeffectsitmightbringabout,XalsomayX的有一個壞處。二、討論利弊型Nowadays,thereisawidespreadconcernover(theissuethat)___作文題目______.Infact,therearebothadvantagesanddisadvantagesin__題目議題_____.Generallyspeaking,itiswidelybelievedthereareseveralpositiveaspectsasfollows.Firstly,___優(yōu)點(diǎn)一______.Andsecondly___優(yōu)點(diǎn)二_____.JustAsapopularsayinggoes,everycoinhastwosides,__討論議題______isnoexception,andinanotherword,itstillhasnegativeaspects.Tobeginwith,___缺點(diǎn)一______.Inaddition,____缺點(diǎn)二______.Tosumup,weshouldtrytobringtheadvantagesof__討論議題____intofullplay,andreducethedisadvantagestotheminimumatthesametime.Inthatcase,wewilldefinitelymakeabetteruseofthe____討論議題___.三、答題性型Currently,thereisawidespreadconcernover(theissuethat)__作文題目_______.Itisreallyanimportantconcerntoeveryoneofus.Asaresult,wemustsparenoeffortstotakesomemeasurestosolvethisproblem.Asweknowthattherearemanystepswhichcanbetakentoundothisproblem.Firstofall,__途徑一______.Inaddition,anotherwaycontributingtosuccessofthesolvingproblemis___途徑二_____.Aboveall,tosolvetheproblemof___作文題目______,weshouldfindanumberofvariousways.ButasfarasIamconcerned,Iwouldprefertosolvetheprobleminthisway,thatistosay,____方法_____.問題解決型1、模板1首段(提出問題A)①Nowadays,withtherapideconomicaldevelopmentandintensecompetition,peopleareattachingmoreandmoreimportanceto(提出問題).②Soitisofgreatimportanceforusto(關(guān)注問題的要性).③Ononehand,(問題后果一).④Ontheotherhand,(問題的后果二).⑤Asaresult,wemustsparenoeffortstotakesomemeasurestosolvethisproblem.【1)Attachimportanceto重視=placeimportanceon2)sparenoeffortsto竭盡全力、努力去做3)takesomemeasureto采取措辭】中間段(解決問題的辦法A) ⑥Therearemanystepswhichcanbetakentoundothisproblem.⑦Firstofall,(途徑一).⑧Inaddition,anotherwaycontributingtosuccessofthesolvingproblemis(途徑二).【1)steps=mea

溫馨提示

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

評論

0/150

提交評論