全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師知識(shí)重難點(diǎn)解析_第1頁
全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師知識(shí)重難點(diǎn)解析_第2頁
全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師知識(shí)重難點(diǎn)解析_第3頁
全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師知識(shí)重難點(diǎn)解析_第4頁
全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師知識(shí)重難點(diǎn)解析_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章引言1.數(shù)據(jù)是描述現(xiàn)實(shí)世界事物的符號(hào)記錄,是用物理符號(hào)記錄下來的可以識(shí)別的信 息。數(shù)據(jù)是信息的符號(hào)表示,是載體;信息是數(shù)據(jù)的語義解釋,是內(nèi)涵。2.數(shù)據(jù)模型是對(duì)現(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)二個(gè)組成要素:數(shù)據(jù)結(jié)構(gòu)(靜態(tài),數(shù)據(jù)對(duì)象本身結(jié)構(gòu)及之間的聯(lián)系)、數(shù)據(jù)操作 (對(duì)數(shù)據(jù)對(duì)象操作及操作規(guī)則的集合)和完整性約束(語義約束:數(shù)據(jù)模型、數(shù)據(jù) 內(nèi)部及之間聯(lián)系)3.模式是對(duì)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用

2、戶的公共數(shù)據(jù)視 圖,也稱為邏輯模式或概念模式。外模式是對(duì)數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與 某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。內(nèi)模式是對(duì)數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,也稱為物理模式或存儲(chǔ)模 式。當(dāng)數(shù)據(jù)庫模式發(fā)生變化時(shí),通過調(diào)整外模式/模式間的映像關(guān)系,使得應(yīng)用程序不必 隨之修改,從而保證數(shù)據(jù)與應(yīng)用程序間的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。 當(dāng)數(shù)據(jù)庫數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)改變時(shí),通過調(diào)整模式/內(nèi)模式映像關(guān)系,保持?jǐn)?shù)據(jù)庫 模式不變,使數(shù)據(jù)庫系統(tǒng)的外模式和應(yīng)用程序不隨之改變,保證數(shù)據(jù)與應(yīng)用程序間 的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。4.

3、數(shù)據(jù)庫是存儲(chǔ)在計(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包括查詢處理器和存儲(chǔ)管理器。查詢處理器實(shí)現(xiàn)面向用戶的查詢分析處理和 優(yōu)化功能。存儲(chǔ)管理器為用戶和應(yīng)用程序提供了訪問存儲(chǔ)在數(shù)據(jù)庫文件中的應(yīng)用數(shù) 據(jù)的接口。6.關(guān)系模型用二維表表示實(shí)體及實(shí)體之間的聯(lián)系,現(xiàn)實(shí)世界中的每個(gè)客觀對(duì)象對(duì)應(yīng) 表中的一行叫做一條記錄,表中的每個(gè)列(屬性)描述對(duì)象類的某一特征,列的值 (屬性的取值)刻畫

4、和描述客觀對(duì)象的某一具體的特征。優(yōu)缺點(diǎn):建立在“集合”“關(guān)系”上,嚴(yán)格成熟的理念基礎(chǔ);用關(guān)系表示實(shí)體及之 間聯(lián)系,簡(jiǎn)單易懂;存儲(chǔ)路徑透明,較好的數(shù)據(jù)獨(dú)立性和安全保密性;查詢效率低 于非關(guān)系模型。第2章數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期2.1軟件生命周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個(gè)時(shí)期。 一般包括概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、測(cè)試階段、安裝部署及交付 階段、運(yùn)行階段與維護(hù)階段。數(shù)據(jù)庫應(yīng)用系統(tǒng)需求是指用戶對(duì)數(shù)據(jù)庫應(yīng)用系統(tǒng)在功 能、性能、行為、設(shè)計(jì)約束等方面的期望和要求:數(shù)據(jù)及數(shù)據(jù)處理、業(yè)務(wù)、性能、 其他存儲(chǔ)安全備份與恢復(fù)等。2.2數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期模型1.瀑布模型原理,項(xiàng)

5、目規(guī)劃、需求分析、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)與部署、運(yùn)行管理與維護(hù)五部分2.快速原型模型和增量模型原理,允許漸進(jìn)、迭代地開發(fā)DBAS o3.根據(jù)DBAS的軟件組成和各自功能,細(xì)化 DBAS需求分析和設(shè)計(jì)階段,引入了數(shù) 據(jù)組織與存儲(chǔ)設(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ì)二個(gè)步驟,每一步涵蓋二條設(shè)計(jì)主線。第3章需求分析及功能建模方法3.1數(shù)據(jù)元素(列)是數(shù)據(jù)處理中的最小單位。3.2 DFD圖:數(shù)據(jù)流(標(biāo)有名字的箭頭)、處理、數(shù)據(jù)存儲(chǔ)(橫圓柱)、數(shù)據(jù)源/終點(diǎn)(棱形)3.3 IDEFO圖:更好地理解需求

6、;ICOM(輸入、控制、輸出、機(jī)制)碼;至少一個(gè)控制和輸出箭頭。A-0 ; AO(頂層圖);A1 ; A113.4 DFD與IDEFO的比較:結(jié)構(gòu)化分析思想:自頂而下逐級(jí)細(xì)化1.DFD圖用箭頭也叫數(shù)據(jù)流來描述數(shù)據(jù)移動(dòng)的方向、數(shù)據(jù)處理之間的數(shù)據(jù)依賴關(guān) 系,IDEFO圖也用箭頭表示數(shù)據(jù)流,但不強(qiáng)調(diào)流或順序,強(qiáng)調(diào)數(shù)據(jù)約束,箭頭語義 更豐富。2.DFD模型有四種元素,IDEFO圖只有兩種:箭頭和活動(dòng)3.IDEFO圖更加規(guī)范。其概念、建模方法、畫圖規(guī)則等均有說明和規(guī)定4.IDEFO模型結(jié)構(gòu)更清楚,便于理解和溝通3.5結(jié)構(gòu)化分析及建模方法的優(yōu)點(diǎn):1)不過早陷入具體的細(xì)節(jié),從整體或宏觀入手分析問題,如業(yè)務(wù)系

7、統(tǒng)的總體結(jié)構(gòu), 系統(tǒng)及子系統(tǒng)的關(guān)系。2)通過圖形化的模型對(duì)象直觀地表示系統(tǒng)完成什么功能,方便系統(tǒng)分析員理解和 描述系統(tǒng)。3)模型對(duì)象不涉及太多技術(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)需要存儲(chǔ)和處理什么數(shù)據(jù)。過程:確定實(shí)體集;確定聯(lián)系和聯(lián)系類型; 建立由信息模型表示的業(yè)務(wù)模型;確定實(shí)體集屬性;優(yōu)化信息模型。4.2實(shí)體集描述具有相同屬性特征和性質(zhì)的事物集合;屬性描述實(shí)體集具有的某一特征或性質(zhì)4.3 IDEFIX:標(biāo)定型(子依父實(shí)例才標(biāo)定)(確定型);非標(biāo)定型(確定型);分類;不確定第5章關(guān)系數(shù)

8、據(jù)庫邏輯設(shè)計(jì)5.1關(guān)系數(shù)據(jù)庫:按照二維表格組織和存儲(chǔ)的相互關(guān)聯(lián)的關(guān)系(表)的集合。關(guān)系數(shù)據(jù)庫采用關(guān)系模型在計(jì)算機(jī)中組織、存儲(chǔ)、處理和管理數(shù)據(jù)。險(xiǎn)s5.2主碼約束:惟一性;最小J外碼約束是S的碼如果兩個(gè)關(guān)系R和不能取空值,并且取值要唯一X是R的屬性或?qū)傩越M,且X不是R的碼,但X則稱X是R的外碼?;蛘呷】罩?,或者等于S中某個(gè)元組的主碼的值。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),由模式名、屬性、完整性約束

9、組成,關(guān)系是一 個(gè)表中記錄的集合,關(guān)注和強(qiáng)調(diào)的是值(模式實(shí)例)的集合,也是關(guān)系模式在某一 時(shí)刻狀態(tài)的反映。5.5關(guān)系的完整性(完整性約束):對(duì)關(guān)系所滿足條件的定義。作用:限定和檢查數(shù)據(jù)庫所含實(shí)例的合法性和正確性。靜態(tài):主碼、外碼、域(用戶定義);動(dòng)態(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ù)冗余及避免操作 異常,基本過程:對(duì)關(guān)系進(jìn)行分解。一個(gè)低級(jí)范式的關(guān)系模式通過分解(投影)方法可轉(zhuǎn)換成多個(gè)高一級(jí)范式的關(guān)系模式的集合,這個(gè)過程叫規(guī)范化。

10、5.8 1 NF: R的每一屬性均不可再分;2NF:是1NF且每個(gè)非主屬性完全依賴于主碼。在1上消除非主屬性對(duì)主碼的部分 函數(shù)依賴;3NF:是1NF且每個(gè)非主屬性只依賴于主碼。在2上消除非主屬對(duì)主碼的傳遞函數(shù) 依賴。5.9 ER模型轉(zhuǎn)換關(guān)系模型:實(shí)體集轉(zhuǎn)為同名關(guān)系;聯(lián)系轉(zhuǎn)為一個(gè)關(guān)系,各實(shí)體集的碼及聯(lián)系的屬性轉(zhuǎn)為關(guān)系的屬性(1: 1均可、1. n取n, m: n取集);合并具有相同碼的關(guān)系。第6章存儲(chǔ)技術(shù)與數(shù)據(jù)庫物理設(shè)計(jì)6.1物理設(shè)計(jì)是在具體的硬件環(huán)境、OS, DBMS約束下,基于邏輯設(shè)計(jì),設(shè)計(jì)具體 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和存取方式。目的:占用空間少、訪問效率高、維護(hù)代價(jià)低。主要步 驟有數(shù)據(jù)庫邏輯模式調(diào)整

11、、文件組織與存取設(shè)計(jì)、數(shù)據(jù)分布設(shè)計(jì)、安全模式設(shè)計(jì)、 確定系統(tǒng)配置、物理模式評(píng)估。6.2索引技術(shù)(Indexing)是一種快速文件訪問技術(shù),它將文件記錄在某個(gè)或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯(lián)系起來,提供了一種根據(jù)記 錄域的取值快速訪問文件記錄的機(jī)制。索引文件是一種利用索引技術(shù)支持快速文件 訪問的文件組織和存取方法。索引加快了查詢記錄卻減慢了數(shù)據(jù)更新速度,本身還占用一定的存儲(chǔ)空間。6.3文件組織:如何將關(guān)系數(shù)據(jù)庫中的關(guān)系映射為操作系統(tǒng)中的數(shù)據(jù)庫文件,及管 理文件。文件結(jié)構(gòu):如何將DB文件中的邏輯記錄映射到物理文件的中磁盤塊。文件存取:針對(duì)某種結(jié)構(gòu)的DB文件,如何查、添刪改其中

12、的邏輯記錄6.4數(shù)據(jù)字典:數(shù)據(jù)庫各類對(duì)象的描述信息、數(shù)據(jù)庫管理系統(tǒng)的控制信息。包括關(guān) 系模式信息、與視圖描述有關(guān)的信息、關(guān)系的存儲(chǔ)結(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)行時(shí)各子系統(tǒng)頻繁使用以完成相應(yīng)的存儲(chǔ)和查詢處理功能。6.5 DBMS的三種完整性控制機(jī)制:C日ECK子句、斷言、觸發(fā)器斷言語句:Create assertion斷言約束名check()6.6堆文件:數(shù)據(jù)量少且操作頻繁;批量加載數(shù)據(jù)(先選為堆文件再調(diào)整文件結(jié)構(gòu))順序文件:查詢條件定義在查找碼上;

13、快速的二分查找散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機(jī)的。非精確查詢;非 散列域B一樹和B+一樹:大數(shù)據(jù)量基本表;聚焦文件:多表連接操作6.7有序索引技術(shù)利用索引文件實(shí)現(xiàn)查找碼取值到記錄物理地址間的映射關(guān)系。索 引文件由索引記錄組成,每個(gè)記錄中的索引項(xiàng)記錄了某個(gè)特定的查找碼值和具有該 值的數(shù)據(jù)文件記錄的物理地址。當(dāng)需要訪問數(shù)據(jù)文件中某個(gè)數(shù)據(jù)記錄時(shí),先根據(jù)查找碼值查閱索引文件,找到對(duì)應(yīng) 的索引項(xiàng),然后從索引項(xiàng)中找出數(shù)據(jù)記錄在數(shù)據(jù)文件中的物理地址.根據(jù)這個(gè)地址 訪問數(shù)據(jù)記錄。6.8散列技術(shù)是一種快速文件訪問技術(shù),它利用散列函數(shù)實(shí)現(xiàn)文件記錄域取值到記 錄物理地址間的直接映射關(guān)系。當(dāng)需要

14、訪問數(shù)據(jù)文件中查找碼值為si的某個(gè)或某些 文件記錄時(shí),將si作為散列函數(shù)h的輸入計(jì)算得出的散列函數(shù)輸出值h(si)就是文件 記錄在數(shù)據(jù)文件中的物理地址。6.9權(quán)限:允許用戶對(duì)一給定的數(shù)據(jù)庫對(duì)象可執(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ù):具有

15、邏輯獨(dú)立功能的一系列操作的集合,實(shí)現(xiàn)了某些特定的業(yè)務(wù)規(guī)則。7.5事務(wù)概要設(shè)計(jì)的核心是辨識(shí)和設(shè)計(jì)事務(wù)自身的事務(wù)處理邏輯,采用面向數(shù)據(jù)流 的程序設(shè)計(jì)方法設(shè)計(jì)事務(wù)內(nèi)部的數(shù)據(jù)處理流程和結(jié)構(gòu)。7.6 C/S結(jié)構(gòu)特點(diǎn):數(shù)據(jù)管理和數(shù)據(jù)處理被分在客戶端和服務(wù)器上;服務(wù)器可支持多個(gè)客戶端;客戶端也可訪問多個(gè)服務(wù)器;客戶端一人機(jī)交互+數(shù)據(jù)處理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è)異構(gòu)應(yīng)用平臺(tái),解決了跨平臺(tái)數(shù)據(jù)管理問題。第8章SQL8.1 SQL=Structured

16、 Query Language,結(jié)構(gòu)化查詢語言8.2二進(jìn)制字符串是用十六進(jìn)制表示的,Ox前綴8.3創(chuàng)建表:CREATE TABLE Table Card(CardID varchar(8) NOT NULL,StartDate datetime NOT NULL,EndDate datetime NOT NULL,Score int NOT NULL CHECK(Score >=0) DEFAULT 0,State char(1)NOT NULL CHECK(State in (0,1,2),Sex char(1)CHECK(Sex in(男,女),Age int CHECK( Age

17、between16,85),CustomerlD varchar(8),CHECK(EndDate>StartDate),PRIMARY KEY (CardID),F(xiàn)OREIGN KEY (CustomerlD) REFERENCES Table_ Customer(CustomerlD)冊(cè)(除表:修改表:DROP TABLE幾ble CardALTER TABLE Table CardALTER TABLE Table CardALTER TABLE Table CardADD CardType char(4) NULLALTER COLUMN CardType char(8)DROP

18、 COLUMN CardType8.4 SELECT Cname FROM Tablb Customer WHEREAddress IN海淀區(qū),朝陽區(qū))AN Dage BETWEEN 40 AND 50 ANDCname LIKE【王張李%(王_)ORDER BY StartDate ASC, EndDate DESC8.5除COUNT(*)不忽略空值外,其他函數(shù)COUNT ( DISTINCT列名)、SUM()、AV G()、MAX()、MIN()均忽略空值。均返回單值。SELECT SUM (Score),MAX(Age),MIN(Age),AVG(Age),COUNT (DISTINCT

19、二)FROM Table8.6分組(GROUP BY)依據(jù)列不能是text,ntext,image和bit類型的列。先分組 后計(jì)算統(tǒng)計(jì)每種類別商品的商品數(shù),只列出商品數(shù)大于4個(gè)的商品類別編號(hào)和商品數(shù): SELECT GoodCIassID as商品類別編號(hào),COUNT(*)as商品數(shù)FROMTable GoodsGROUP BY GoodCIassID HAVING COUNT(*)>48.7自連接:查詢與王曉在同一個(gè)區(qū)的顧客的姓名及地址:SELECT T2.Name,T2.Address FROM飛ble Customer as T1 JION Table Customer as T2

20、ON T1.Address=T2.Address WHERE T1.Name=王曉AN DT2.Name!=王曉 子查詢:一個(gè)SELEC丁語句嵌套在一個(gè)SELEC丁、UPDATE, INSER丁或DELE丁E 語句中SELECT Name,Address FROM飛ble_Customer WHERE Address IN(SELECT Address FROM Table_ Customer WHERE Name=王曉)AND Name=王曉8.8外連接:LEF丁OU丁ER JOIN左外連接(左表全輸出)RIG日丁OU丁ER JOIN右 外連接8.9子查詢:NOT IN集合不相關(guān)子查詢,先內(nèi)

21、后外W日ERE列_/</>)比較不相關(guān)子查詢,先內(nèi)后外NOT EXIS丁(SELEC丁*)存在相關(guān)子查詢,先外后 內(nèi)8.10修改數(shù)據(jù):INSERT INTO表名【列名表VALUES(值列表)UPDATE表名SET列名一表達(dá)式W日ERE子句/ DELETE FROM表名WHERE子句分情況修改:UPDATE Table GoodsSET SalePrice= CASE GoodsCIassNameWHEN家用電器THEN SalePrice一SalePrice*0.05WHEN服裝THEN SalePrice+SalePrice*0.06 ELSE SalePriceENDFROM

22、Table Goods a J ION Table GoodsClass b ON a.Class舊=b.Class舊8.11創(chuàng)建索引:CREATE UNIQUECLUSTEREDNONCLUSTERED INDEX索引名ON表名(列名【順序(ASC/DESC)8.12視圖:由從數(shù)據(jù)庫基本表中選取出來的數(shù)據(jù)組成的邏輯窗口,是一個(gè)虛表,數(shù) 據(jù)庫只存放視圖的定義而不存放視圖包括的數(shù)據(jù)。對(duì)視圖的操作最終都會(huì)轉(zhuǎn)換為對(duì) 基本表的操作。CREATE VIEW視圖名【視圖列名表ASSELEC丁語句WITH CHECK OPTION作用:簡(jiǎn)化數(shù)據(jù)查詢語句;使用戶從多角度觀察同一數(shù)據(jù);提高了數(shù)據(jù)安全性(屏 蔽掉

23、敏感數(shù)據(jù));提供一定程度的邏輯獨(dú)立性8.13定點(diǎn)數(shù):numeric(p,q)或decimal(p,q),p為精度(數(shù)字位個(gè)數(shù)),不大于38 q為小數(shù)位個(gè)數(shù);bit類型:只存儲(chǔ)1和0,不多于8個(gè)bit列則只用1個(gè)字節(jié)存儲(chǔ)8.14 Char(n)代表的是普通字符編碼按定長(zhǎng)存儲(chǔ)的字符串,"n”的含義是字符的個(gè)數(shù), 固定占用n個(gè)字節(jié)的空間。varchar(n)代表的是普通字符編碼按不定長(zhǎng)存儲(chǔ)的字符 串,an;的含義也是字符的個(gè)數(shù),按字符的實(shí)際長(zhǎng)度占用空間。第9章事務(wù)高度與并發(fā)控制9.1調(diào)度:定義在多個(gè)事務(wù)上的調(diào)度是這些事務(wù)的所有操作的一個(gè)執(zhí)行序列,代表 了這些操作的執(zhí)行順序;沖突操作:事務(wù)T

24、i的操作Ii與事務(wù)Tj的操作Ij是沖突的, 當(dāng)且僅當(dāng)Ii和Ij訪問數(shù)據(jù)庫中同一個(gè)數(shù)據(jù)項(xiàng)Q,并且Ii和Ij中至少有一個(gè)是寫操 作write(Q);沖突可串行:一個(gè)并發(fā)調(diào)度沖突等價(jià)于某個(gè)串行調(diào)度(判斷一個(gè)并行 調(diào)度是否正確)死鎖是指數(shù)據(jù)庫系統(tǒng)中部分或全部事務(wù)由于無法獲得對(duì)需要訪問的數(shù)據(jù)項(xiàng)的控制 權(quán)而處于等待狀態(tài),并且將一直等待下去的一種系統(tǒng)狀態(tài)。9.2 ACID: Atomicity原子性;Consistency一致性;Isolation隔離性;Durability持久性9.3 1級(jí)加鎖協(xié)議要求事務(wù)丁在修改數(shù)據(jù)項(xiàng)Q之前必須先對(duì)Q加X鎖,直到事務(wù)結(jié) 束才釋放該鎖。事務(wù)結(jié)束包括正常結(jié)束(commit和

25、非正常結(jié)束(rollback。但事 務(wù)如果是只讀Q而不對(duì)其進(jìn)行修改,是不需要對(duì)Q加鎖的。2級(jí)加鎖協(xié)議是在1級(jí)加鎖協(xié)議基礎(chǔ)上,要求事務(wù)丁在讀取數(shù)據(jù)項(xiàng)Q之前必須先對(duì) 其加S鎖,讀完Q后可以立即釋放S鎖。3級(jí)加鎖協(xié)議則是在1級(jí)加鎖協(xié)議基礎(chǔ)上,要求事務(wù)丁在讀取數(shù)據(jù)項(xiàng)Q之前必須先 對(duì)其加S鎖,但是需要等到事務(wù)結(jié)束時(shí)才釋放該S鎖。9.4 2階段鎖協(xié)議將每個(gè)事務(wù)的執(zhí)行過程分為加鎖階段和解鎖階段。在加鎖階段,事 務(wù)可以申請(qǐng)獲得數(shù)據(jù)項(xiàng)上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事 務(wù)可以釋放任何數(shù)據(jù)項(xiàng)上的任何類型的鎖,但不能再申請(qǐng)任何鎖。每個(gè)事務(wù)開始執(zhí) 行后就進(jìn)入了加鎖階段。當(dāng)?shù)谝淮吾尫沛i后,即轉(zhuǎn)入解鎖階

26、段。9.5解決死鎖主要采用死鎖預(yù)防和死鎖檢測(cè)與恢復(fù)兩類方法。死鎖預(yù)防利用死鎖預(yù)防協(xié)議,通過破壞死鎖產(chǎn)生的必要條件來避免系統(tǒng)進(jìn)入死鎖狀 態(tài)。一次性加鎖法;順序加鎖法死鎖檢測(cè)與恢復(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ù)由于始終無法獲得對(duì)所需訪 問的數(shù)據(jù)項(xiàng)的控制權(quán)而長(zhǎng)期等待下去,無法繼續(xù)執(zhí)行。9.7鎖粒度大:被加鎖數(shù)據(jù)項(xiàng)少、事務(wù)并發(fā)執(zhí)行度低、系統(tǒng)開銷小;鎖粒度小則反 之9.8基于鎖的并發(fā)控制技術(shù)的原理P 166第10章數(shù)據(jù)庫的實(shí)施、運(yùn)行和維護(hù)10.1試運(yùn)行:功能測(cè)試;性能

27、測(cè)試10.2數(shù)據(jù)庫維護(hù):數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)和恢復(fù);數(shù)據(jù)庫的安全性、完整性控制;數(shù)據(jù)庫性 能的檢測(cè)和改善;數(shù)據(jù)庫的重組和重構(gòu)10.3數(shù)據(jù)庫安全:行政手段制定規(guī)范;權(quán)限管理、口令等;維護(hù)多個(gè)數(shù)據(jù)副本;防 及除毒10.4數(shù)據(jù)庫重組:按照系統(tǒng)設(shè)計(jì)要求對(duì)數(shù)據(jù)庫存儲(chǔ)空間進(jìn)行全面調(diào)整;數(shù)據(jù)庫重構(gòu): 業(yè)務(wù)小范圍變化需對(duì)數(shù)據(jù)庫邏輯結(jié)構(gòu)作必要改變。10.5數(shù)據(jù)庫監(jiān)控分析:DBA借助相應(yīng)工具監(jiān)測(cè)數(shù)據(jù)庫系統(tǒng)的運(yùn)行情況,對(duì)監(jiān)測(cè)數(shù) 據(jù)進(jìn)行分析,評(píng)估整個(gè)系統(tǒng)的運(yùn)行狀態(tài),為系統(tǒng)的安全運(yùn)行和性能優(yōu)化提供依據(jù)。 10.6數(shù)據(jù)庫空間管理:數(shù)據(jù)量增加和碎片使性能降低;空間溢出會(huì)帶來災(zāi)難性停機(jī) 故障。包括:創(chuàng)建修改刪除數(shù)據(jù)庫空間、新建移動(dòng)關(guān)

28、聯(lián)數(shù)據(jù)文件等。10.7數(shù)據(jù)庫參數(shù)調(diào)整:外部調(diào)整:CPU、網(wǎng)絡(luò);調(diào)整內(nèi)存分配(改善程度大);調(diào)整 磁盤l/0(1/O時(shí)間是響應(yīng)時(shí)間的最大組成部分);調(diào)整竟?fàn)?0.8數(shù)據(jù)庫查詢優(yōu)化:合理使用索引;避免或簡(jiǎn)化排序(Order by, Group by磁盤排序比內(nèi)存排序開銷大速度慢);避免相關(guān)子查詢、外連接(左右連接比內(nèi)連接消 耗大);存儲(chǔ)過程10.9屬于Oracle但不屬于SQL Server的邏輯和物理空間結(jié)構(gòu):表空間、段、區(qū)第11章故障管理11.1故障種類:事務(wù)內(nèi)部故障(事務(wù)回滾撤消修改)、系統(tǒng)故障(影響事務(wù)不壞數(shù) 據(jù))、介質(zhì)故障(軟件容錯(cuò)、硬件容錯(cuò))、病毒11.2系統(tǒng)故障對(duì)策:重啟,撤消(UN

29、DO)未提交的事務(wù),重做(REDO)已提交 的事務(wù)11.3軟件容錯(cuò):備份、日志文件,利用恢復(fù)技術(shù);硬件容錯(cuò):雙物理存儲(chǔ)設(shè)備11.4恢復(fù)基本原理:冗余,即所有數(shù)據(jù)均可通過存儲(chǔ)在別處的冗余數(shù)據(jù)來重建。 11.5對(duì)于經(jīng)常進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)庫:完全轉(zhuǎn)儲(chǔ)+差異轉(zhuǎn)儲(chǔ)11.6以i己錄為單位的日志文件:開始標(biāo)記(Ti BEGIN丁RANSACTION、結(jié)束標(biāo) 記(Ti COMMIT或者Ti ROLLBACK)、每個(gè)事務(wù)的所有操作(Ti A 50 8011.7以數(shù)據(jù)塊為單位的日志文件:存放更新前和更新后的整個(gè)數(shù)據(jù)塊。只有事務(wù)標(biāo) 識(shí)和被更新的數(shù)據(jù)塊,沒有操作類型和操作對(duì)象。11.8日志的作用:用來進(jìn)行業(yè)務(wù)故障和系

30、統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障 恢復(fù)(動(dòng)態(tài)轉(zhuǎn)儲(chǔ)必用);記錄操作監(jiān)視行為分析問題登記原則:登記次序嚴(yán)格按并行事務(wù)執(zhí)行次序;必須先寫日志文件再寫數(shù)據(jù)庫11.9檢查點(diǎn):最大限度減少數(shù)據(jù)庫完全恢復(fù)時(shí)所必須執(zhí)行的日志部分(針對(duì)系統(tǒng)故 障)。11.10數(shù)據(jù)庫鏡像:提高數(shù)據(jù)庫可用性的解決方案(比如介質(zhì)故障,兩臺(tái)服務(wù)器相互備份)優(yōu)點(diǎn):提供完整或幾近完整的數(shù)據(jù)冗余,增強(qiáng)數(shù)據(jù)保護(hù);發(fā)生介質(zhì)故障時(shí),數(shù)據(jù)不 會(huì)丟失且服務(wù)不會(huì)中斷,提高數(shù)據(jù)庫可用性;提高鏡像數(shù)據(jù)庫在升級(jí)期間的可用性。 雙機(jī)互備援模式(均為主);雙機(jī)熱備份模式(一主一備份機(jī))。數(shù)據(jù)庫鏡像可用于并發(fā)操作。11.11 RAID廉價(jià)冗余磁盤陣列:(鏡像冗

31、余、)校驗(yàn)冗余:對(duì)成員磁盤上的數(shù)據(jù)執(zhí)行異或(XOR)操作得到其校驗(yàn)值并存放在另外的校驗(yàn)磁盤上。當(dāng)某個(gè)磁盤發(fā)生故障 時(shí),只須計(jì)算其他磁盤上的校驗(yàn)數(shù)據(jù)和數(shù)據(jù)的異或便可重新得到該磁盤的值。第12章SQL Server2000數(shù)據(jù)庫管理系統(tǒng)12.1四個(gè)服務(wù):SQL Server核心服務(wù);SQL Server Agent:代理服務(wù),代理定期進(jìn)行的管理工作;DTC:Distributed Transaction Coordinator,分布式事務(wù)協(xié)調(diào)器,同一事務(wù)訪問多個(gè) 服務(wù)器M icrosoft Search:全文檢索服務(wù)12.2四個(gè)版本:企業(yè)版(全部功能、大型數(shù)據(jù)庫)、標(biāo)準(zhǔn)版(小部門)、開發(fā)版(同企業(yè)

32、版,作開發(fā)測(cè)試系統(tǒng)用,不作生產(chǎn)服務(wù)用)個(gè)人版(移動(dòng)環(huán)境、本地?cái)?shù)據(jù))12.3服務(wù)帳戶:使用本地系統(tǒng)帳戶:自動(dòng)取當(dāng)前登錄到Windows的用戶,沒有Windows的網(wǎng)絡(luò)訪問權(quán)限,適用于非網(wǎng)絡(luò)服務(wù)器操作系統(tǒng)(如XP);使用域用戶帳戶:理員使用Windows身份驗(yàn)證設(shè)置連接到SQL Server,用戶必是Windows系統(tǒng)管適用于網(wǎng)絡(luò)服務(wù)器OS12.4網(wǎng)絡(luò)庫:在SQL S客戶端和服務(wù)器間傳遞網(wǎng)絡(luò)數(shù)據(jù)包。服務(wù)器可一次監(jiān)聽多個(gè)網(wǎng)絡(luò)庫12.5 SQLServer的兩大類數(shù)據(jù)庫:系統(tǒng)數(shù)據(jù)庫:DBMS自動(dòng)創(chuàng)建及維護(hù),存放維護(hù)系統(tǒng)正常運(yùn)行的信息,master(系統(tǒng)級(jí)信息), msdb(支持自動(dòng)執(zhí)行任務(wù)), mod

33、el(所有用戶數(shù)據(jù)庫的公共信息)、tempdb C w時(shí)數(shù)據(jù)庫),示例Pubs, Northwind; 用戶數(shù)據(jù)庫12.6估算存儲(chǔ)空間:SQLServer數(shù)據(jù)存儲(chǔ)單位為頁(Page),一個(gè)數(shù)據(jù)頁是一塊8KB的連續(xù)磁盤空間,行不能跨頁存儲(chǔ),一行數(shù)據(jù)的大小不能超過一頁的大小。一 個(gè)表10000行數(shù)據(jù),每行3000字節(jié),則需要(10000/2 > *8KB=40MB的空間。12.7主數(shù)據(jù)文件:擴(kuò)展名為.mdf,包含數(shù)據(jù)庫系統(tǒng)信息并可存放用戶數(shù)據(jù)庫數(shù)據(jù), 每個(gè)數(shù)據(jù)庫只有一個(gè)主數(shù)據(jù)文件。輔助數(shù)據(jù)文件:擴(kuò)展名為.ndf,數(shù)據(jù)量很大時(shí)使 用,可存放在不同的磁盤驅(qū)動(dòng)器上,以便得利用多個(gè)磁盤上的存儲(chǔ)空間并

34、提高數(shù)據(jù) 存取的并發(fā)性。12.8每個(gè)數(shù)據(jù)文件及日志文件(. Idf初始大小均不得小于512KB,主數(shù)據(jù)文件大小不得小于model數(shù)據(jù)庫主數(shù)據(jù)文件,日志文件最好不小于1MB12.9創(chuàng)建數(shù)據(jù)庫:CREAT DATABASE jessyminON一一表示數(shù)據(jù)庫按下面參數(shù)創(chuàng)建(NAME = jessymin,一一邏輯文件名FILENAME=.MSSQLDatajessymin_Data.mdf',一一OS下的物理文件名SIZE = 10,一一文件初始大小,單位默認(rèn)為MB,下同MAXSIZE =30,一一文件最大大小FILEGROW丁日= 5,一一文件增量,為0表示不自動(dòng)增長(zhǎng),默認(rèn)按當(dāng)前 10%

35、增長(zhǎng))LOG ON一一表示該數(shù)據(jù)庫日志文件按下面參數(shù)創(chuàng)建(.同上,只是物理文件名為jessymin.LDF>12.10刪除數(shù)據(jù)庫:DROP DATABASE jessymin。刪除六種數(shù)據(jù)庫對(duì)象均用DROP12.11丁ransact-SQL:非過程化高級(jí)語言,全司變量,局部變量,局部變量 可以是自定義類型但不能是text或image類型。12.12 Transact-SQL示例:計(jì)算1 +2+3+. . . +100的和:DECLAREi int, sum intSE丁i = 1,sum = 0 -SE丁可換為SELEC丁W日比Ei<=100BEGINSET sum=sum+iSE

36、丁i=i+1ENDPRINT sum12.13 DTS(Data Transformation Service)數(shù)據(jù)轉(zhuǎn)換服務(wù)。注意區(qū)別DTC(分布式事務(wù)協(xié)調(diào)器)。導(dǎo)出數(shù)據(jù)時(shí)用戶必須是要連接的數(shù)據(jù)庫服務(wù)器的合法用戶,且對(duì)要導(dǎo)出 的表具有查詢權(quán)限第13章數(shù)據(jù)庫對(duì)象13.1存儲(chǔ)過程的:SQL語句和控制流語句的預(yù)編譯集合,應(yīng)用程序可通過調(diào)用方法來執(zhí)行優(yōu)點(diǎn):模塊化程序設(shè)計(jì);提高性能;減少網(wǎng)絡(luò)流量;可作為安全機(jī)制使用13.2帶有多個(gè)參數(shù)并有默認(rèn)值及輸出參數(shù)的存儲(chǔ)過程示例:CREATE PROCEDURE p_Examplearea varchar(20)二武漢大學(xué),Price money Sum int

37、outputASSELEC丁/U尸DATE/INSER丁/DELE丁ESE丁Sum=.應(yīng)用程序中執(zhí)行的SQL語句:Declareres intEXECUTE p_Example武漢大學(xué)信息學(xué)部,1000res output或者EXECUTE p_Example Price =1000,res output13.3用戶自定義函數(shù):標(biāo)量函數(shù)(返回單值,非text, Image類型,任何允許出現(xiàn)表達(dá)式的地方)、內(nèi)嵌表值函數(shù)(返回一個(gè)表,放在查詢語句的From子句中)、多 語句表值函數(shù)(返回一個(gè)可自定義的表,也放在查詢語句的From子句中,視圖和存儲(chǔ)過程的結(jié)合)13.4標(biāo)量函數(shù)救示例:根據(jù)指定的商品類

38、別查詢?cè)擃惖纳唐穫€(gè)數(shù)。CREAT FUNCTION dbo.f_GoodsCount(class varchar(10)RETURNS intASBEGINDECLAREx intSELECTx=count(*) From T_GoodsClass a JION T Goods bON a.GoodClass舊=b.GoodClass舊 WHERE GoodCIassName=classRETURNxEND調(diào)用:SELECT dbo.f GoodsCount(服裝)或者SELECT GoodsName AS商品名,dbo.f GoodsCount(服裝)AS種類數(shù) From.13.5內(nèi)嵌表值函

39、數(shù)的不同之處在于RE丁URNS后只能是table, R E丁URN后面只能 是單個(gè)的SELEC丁語句,沒有相關(guān)聯(lián)的返回變量也沒有函數(shù)體。調(diào)用時(shí)放在查詢 語句的FROM子句中。13.6觸發(fā)器是一種不需要由用戶來調(diào)用的存儲(chǔ)過程,當(dāng)用戶對(duì)表進(jìn)行UPDATE, INSER丁或DELE丁E操作時(shí)自動(dòng)觸發(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ā)器適用場(chǎng)合:比C日ECK語句更復(fù)雜的數(shù)據(jù)約束(可引用其他表中的列); 為保證數(shù)據(jù)庫性能而維護(hù)的非規(guī)范化數(shù)據(jù)(如增加統(tǒng)計(jì)總值的列);實(shí)現(xiàn)復(fù)雜的業(yè)務(wù) 規(guī)則13.8 AFTER/FOR:后觸

40、發(fā)型觸發(fā)器,可在同一操作上建立多個(gè);INSTEAD OF:前觸發(fā)型,在同一操作上只能建立一個(gè)。所有的涉及對(duì)數(shù)據(jù)庫對(duì)象操作的語句均不 允許出現(xiàn)在觸發(fā)器中。13.9 DELETED表:存儲(chǔ)UPDATE和DELE丁ED操作語句所影響行的更新前的舊 數(shù)據(jù);INSERTED表:存儲(chǔ)UPDATE和INSER丁操作語句所影響行的更新后的新數(shù)據(jù)。 13.10維護(hù)數(shù)據(jù)操作完整性的后觸發(fā)器示例:銷售量大于庫存量則撤銷當(dāng)前銷售, 小于時(shí)則在插入銷售單據(jù)明細(xì)時(shí)同時(shí)修改庫存量。Create Trigger OperatonConON T SaleDetail FOR INSERTASIF EXISTS(Select*F

41、rom inserted a Jion T_ Goods bON a.GoodsID=b.GoodsID WHERE a.Quanity>b.TotaICharge)BEGINROLLBACK尸RIN丁此商品庫存量小于此次銷售數(shù)量ENDELSEUPDATE T_ Goods SET TotaICharge=TotaICharge一(SELECT Quanity From inserted)13.11維護(hù)不同列之間取值完整性的后觸發(fā)器示例:保證商品表中的單價(jià)與價(jià)格變 動(dòng)表中一致CREATE TRIGGER PriceConstraintON T_PriceHistory FOR INSER

42、T, UPDATEASDECLAREnewprice moneySELECTnewprice=SalePrice From insertedUPDATE T_ Goods SET SaleUnitPrice=newpriceWHERE GoodsID IN (SELECT GoodID From inserted)13.12前觸發(fā)器指定執(zhí)行觸發(fā)器而不執(zhí)行引發(fā)觸發(fā)器的SQL語句,因此,如果數(shù) 據(jù)操作滿足完整性約束則在觸發(fā)器中必須重新執(zhí)行這些數(shù)據(jù)操作語句。前觸發(fā)器示例:保證銷售單據(jù)中的會(huì)員卡是有效日期內(nèi)的會(huì)員卡:CREATE TRIGGER CardValidON T_ SaleDetail IN

43、STEAD OF INSERT, UPDATEASIF NOT EXISTS (SEIETCT*From inserted a JOIN T_ Card b ONa.Card舊=b.Card舊WHERE a.Sa舊ate NOT BETWEEN b.StartDate AND b.EndDate)INSERT INTO T_ SaleDetail SELECT*From inserted(若滿足條件此語句重新執(zhí)行)13.13用SQL語句修改存儲(chǔ)過程、用戶自定義函數(shù)、觸發(fā)器的語法與創(chuàng)建基本一 致,只是將CREATE改為了ALTERo(查詢分析器中實(shí)現(xiàn))第14章安全管理14.1數(shù)據(jù)庫的安全控制:在

44、DBMS的不同層次提供對(duì)有意和無意損害行為的安全 防范。有意的非法活動(dòng):加密存、取數(shù)據(jù);有意的非法操作:用戶身份驗(yàn)證、限制操作權(quán); 無意的損壞:提高系統(tǒng)的可靠性和數(shù)據(jù)備份14.2數(shù)據(jù)庫權(quán)限的種類:對(duì)DBMS進(jìn)行維護(hù)的權(quán)限;對(duì)數(shù)據(jù)庫對(duì)象和數(shù)據(jù)進(jìn)行操 作的權(quán)限SQL Server權(quán)限種類(與數(shù)據(jù)庫用戶分類對(duì)應(yīng)):隱含權(quán)限(預(yù)定義的內(nèi)置權(quán)限);語句權(quán)限(DDL語句權(quán)限,創(chuàng)建刪除數(shù)據(jù)庫對(duì)象);對(duì)象權(quán)限(DML語句權(quán)限,操 作數(shù)據(jù)庫對(duì)象)14.3數(shù)據(jù)庫用戶的分類:數(shù)據(jù)庫系統(tǒng)管理員(SA,全部權(quán)限);數(shù)據(jù)庫對(duì)象擁有者 (創(chuàng)建數(shù)據(jù)庫對(duì)象的用戶,對(duì)所擁有的對(duì)象具有一切權(quán)限);普通用戶:只具有對(duì)數(shù) 據(jù)的編輯查詢

45、功能14.4三個(gè)認(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)置的登錄賬戶:BUILTINAdministrator;SA;域名Administrator,均DBMS管理員 14.6創(chuàng)建SQL Server身份認(rèn)證的登錄賬戶:EXECUTE sp_addloginuser3',123','jessymin'User3為登錄賬戶,123為密碼,jessymin為默認(rèn)數(shù)據(jù)庫;WINDOWS認(rèn)證:sp_grantlogin14.7刪除登錄賬戶存

46、儲(chǔ)過程:EXEC droplogin user3' (SQL Server身份驗(yàn)證);EXEC revokelogin Serverlnt_user' (WINDOWS身份驗(yàn)證)14.8登錄賬戶可以連接到SQL Server服務(wù)器上但并不具有訪問任何數(shù)據(jù)庫的能力,必須再成為數(shù)據(jù)庫的合法用戶。一個(gè)登錄賬戶可以映射為多個(gè)數(shù)據(jù)庫用戶,管 理數(shù)據(jù)庫用戶的過程實(shí)際上就是建立登錄賬戶與數(shù)據(jù)庫用戶之間的映射關(guān)系的過程。新建的數(shù)據(jù)默認(rèn)只有一個(gè)用戶:dbo,它是數(shù)據(jù)庫的擁有者。14.9創(chuàng)建數(shù)據(jù)庫用戶:EXEC sp_ adduser U2','U2','user_

47、role',用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。刪除:EXEC sp_dropuser U2'14.10合法用戶除了對(duì)所屬數(shù)據(jù)庫系統(tǒng)表具有一些查詢權(quán)限外并不對(duì)數(shù)據(jù)庫中的用戶數(shù)據(jù)和對(duì)象具有任何權(quán)限,還得得到對(duì)數(shù)據(jù)庫數(shù)據(jù)和對(duì)象的操作權(quán)限14.11收回權(quán)限:不允許用戶或角色具有某種操作權(quán),或者收回曾經(jīng)授予的權(quán)限,置空標(biāo)記;拒絕訪問:拒絕某用戶或角色具有某種操作權(quán),即使由于繼承獲得的權(quán)限也無效, 叉叉標(biāo)記14.12用Transact-SQL語句管理對(duì)象權(quán)限入管理語句權(quán)限:P24514.13角色:數(shù)據(jù)庫中具有相同權(quán)限的一組用戶。系統(tǒng)預(yù)定義的固定角色;自定義用

48、戶角色14.14固定的服務(wù)器角色:*amdin + dbcreator,權(quán)限最重要最高的是sysadmin角色成員源均為系統(tǒng)的登錄賬戶:EXEC sp_addsrvrolememberServerl nt user',sysadmin'14.15固定的數(shù)據(jù)庫角色:db_ *+public,權(quán)限最高的是db_ owner : EXECsp_addrolemember db_ owner','user3'(注意用戶和用色的順序)14.16 public角色:每個(gè)用戶均自動(dòng)為其成員,不具任何權(quán)限但可賦予權(quán)限。如果想讓所有數(shù)據(jù)庫用戶均具有某個(gè)特定權(quán)限則可將該權(quán)限

49、授予public17用戶自定義的用戶角色:EXEC sp_addrole myrole'18只要權(quán)限沒有被拒絕過,角色中成員權(quán)限是角色的權(quán)限加上成員自己的權(quán)44J.J.限。第15章備份和恢復(fù)數(shù)據(jù)庫15.1備份的兩種方式:先創(chuàng)建備份設(shè)備(備份數(shù)據(jù)庫的場(chǎng)所),再將數(shù)據(jù)庫備份到備份設(shè)備上(永久備份設(shè)備);直接將數(shù)據(jù)庫備份到物理文件上( ifs時(shí)備份設(shè)備)15.2創(chuàng)建磁盤備份設(shè)備:EXEC sp_ addumpdevicedisk','mydiskdump',二mydump.bak'15.3常用備份策略:完全備份加差異備份加日志備份,備份和恢復(fù)速度都比較快, 而

50、且當(dāng)系統(tǒng)出現(xiàn)故障時(shí)丟失的數(shù)據(jù)較少。15.4 Transact-SQL語句:BACKUP DATABASELOG jessymin TO mydiskdumpWITH INITWITH INIT表示覆蓋掉原有內(nèi)容,相當(dāng)于“重寫現(xiàn)有媒體”15.5恢復(fù)的一般順序:先恢復(fù)最近的完全數(shù)據(jù)庫備份;再恢復(fù)完全備份之后的最近的差異備份;最后按日志備份的先后順序恢復(fù)自最近的完全備份或差異備份之后的所有日志備份。15.6 Transact-SQL語句恢復(fù)過程示例:1)首先恢復(fù)完全備份RESTORE DATABASE jessymin FROM mydiskdump WITH FILE二1,NORECOVERY2)

51、然后恢復(fù)差異備份(如果有的話)FILE二2,NORECOVERY3)最后恢復(fù)日志文件RESTORE LOG jessymin FROM mydiskdumpNorecovery表示對(duì)數(shù)據(jù)庫的恢復(fù)操作尚未完成,相當(dāng)于“使數(shù)據(jù)不再運(yùn)行,但能 還原其他事務(wù)的日志文件”。默認(rèn)為RECOVERYo第16章VB開發(fā)環(huán)境與數(shù)據(jù)訪問接口(鄙人此前未曾用過VB,疏漏淺薄之處敬請(qǐng)見諒)16.1標(biāo)準(zhǔn)數(shù)據(jù)綁定控件:TextBox, CheckBox, ListBox, ComboxBox等外部(ActiveX)數(shù)據(jù)綁定控件:DataCombo, DataList, DataGrid, MSHFGrid等16.2 DB

52、MS支持的兩種數(shù)據(jù)接口:專用接口(與特定的DBMS有關(guān));通用接口(屏 蔽掉每個(gè)DBMS底層接口的差異,提供一種標(biāo)準(zhǔn)的訪問方法)16.3通用接口:ODBC, OLE DB, JDBC,讓應(yīng)用程序具有很好的適應(yīng)性和可移 植性;具備同時(shí)訪問多種DBMS系統(tǒng)的能力。16.4 ODBC(只訪關(guān)系型DB:開放數(shù)據(jù)庫互連Open DataBaseConnectivity,ODBC應(yīng)用系統(tǒng)大致工作流程從開始配置數(shù)據(jù)源到回收各種句柄為 此。句柄是32位整數(shù)值,代表一個(gè)指針。16.5 OLE DB:對(duì)象鏈接與嵌入的數(shù)據(jù)庫Object Linked and Embed DataBase,是 Microsof t

53、OLE對(duì)象標(biāo)準(zhǔn)的一個(gè)實(shí)現(xiàn),是COM對(duì)象,是為數(shù)據(jù)訪問而設(shè)計(jì)的一系 列COM接口。16.6 ADO:動(dòng)態(tài)數(shù)據(jù)對(duì)象ActiveX Data Object,建在OLE DB之上的高層接口集, 是介于OLE DB底層接口和應(yīng)用程序之間的接口,它避免了開發(fā)人員直接使用OLE DB底層接口的麻煩。16.7 ODBC與OLE DB的主要區(qū)別:1) ODBC只能訪問關(guān)系型數(shù)據(jù)庫,而OLE DB可以訪問關(guān)系和非關(guān)系型甚至是無 結(jié)構(gòu)的數(shù)據(jù)。2 OLE DB克服了ODBC的一個(gè)主要缺點(diǎn):一個(gè)ODBC驅(qū)動(dòng)程序需要支持幾乎所 有的DBMS特征和功能,這需要大量的工作和初始投資,而OLE DB允許DBMS 提供商只實(shí)現(xiàn)他

54、們產(chǎn)品的一部分功能。第17章VB數(shù)據(jù)庫應(yīng)用編程17.1 CommandType屬性:adCmdUnknown,表示RecordSource中的命令類型未知;adCmdTable表示RecordSource屬性的內(nèi)容來自一張表;adCmdText表示RecordSource屬性的內(nèi)容來自一個(gè)查詢語句;adCmdStoredType表示RecordSource屬性的內(nèi)容來自一個(gè)存儲(chǔ)過程17.2 RecordSet的Move方法組中,MovePrevios和MoveNext沒有自動(dòng)檢測(cè)記 錄的當(dāng)前行指針是否移出了結(jié)果集邊界的功能,需編碼實(shí)現(xiàn):myadodc. RecordSet. MoveNext/

55、Move PreviousEnd If17.3保存緩沖區(qū)中的記錄:U pdate方法;對(duì)當(dāng)前記錄指針作一個(gè)移動(dòng)操作17.4 CancelUpdate方法:應(yīng)在U pdate方法之前調(diào)用,調(diào)用了U pdate方法之后 的修改是不能撤銷的;如果沒有添加新記錄也沒有對(duì)當(dāng)前記錄做任何修改,調(diào)用 CancelUpdate會(huì)出錯(cuò)。17.5 Find方法:用于在當(dāng)前結(jié)果集中查找滿足條件的記錄myadodc. RecordSet. Fi nd(“查找條件表達(dá)式”)與RecordSet對(duì)象名.Filter“選擇表達(dá)式”相似C .Filter-adFiIterNone還原)17.6更新記錄:mydocdc. Re

56、cordSet. Fields("Custom I D")=Trim(txtCID.Text)17.7冊(cè)(除記錄提示窗口:Dim res As Integerres = MsgBox(“確實(shí)要?jiǎng)h除此行記錄嗎?vbExclamation+vbYesNo+vbDefauItButton2)If res二vbYes ThenMyadodc. RecordSet. DeleteEnd If17.8在DataG rid中顯示全部列:Dim intCol As IntegerWith mydgFor intCol=0 To .Columns.Count一1.Columns(intCol

57、).Visible=TrueNextEnd With另一種For循環(huán):For Each par IN adocm.Parameters····Next par17.9排序功能實(shí)現(xiàn):(mydg .DataSource=adodc)With adodc.RecordSetIf optAsc.論lue=True Then.Sort二.Field(intCol).Name&"ASC"Else.Sort二.Field(intCol).Name&"DESC"End IfEnd Withmydg.Refresh17.10 ADO對(duì)象模型Connection對(duì)象·-Errors集合·-E rror對(duì)象Command對(duì)象·-Parameters集合·-

溫馨提示

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

評(píng)論

0/150

提交評(píng)論