版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、四級(jí)數(shù)據(jù)庫(kù)重難點(diǎn)(1)(第1章 引言1. 數(shù)據(jù)是描述現(xiàn)實(shí)世界事物的符號(hào)記錄,是用物理符號(hào)記錄下來(lái)的可以識(shí)別的信息。 數(shù)據(jù)是信息的符號(hào)表示,是載體;信息是數(shù)據(jù)的語(yǔ)義解釋,是內(nèi)涵。2. 數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫(kù)系統(tǒng)的形式框架,用來(lái)描述數(shù)據(jù)的一組概念和定義,包括描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)操作、數(shù)據(jù)語(yǔ)義以及數(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ī)則的集合)和完整性約束(語(yǔ)
2、義約束:數(shù)據(jù)模型、數(shù)據(jù)內(nèi)部及之間聯(lián)系)3. 模式是對(duì)數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,也稱為邏輯模式或概念模式。外模式是對(duì)數(shù)據(jù)庫(kù)用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。內(nèi)模式是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,也稱為物理模式或存儲(chǔ)模式。當(dāng)數(shù)據(jù)庫(kù)模式發(fā)生變化時(shí),通過調(diào)整外模式/模式間的映像關(guān)系,使得應(yīng)用程序不必隨之修改,從而保證數(shù)據(jù)與應(yīng)用程序間的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。當(dāng)數(shù)據(jù)庫(kù)數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)改變時(shí),通過調(diào)整模式/內(nèi)模式映像關(guān)系,保持?jǐn)?shù)據(jù)庫(kù)模式不變,使數(shù)據(jù)庫(kù)系統(tǒng)的外
3、模式和應(yīng)用程序不隨之改變,保證數(shù)據(jù)與應(yīng)用程序間的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。4. 數(shù)據(jù)庫(kù)是存儲(chǔ)在計(jì)算機(jī)內(nèi)的共享數(shù)據(jù)集合,數(shù)據(jù)庫(kù)管理系統(tǒng)是一種數(shù)據(jù)管理系統(tǒng)軟件。數(shù)據(jù)庫(kù)系統(tǒng)則是在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的軟硬件系統(tǒng)構(gòu)成,包括了數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用程序。5. DBMS的主要功能有數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫(kù)運(yùn)行管理與控制、數(shù)據(jù)庫(kù)建立與維護(hù)。DBMS包括查詢處理器和存儲(chǔ)管理器。查詢處理器實(shí)現(xiàn)面向用戶的查詢分析處理和優(yōu)化功能。存儲(chǔ)管理器為用戶和應(yīng)用程序提供了訪問存儲(chǔ)在數(shù)據(jù)庫(kù)文件中的應(yīng)用數(shù)據(jù)的接口。6.關(guān)系模型 用二維表表示實(shí)體及實(shí)體之間的聯(lián)系,現(xiàn)實(shí)世界中的每個(gè)客觀對(duì)象對(duì)應(yīng)表中的一行叫做
4、一條記錄,表中的每個(gè)列(屬性)描述對(duì)象類的某一特征,列的值(屬性的取值)刻畫和描述客觀對(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ù)庫(kù)應(yīng)用系統(tǒng)生命周期2.1 軟件生命周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個(gè)時(shí)期。一般包括概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、測(cè)試階段、安裝部署及交付階段、運(yùn)行階段與維護(hù)階段。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)需求是指用戶對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)在功能、性能、行為、設(shè)計(jì)約束等方面的期望和要求:數(shù)據(jù)
5、及數(shù)據(jù)處理、業(yè)務(wù)、性能、其他存儲(chǔ)安全備份與恢復(fù)等。2.2 數(shù)據(jù)庫(kù)應(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ù)組織與存儲(chǔ)設(shè)計(jì)、數(shù)據(jù)訪問與處理設(shè)計(jì)、應(yīng)用設(shè)計(jì)三條設(shè)計(jì)主線,分別用于設(shè)計(jì)DBAS中的數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)事務(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ù)流(
6、標(biāo)有名字的箭頭)、處理、數(shù)據(jù)存儲(chǔ)(橫圓柱)、數(shù)據(jù)源/終點(diǎn)(棱形)3.3 IDEF0圖:更好地理解需求;ICOM(輸入、控制、輸出、機(jī)制)碼;至少一個(gè)控制和輸出箭頭。A-0;A0(頂層圖);A1;A113.4 DFD與IDEF0的比較:結(jié)構(gòu)化分析思想:自頂而下逐級(jí)細(xì)化1.DFD圖用箭頭也叫數(shù)據(jù)流來(lái)描述數(shù)據(jù)移動(dòng)的方向、數(shù)據(jù)處理之間的數(shù)據(jù)依賴關(guān)系,IDEF0圖也用箭頭表示數(shù)據(jù)流,但不強(qiáng)調(diào)流或順序,強(qiáng)調(diào)數(shù)據(jù)約束,箭頭語(yǔ)義更豐富。2.DFD模型有四種元素,IDEF0圖只有兩種:箭頭和活動(dòng)3.IDEF0圖更加規(guī)范。其概念、建模方法、畫圖規(guī)則等均有說明和規(guī)定4.IDEF0模型結(jié)構(gòu)更清楚,便于理解和溝通3.5
7、 結(jié)構(gòu)化分析及建模方法的優(yōu)點(diǎn):1)不過早陷入具體的細(xì)節(jié),從整體或宏觀入手分析問題,如業(yè)務(wù)系統(tǒng)的總體結(jié)構(gòu),系統(tǒng)及子系統(tǒng)的關(guān)系。2)通過圖形化的模型對(duì)象直觀地表示系統(tǒng)完成什么功能,方便系統(tǒng)分析員理解和描述系統(tǒng)。3)模型對(duì)象不涉及太多技術(shù)術(shù)語(yǔ),便于用戶理解模型。第4章 數(shù)據(jù)庫(kù)概念設(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 IDEF
8、1X:標(biāo)定型(子依父實(shí)例才標(biāo)定)(確定型);非標(biāo)定型(確定型);分類;不確定第5章 關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)5.1 關(guān)系數(shù)據(jù)庫(kù):按照二維表格組織和存儲(chǔ)的相互關(guān)聯(lián)的關(guān)系(表)的集合。關(guān)系數(shù)據(jù)庫(kù)采用關(guān)系模型在計(jì)算機(jī)中組織、存儲(chǔ)、處理和管理數(shù)據(jù)。5.2 主碼約束:惟一性;最小性,不能取空值,并且取值要唯一外碼約束:如果兩個(gè)關(guān)系R和S,X是R的屬性或?qū)傩越M,且X不是R的碼,但X是S的碼,則稱X是R的外碼?;蛘呷】罩?,或者等于S中某個(gè)元組的主碼的值。5.3 邏輯設(shè)計(jì)的內(nèi)容:定義和描述數(shù)據(jù)庫(kù)的全局邏輯結(jié)構(gòu)、數(shù)據(jù)之間的關(guān)系、數(shù)據(jù)的完整性等目的:得到實(shí)際數(shù)據(jù)庫(kù)管理系統(tǒng)可以處理的數(shù)據(jù)庫(kù)模式。步聚:ER圖轉(zhuǎn)化關(guān)系模式;
9、優(yōu)化關(guān)系模式;數(shù)據(jù)完整性設(shè)計(jì);外模式設(shè)計(jì)5.4 關(guān)系模式描述關(guān)系的靜態(tài)結(jié)構(gòu),由模式名、屬性、完整性約束組成,關(guān)系是一個(gè)表中記錄的集合,關(guān)注和強(qiáng)調(diào)的是值(模式實(shí)例)的集合,也是關(guān)系模式在某一時(shí)刻狀態(tài)的反映。5.5 關(guān)系的完整性(完整性約束):對(duì)關(guān)系所滿足條件的定義。作用:限定和檢查數(shù)據(jù)庫(kù)所含實(shí)例的合法性和正確性。靜態(tài):主碼、外碼、域(用戶定義);動(dòng)態(tài):基于業(yè)務(wù)規(guī)則5.6 偽傳遞規(guī)則:XY,YWZ,則XWZ成立。5.7 規(guī)范化設(shè)計(jì)理論的主要內(nèi)容是范式,即關(guān)系模式滿足的條件,它是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的指南,也是衡量關(guān)系模式設(shè)計(jì)優(yōu)劣的標(biāo)準(zhǔn)。目的:消除數(shù)據(jù)冗余及避免操作異常,基本過程:對(duì)關(guān)系進(jìn)行分解。一個(gè)低級(jí)
10、范式的關(guān)系模式通過分解(投影)方法可轉(zhuǎn)換成多個(gè)高一級(jí)范式的關(guān)系模式的集合,這個(gè)過程叫規(guī)范化。5.8 1NF: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ù)庫(kù)物理設(shè)計(jì)6.1 物理設(shè)計(jì)是在具體的硬件環(huán)境、OS、DBMS約束下,基于邏輯設(shè)計(jì),設(shè)計(jì)具體數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和存取方
11、式。目的:占用空間少、訪問效率高、維護(hù)代價(jià)低。主要步驟有數(shù)據(jù)庫(kù)邏輯模式調(diào)整、文件組織與存取設(shè)計(jì)、數(shù)據(jù)分布設(shè)計(jì)、安全模式設(shè)計(jì)、確定系統(tǒng)配置、物理模式評(píng)估。6.2 索引技術(shù)(Indexing)是一種快速文件訪問技術(shù),它將文件記錄在某個(gè)或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯(lián)系起來(lái),提供了一種根據(jù)記錄域的取值快速訪問文件記錄的機(jī)制。索引文件是一種利用索引技術(shù)支持快速文件訪問的文件組織和存取方法。索引加快了查詢記錄卻減慢了數(shù)據(jù)更新速度,本身還占用一定的存儲(chǔ)空間。6.3 文件組織:如何將關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系映射為操作系統(tǒng)中的數(shù)據(jù)庫(kù)文件,及管理文件。文件結(jié)構(gòu):如何將DB文件中的邏輯記錄映射到物
12、理文件的中磁盤塊。文件存?。横槍?duì)某種結(jié)構(gòu)的DB文件,如何查、添刪改其中的邏輯記錄6.4 數(shù)據(jù)字典:數(shù)據(jù)庫(kù)各類對(duì)象的描述信息、數(shù)據(jù)庫(kù)管理系統(tǒng)的控制信息。包括關(guān)系模式信息、與視圖描述有關(guān)的信息、關(guān)系的存儲(chǔ)結(jié)構(gòu)和存取方法信息、完整性約束、安全性有關(guān)的信息、數(shù)據(jù)庫(kù)運(yùn)行統(tǒng)計(jì)信息。作用:DBA用來(lái)監(jiān)視DBMS的使用情況并協(xié)助完成管理工作;一般用戶可用于查閱部分?jǐn)?shù)據(jù)庫(kù)結(jié)構(gòu)信息;DBS運(yùn)行時(shí)各子系統(tǒng)頻繁使用以完成相應(yīng)的存儲(chǔ)和查詢處理功能。6.5 DBMS的三種完整性控制機(jī)制:CHECK子句、斷言、觸發(fā)器斷言語(yǔ)句:Create assertion 斷言約束名 check ()6.6 堆文件:數(shù)據(jù)量少且操作頻繁;
13、批量加載數(shù)據(jù)(先選為堆文件再調(diào)整文件結(jié)構(gòu))順序文件:查詢條件定義在查找碼上;快速的二分查找散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機(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ù),它利用散列函
14、數(shù)實(shí)現(xiàn)文件記錄域取值到記錄物理地址間的直接映射關(guān)系。當(dāng)需要訪問數(shù)據(jù)文件中查找碼值為si的某個(gè)或某些文件記錄時(shí),將si作為散列函數(shù)h的輸入計(jì)算得出的散列函數(shù)輸出值h(si)就是文件記錄在數(shù)據(jù)文件中的物理地址。6.9 權(quán)限:允許用戶對(duì)一給定的數(shù)據(jù)庫(kù)對(duì)象可執(zhí)行的操作(查詢、添刪改、新建、備份等)。第7章 數(shù)據(jù)庫(kù)應(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ù)庫(kù)事務(wù)和應(yīng)用程序。后者一方面可以與數(shù)據(jù)庫(kù)事務(wù)協(xié)調(diào)合作,另一方面還可實(shí)
15、現(xiàn)與數(shù)據(jù)庫(kù)訪問無(wú)關(guān)的功能,如通信、人機(jī)交互。7.4 事務(wù):具有邏輯獨(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ù)
16、管理問題。 第8章 SQL8.1 SQLStructured Query Language,結(jié)構(gòu)化查詢語(yǔ)言8.2 二進(jìn)制字符串是用十六進(jìn)制表示的,0x前綴8.3 創(chuàng)建表:CREATE TABLE Table_Card (CardID varchar(8) NOT NULL, StartDate dat
17、etime NOT NULL, EndDate datetime NOT NULL, Score int NOT NULL CHECK(Score >=0) DEFAULT 0,
18、0; State char(1) NOT NULL CHECK(State in (0,1,2), Sex char(1) CHECK(Sex in(男,女), Age int CHECK( Age between16,85),
19、 CustomerID varchar(8), CHECK(EndDate > StartDate), PRIMARY KEY (Card
20、ID), FOREIGN KEY (CustomerID) REFERENCES Table_Customer (CustomerID) )刪除表:DROP TABLE Table_Card修改表:ALTER TABLE Table_Card ADD CardType char(4) NULL ALTER TABLE Table_Card ALTER COLUMN CardType
21、 char(8) ALTER TABLE Table_Card DROP COLUMN CardType8.4 SELECT Cname FROM Tablb_Customer WHERE Address IN (海淀區(qū),朝陽(yáng)區(qū)) ANDage BETWEEN 40 AND 50 ANDCname LIKE 王張李% (王_ _)ORDER BY
22、 StartDate ASC, EndDate DESC8.5 除COUNT(*)不忽略空值外,其他函數(shù)COUNT(DISTINCT 列名)、SUM()、AVG()、MAX()、MIN()均忽略空值。均返回單值。SELECT SUM (Score),MAX(Age),MIN(Age),AVG(Age),COUNT (DISTINCT .)FROM Table8.6 分組(GROUP BY)依據(jù)列不能是text,ntext,image和bit類型的列。先分組后計(jì)算統(tǒng)計(jì)每種類別商品的商品數(shù),只列出商品數(shù)大于4個(gè)的商品類別編號(hào)和商品數(shù):SELECT GoodClassID as 商品類別編號(hào),COU
23、NT(*)as 商品數(shù) FROM Table_Goods GROUP BY GoodClassID HAVING COUNT(*)>48.7 自連接:查詢與王曉在同一個(gè)區(qū)的顧客的姓名及地址:SELECT T2.Name,T2.Address FROM Table_Customer as T1 JION Table_Customer as T2 ON T1.Address = T2.Address WHERE T
24、1.Name = 王曉 AND T2.Name !=王曉子查詢:一個(gè)SELECT語(yǔ)句嵌套在一個(gè)SELECT、UPDATE、INSERT或DELETE語(yǔ)句中SELECT Name,Address FROM Table_Customer WHERE Address IN (SELECT Address FROM Table_Customer WHERE Name=王曉) AND Name!=王曉8.8 外連接:LEFT OUTER JOIN 左外連接(左表全輸出)RIGHT OUTER JOIN 右外連接8.9 子查詢:
25、60; NOT IN()集合 不相關(guān)子查詢,先內(nèi)后外 WHERE 列 /</> () 比較 不相關(guān)子查詢,先內(nèi)后外
26、60; NOT EXIST(SELECT *)存在 相關(guān)子查詢,先外后內(nèi)8.10 修改數(shù)據(jù):INSERT INTO表名 列名表 VALUES(值列表)UPDATE 表名 SET 列名表達(dá)式 WHERE子句/ DELETE FROM 表名 WHERE子句分情況修改:UPDATE Table_GoodsSET SalePrice= CASE GoodsClassName
27、160; WHEN 家用電器 THEN SalePrice SalePrice*0.05
28、0; WHEN 服裝 THEN SalePrice + SalePrice*0.06 ELSE SalePrice
29、60; END FROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID8.11 創(chuàng)建索引:CREATE UNIQUECLUSTEREDNONCLUSTE
30、RED INDEX 索引名 ON 表名 (列名 順序(ASC/DESC))8.12 視圖:由從數(shù)據(jù)庫(kù)基本表中選取出來(lái)的數(shù)據(jù)組成的邏輯窗口,是一個(gè)虛表,數(shù)據(jù)庫(kù)只存放視圖的定義而不存放視圖包括的數(shù)據(jù)。對(duì)視圖的操作最終都會(huì)轉(zhuǎn)換為對(duì)基本表的操作。CREATE VIEW 視圖名 視圖列名表 AS &
31、#160; SELECT 語(yǔ)句 WITH CHECK OPTION作用:簡(jiǎn)化數(shù)據(jù)查詢語(yǔ)句;使用戶從多角度觀察同一數(shù)據(jù);提高了數(shù)據(jù)安全性(屏蔽掉敏感數(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è)
32、bit列則只用1個(gè)字節(jié)存儲(chǔ)8.14 Char(n)代表的是普通字符編碼按定長(zhǎng)存儲(chǔ)的字符串,“n”的含義是字符的個(gè)數(shù),固定占用n個(gè)字節(jié)的空間。varchar(n) 代表的是普通字符編碼按不定長(zhǎng)存儲(chǔ)的字符串,“n”的含義也是字符的個(gè)數(shù),按字符的實(shí)際長(zhǎng)度占用空間。第9章 事務(wù)高度與并發(fā)控制9.1 調(diào)度:定義在多個(gè)事務(wù)上的調(diào)度是這些事務(wù)的所有操作的一個(gè)執(zhí)行序列,代表了這些操作的執(zhí)行順序;沖突操作:事務(wù)Ti 的操作Ii與事務(wù)Tj的操作Ij是沖突的,當(dāng)且僅當(dāng)Ii 和 Ij訪問數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù)項(xiàng)Q,并且Ii 和 Ij中至少有一個(gè)是寫操作write(Q);沖突可串行:一個(gè)并發(fā)調(diào)度沖突等價(jià)于某個(gè)串行調(diào)度(判斷
33、一個(gè)并行調(diào)度是否正確)死鎖是指數(shù)據(jù)庫(kù)系統(tǒng)中部分或全部事務(wù)由于無(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ù)T在修改數(shù)據(jù)項(xiàng)Q之前必須先對(duì)Q加X鎖,直到事務(wù)結(jié)束才釋放該鎖。事務(wù)結(jié)束包括正常結(jié)束(commit)和非正常結(jié)束(rollback)。但事務(wù)如果是只讀Q而不對(duì)其進(jìn)行修改,是不需要對(duì)Q加鎖的。2級(jí)加鎖協(xié)議是在1級(jí)加鎖協(xié)議基礎(chǔ)上,要求事務(wù)T在讀取數(shù)據(jù)項(xiàng)Q之前必須先對(duì)其加S鎖,讀完Q后可以立即釋放S鎖。3級(jí)加
34、鎖協(xié)議則是在1級(jí)加鎖協(xié)議基礎(chǔ)上,要求事務(wù)T在讀取數(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)入解鎖階段。9.5解決死鎖主要采用死鎖預(yù)防和死鎖檢測(cè)與恢復(fù)兩類方法。死鎖預(yù)防利用死鎖預(yù)防協(xié)議,通過破壞死鎖產(chǎn)生的必要條件來(lái)避免系統(tǒng)進(jìn)入死鎖狀態(tài)。一次性加鎖法;順序加鎖法死鎖檢測(cè)與恢復(fù)則是允許系統(tǒng)進(jìn)入死鎖狀態(tài),并且定期檢查
35、系統(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ù)由于始終無(wú)法獲得對(duì)所需訪問的數(shù)據(jù)項(xiàng)的控制權(quán)而長(zhǎng)期等待下去,無(wú)法繼續(xù)執(zhí)行。9.7 鎖粒度大:被加鎖數(shù)據(jù)項(xiàng)少、事務(wù)并發(fā)執(zhí)行度低、系統(tǒng)開銷小;鎖粒度小則反之9.8 基于鎖的并發(fā)控制技術(shù)的原理 P166第10章 數(shù)據(jù)庫(kù)的實(shí)施、運(yùn)行和維護(hù)10.1 試運(yùn)行:功能測(cè)試;性能測(cè)試10.2 數(shù)據(jù)庫(kù)維護(hù):數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù);數(shù)據(jù)庫(kù)的安全性、完整性控制;數(shù)據(jù)庫(kù)性能的檢測(cè)和改善;數(shù)據(jù)庫(kù)的重組和重構(gòu)10.3 數(shù)據(jù)庫(kù)安全:行政手段制定規(guī)范;權(quán)限管理、口令等;維護(hù)多個(gè)數(shù)據(jù)副本;防及除毒10.4 數(shù)
36、據(jù)庫(kù)重組:按照系統(tǒng)設(shè)計(jì)要求對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)空間進(jìn)行全面調(diào)整;數(shù)據(jù)庫(kù)重構(gòu):業(yè)務(wù)小范圍變化需對(duì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)作必要改變。10.5 數(shù)據(jù)庫(kù)監(jiān)控分析:DBA借助相應(yīng)工具監(jiān)測(cè)數(shù)據(jù)庫(kù)系統(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ù)庫(kù)空間管理:數(shù)據(jù)量增加和碎片使性能降低;空間溢出會(huì)帶來(lái)災(zāi)難性停機(jī)故障。包括:創(chuàng)建修改刪除數(shù)據(jù)庫(kù)空間、新建移動(dòng)關(guān)聯(lián)數(shù)據(jù)文件等。10.7 數(shù)據(jù)庫(kù)參數(shù)調(diào)整:外部調(diào)整:CPU、網(wǎng)絡(luò);調(diào)整內(nèi)存分配(改善程度大);調(diào)整磁盤I/O(I/O時(shí)間是響應(yīng)時(shí)間的最大組成部分);調(diào)整競(jìng)爭(zhēng)10.8 數(shù)據(jù)庫(kù)查詢優(yōu)化:合理使用索引;避免或簡(jiǎn)化排序(Or
37、der 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ì)策:重啟,撤消(UNDO)未提交的事務(wù),重做(REDO)已提交的事務(wù)11.3 軟件容錯(cuò):備份、日志文件,利用恢復(fù)技術(shù);硬件容錯(cuò):雙物理存儲(chǔ)設(shè)備11.4 恢復(fù)基本原理:冗余,即所有數(shù)據(jù)均可通過存儲(chǔ)在別處的冗余數(shù)據(jù)來(lái)重建。11.5
38、 對(duì)于經(jīng)常進(jìn)行數(shù)據(jù)操作的數(shù)據(jù)庫(kù):完全轉(zhuǎn)儲(chǔ)+差異轉(zhuǎn)儲(chǔ)11.6 以記錄為單位的日志文件:開始標(biāo)記(Ti BEGIN TRANSACTION)、結(jié)束標(biāo)記(Ti COMMIT或者Ti ROLLBACK)、每個(gè)事務(wù)的所有操作(Ti,A,50,80)11.7 以數(shù)據(jù)塊為單位的日志文件:存放更新前和更新后的整個(gè)數(shù)據(jù)塊。只有事務(wù)標(biāo)識(shí)和被更新的數(shù)據(jù)塊,沒有操作類型和操作對(duì)象。11.8 日志的作用:用來(lái)進(jìn)行業(yè)務(wù)故障和系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)(動(dòng)態(tài)轉(zhuǎn)儲(chǔ)必用);記錄操作監(jiān)視行為分析問題登記原則:登記次序嚴(yán)格按并行事務(wù)執(zhí)行次序;必須先寫日志文件再寫數(shù)據(jù)庫(kù)11.9 檢查點(diǎn):最大限度減少數(shù)據(jù)庫(kù)完全恢復(fù)時(shí)所
39、必須執(zhí)行的日志部分(針對(duì)系統(tǒng)故障)。11.10 數(shù)據(jù)庫(kù)鏡像:提高數(shù)據(jù)庫(kù)可用性的解決方案(比如介質(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ù)庫(kù)可用性;提高鏡像數(shù)據(jù)庫(kù)在升級(jí)期間的可用性。雙機(jī)互備援模式(均為主);雙機(jī)熱備份模式(一主一備份機(jī))。數(shù)據(jù)庫(kù)鏡像可用于并發(fā)操作。11.11 RAID廉價(jià)冗余磁盤陣列:(鏡像冗余、)校驗(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 Se
40、rver2000數(shù)據(jù)庫(kù)管理系統(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ù)器Microsoft Search:全文檢索服務(wù)12.2 四個(gè)版本:企業(yè)版(全部功能、大型數(shù)據(jù)庫(kù))、標(biāo)準(zhǔn)版(小部門)、開發(fā)版(同企業(yè)版,作開發(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ù)器操作系
41、統(tǒng)(如XP);使用域用戶帳戶:使用Windows身份驗(yàn)證設(shè)置連接到SQL Server,用戶必是Windows系統(tǒng)管理員,適用于網(wǎng)絡(luò)服務(wù)器OS12.4網(wǎng)絡(luò)庫(kù):在SQL S客戶端和服務(wù)器間傳遞網(wǎng)絡(luò)數(shù)據(jù)包。服務(wù)器可一次監(jiān)聽多個(gè)網(wǎng)絡(luò)庫(kù)12.5 SQLServer的兩大類數(shù)據(jù)庫(kù):系統(tǒng)數(shù)據(jù)庫(kù):DBMS自動(dòng)創(chuàng)建及維護(hù),存放維護(hù)系統(tǒng)正常運(yùn)行的信息,master(系統(tǒng)級(jí)信息)、msdb(支持自動(dòng)執(zhí)行任務(wù))、model(所有用戶數(shù)據(jù)庫(kù)的公共信息)、tempdb(臨時(shí)數(shù)據(jù)庫(kù)),示例Pubs、Northwind;用戶數(shù)據(jù)庫(kù)12.6 估算存儲(chǔ)空間:SQLServer數(shù)據(jù)存儲(chǔ)單位為頁(yè)(Page),一個(gè)數(shù)據(jù)頁(yè)是一塊8KB
42、的連續(xù)磁盤空間,行不能跨頁(yè)存儲(chǔ),一行數(shù)據(jù)的大小不能超過一頁(yè)的大小。一個(gè)表10000行數(shù)據(jù),每行3000字節(jié),則需要(10000/2)*8KB=40MB的空間。12.7 主數(shù)據(jù)文件:擴(kuò)展名為.mdf,包含數(shù)據(jù)庫(kù)系統(tǒng)信息并可存放用戶數(shù)據(jù)庫(kù)數(shù)據(jù),每個(gè)數(shù)據(jù)庫(kù)只有一個(gè)主數(shù)據(jù)文件。輔助數(shù)據(jù)文件:擴(kuò)展名為.ndf,數(shù)據(jù)量很大時(shí)使用,可存放在不同的磁盤驅(qū)動(dòng)器上,以便得利用多個(gè)磁盤上的存儲(chǔ)空間并提高數(shù)據(jù)存取的并發(fā)性。12.8 每個(gè)數(shù)據(jù)文件及日志文件(.ldf)初始大小均不得小于512KB,主數(shù)據(jù)文件大小不得小于model數(shù)據(jù)庫(kù)主數(shù)據(jù)文件,日志文件最好不小于1MB12.9 創(chuàng)建數(shù)據(jù)庫(kù):CREAT DATABASE
43、 jessymin ON 表示數(shù)據(jù)庫(kù)按下面參數(shù)創(chuàng)建 ( NAME = jessymin, 邏輯文件名 FILENAME = MSSQLDatajessymin_Data.mdf, OS下的物理文件名 SIZE 10,文件初始大小,單位默認(rèn)為MB,下同 MAXSIZE 30,文
44、件最大大小 FILEGROWTH 5,文件增量,為0表示不自動(dòng)增長(zhǎng),默認(rèn)按當(dāng)前10%增長(zhǎng)) LOG ON 表示該數(shù)據(jù)庫(kù)日志文件按下面參數(shù)創(chuàng)建 (.同上,只是物理文件名為jessymin.LDF)12.10 刪除數(shù)據(jù)庫(kù):DROP DATABASE jessymin。刪除六種數(shù)據(jù)庫(kù)對(duì)象均用DROP12.11 Transact-SQL:非過程化高級(jí)語(yǔ)言,全司變量,局部變量,局部變量可以是自定義類型但不能是text或imag
45、e類型。12.12 Transact-SQL示例:計(jì)算1+2+3+100的和: DECLARE i int, sum int SET i = 1,sum = 0 -SET可換為SELECT WHILE i <=100 BEGIN
46、60; SET sum = sum + i SET i = i +1 END PRINT sum12.13 DTS(Data Transformation Service)數(shù)據(jù)轉(zhuǎn)換服務(wù)。注意區(qū)別DTC(分布式事務(wù)協(xié)調(diào)器)。導(dǎo)出數(shù)據(jù)時(shí)用戶必須是要連接的數(shù)據(jù)庫(kù)服務(wù)器的合法用戶,且對(duì)要導(dǎo)出的表具有查詢權(quán)限四級(jí)數(shù)據(jù)庫(kù)重難點(diǎn)(2)(2009-0
47、3-27 19:13:19)標(biāo)簽:from 觸發(fā)器 update 數(shù)據(jù)庫(kù)對(duì)象 差異備份 文化 第13章 數(shù)據(jù)庫(kù)對(duì)象13.1 存儲(chǔ)過程的:SQL語(yǔ)句和控制流語(yǔ)句的預(yù)編譯集合,應(yīng)用程序可通過調(diào)用方法來(lái)執(zhí)行優(yōu)點(diǎn):模塊化程序設(shè)計(jì);提高性能;減少網(wǎng)絡(luò)流量;可作為安全機(jī)制使用13.2 帶有多個(gè)參數(shù)并有默認(rèn)值及輸出參數(shù)的存儲(chǔ)過程示例: CREATE PROCEDURE p_Example area varchar(20) = 武漢大學(xué),Price mo
48、ney,Sum int output AS SELECT/UPDATE/INSERT/DELETE SET Sum = . 應(yīng)用程序中執(zhí)行的SQL語(yǔ)句:Declare res intEXECUTE p_Example 武漢大學(xué)信息學(xué)部,1000,res output或者 EXECUTE p_Example Price =1000,re
49、s output13.3 用戶自定義函數(shù):標(biāo)量函數(shù)(返回單值,非text、Image類型,任何允許出現(xiàn)表達(dá)式的地方)、內(nèi)嵌表值函數(shù)(返回一個(gè)表,放在查詢語(yǔ)句的From子句中)、多語(yǔ)句表值函數(shù)(返回一個(gè)可自定義的表,也放在查詢語(yǔ)句的From子句中,視圖和存儲(chǔ)過程的結(jié)合)13.4 標(biāo)量函數(shù)救示例:根據(jù)指定的商品類別查詢?cè)擃惖纳唐穫€(gè)數(shù)。CREAT FUNCTION dbo.f_GoodsCount(class varchar(10) &
50、#160; RETURNS int AS
51、0; BEGIN DECLARE x int
52、160; SELECT x=count(*) From T_GoodsClass a JION T_Goods b ON a.GoodClassID = b.GoodC
53、lassID WHERE GoodClassName = class
54、160; RETURN x END調(diào)用:SELECT dbo.f_GoodsCount(服裝) 或者SELECT GoodsName AS 商品名,dbo.f_GoodsCount(服裝) AS 種類數(shù) From .13.5 內(nèi)嵌表值函數(shù)的
55、不同之處在于RETURNS 后只能是table,RETURN后面只能是單個(gè)的 SELECT語(yǔ)句,沒有相關(guān)聯(lián)的返回變量也沒有函數(shù)體。調(diào)用時(shí)放在查詢語(yǔ)句的FROM子句中。13.6 觸發(fā)器是一種不需要由用戶來(lái)調(diào)用的存儲(chǔ)過程,當(dāng)用戶對(duì)表進(jìn)行UPDATE、INSERT或DELETE操作時(shí)自動(dòng)觸發(fā)執(zhí)行。作用:保證業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。優(yōu)點(diǎn):用編程方法來(lái)實(shí)現(xiàn)復(fù)雜的處理邏輯和業(yè)務(wù)規(guī)則,增強(qiáng)數(shù)據(jù)完整性約束。13.7 觸發(fā)器適用場(chǎng)合:比CHECK語(yǔ)句更復(fù)雜的數(shù)據(jù)約束(可引用其他表中的列);為保證數(shù)據(jù)庫(kù)性能而維護(hù)的非規(guī)范化數(shù)據(jù)(如增加統(tǒng)計(jì)總值的列);實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則13.8 AFTER/FOR:后觸發(fā)型觸發(fā)器,可
56、在同一操作上建立多個(gè);INSTEAD OF:前觸發(fā)型,在同一操作上只能建立一個(gè)。所有的涉及對(duì)數(shù)據(jù)庫(kù)對(duì)象操作的語(yǔ)句均不允許出現(xiàn)在觸發(fā)器中。13.9 DELETED表:存儲(chǔ)UPDATE和DELETED操作語(yǔ)句所影響行的更新前的舊數(shù)據(jù);INSERTED表:存儲(chǔ)UPDATE和INSERT操作語(yǔ)句所影響行的更新后的新數(shù)據(jù)。13.10 維護(hù)數(shù)據(jù)操作完整性的后觸發(fā)器示例:銷售量大于庫(kù)存量則撤銷當(dāng)前銷售,小于時(shí)則在插入銷售單據(jù)明細(xì)時(shí)同時(shí)修改庫(kù)存量。 Create Trigger OperatonCon &
57、#160; ON T_SaleDetail FOR INSERT AS IF EXISTS(Select * From inserted a Jion T_Goods bON a.GoodsID = b.GoodsID WHERE a.Quanity > b.TotalCharge) BEGIN
58、; ROLLBACK PRINT 此商品庫(kù)存量小于此次銷售數(shù)量 END ELSE
59、160; UPDATE T_Goods SET TotalCharge = TotalCharge (SELECT Quanity From inserted)13.11 維護(hù)不同列之間取值完整性的后觸發(fā)器示例:保證商品表中的單價(jià)與價(jià)格變動(dòng)表中一致 CREATE TRIGGER PriceConstraint &
60、#160; ON T_PriceHistory FOR INSERT, UPDATE AS DECLARE newprice money SELECT newprice = SalePrice From inserted
61、0; UPDATE T_Goods SET SaleUnitPrice = newprice WHERE GoodsID IN (SELECT GoodID From inserted )13.12 前觸發(fā)器指定執(zhí)行觸發(fā)器而不執(zhí)行引發(fā)觸發(fā)器的SQL語(yǔ)句,因此,如果數(shù)據(jù)操作滿足完整性約束則在觸發(fā)器中必須重新執(zhí)行這些數(shù)據(jù)操作語(yǔ)句。前觸發(fā)器示例:保證銷售單據(jù)中的會(huì)員卡是有效日
62、期內(nèi)的會(huì)員卡: CREATE TRIGGER CardValid ON T_SaleDetail INSTEAD OF INSERT, UPDATE AS IF NOT EXISTS (SElETCT * From inserted a JOIN T_Card b ON a.CardID=b.Car
63、dID WHERE a.SalDate NOT BETWEEN b.StartDate AND b.EndDate) INSERT INTO T_SaleDetail SELECT * From inserted (若滿足條件此語(yǔ)句重新執(zhí)行)13.13 用SQL語(yǔ)句修改存儲(chǔ)過
64、程、用戶自定義函數(shù)、觸發(fā)器的語(yǔ)法與創(chuàng)建基本一致,只是將CREATE改為了ALTER。(查詢分析器中實(shí)現(xiàn))第14章 安全管理14.1 數(shù)據(jù)庫(kù)的安全控制:在DBMS的不同層次提供對(duì)有意和無(wú)意損害行為的安全防范。有意的非法活動(dòng):加密存、取數(shù)據(jù);有意的非法操作:用戶身份驗(yàn)證、限制操作權(quán);無(wú)意的損壞:提高系統(tǒng)的可靠性和數(shù)據(jù)備份14.2 數(shù)據(jù)庫(kù)權(quán)限的種類:對(duì)DBMS進(jìn)行維護(hù)的權(quán)限;對(duì)數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)進(jìn)行操作的權(quán)限SQL Server權(quán)限種類(與數(shù)據(jù)庫(kù)用戶分類對(duì)應(yīng)):隱含權(quán)限(預(yù)定義的內(nèi)置權(quán)限);語(yǔ)句權(quán)限(DDL語(yǔ)句權(quán)限,創(chuàng)建刪除數(shù)據(jù)庫(kù)對(duì)象);對(duì)象權(quán)限(DML語(yǔ)句權(quán)限,操作數(shù)據(jù)庫(kù)對(duì)象)14.3 數(shù)據(jù)庫(kù)用戶的
65、分類:數(shù)據(jù)庫(kù)系統(tǒng)管理員(SA,全部權(quán)限);數(shù)據(jù)庫(kù)對(duì)象擁有者(創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的用戶,對(duì)所擁有的對(duì)象具有一切權(quán)限);普通用戶:只具有對(duì)數(shù)據(jù)的編輯查詢功能14.4 三個(gè)認(rèn)證過程:身份認(rèn)證,只認(rèn)證用戶是否有連接到數(shù)據(jù)庫(kù)服務(wù)器的“連接權(quán)”;合法用戶,驗(yàn)證是否是數(shù)據(jù)庫(kù)的合法用戶;權(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_addlogin user3,123,jessymin User3為登錄
66、賬戶,123為密碼,jessymin為默認(rèn)數(shù)據(jù)庫(kù);WINDOWS認(rèn)證:sp_grantlogin14.7 刪除登錄賬戶存儲(chǔ)過程:EXEC droplogin user3(SQL Server身份驗(yàn)證);EXEC revokelogin Server1nt_user(WINDOWS身份驗(yàn)證)14.8 登錄賬戶可以連接到SQL Server服務(wù)器上但并不具有訪問任何數(shù)據(jù)庫(kù)的能力,必須再成為數(shù)據(jù)庫(kù)的合法用戶。一個(gè)登錄賬戶可以映射為多個(gè)數(shù)據(jù)庫(kù)用戶,管理數(shù)據(jù)庫(kù)用戶的過程實(shí)際上就是建立登錄賬戶與數(shù)據(jù)庫(kù)用戶之間的映射關(guān)系的過程。新建的數(shù)據(jù)默認(rèn)只有一個(gè)用戶:dbo,它是數(shù)據(jù)庫(kù)的擁有者。14.9 創(chuàng)建數(shù)據(jù)庫(kù)用戶
67、:EXEC sp_adduser U2,U2,user_role,用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。刪除:EXEC sp_dropuser U214.10 合法用戶除了對(duì)所屬數(shù)據(jù)庫(kù)系統(tǒng)表具有一些查詢權(quán)限外并不對(duì)數(shù)據(jù)庫(kù)中的用戶數(shù)據(jù)和對(duì)象具有任何權(quán)限,還得得到對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)和對(duì)象的操作權(quán)限14.11 收回權(quán)限:不允許用戶或角色具有某種操作權(quán),或者收回曾經(jīng)授予的權(quán)限,置空標(biāo)記;拒絕訪問:拒絕某用戶或角色具有某種操作權(quán),即使由于繼承獲得的權(quán)限也無(wú)效,叉叉標(biāo)記14.12 用Transact-SQL語(yǔ)句管理對(duì)象權(quán)限入管理語(yǔ)句權(quán)限:P24514.13 角色:數(shù)據(jù)庫(kù)中具有相同權(quán)限
68、的一組用戶。系統(tǒng)預(yù)定義的固定角色;自定義用戶角色14.14 固定的服務(wù)器角色:*amdin + dbcreator,權(quán)限最重要最高的是sysadmin,角色成員源均為系統(tǒng)的登錄賬戶:EXEC sp_addsrvrolemember Server1nt_user ,sysadmin14.15 固定的數(shù)據(jù)庫(kù)角色:db_*+public,權(quán)限最高的是db_owner:EXEC sp_addrolemember db_owner,user3 (注意用戶和用色的順序)14.16 public角色:每個(gè)用戶均自動(dòng)為其成員,不具任何權(quán)限但可賦予權(quán)限。如果想讓所有數(shù)據(jù)庫(kù)用戶均具有某個(gè)特定權(quán)限則可將該權(quán)限授予p
69、ublic14.17 用戶自定義的用戶角色:EXEC sp_addrole myrole14.18 只要權(quán)限沒有被拒絕過,角色中成員權(quán)限是角色的權(quán)限加上成員自己的權(quán)限。第15章 備份和恢復(fù)數(shù)據(jù)庫(kù)15.1 備份的兩種方式:先創(chuàng)建備份設(shè)備(備份數(shù)據(jù)庫(kù)的場(chǎng)所),再將數(shù)據(jù)庫(kù)備份到備份設(shè)備上(永久備份設(shè)備);直接將數(shù)據(jù)庫(kù)備份到物理文件上(臨時(shí)備份設(shè)備)15.2 創(chuàng)建磁盤備份設(shè)備:EXEC sp_addumpdevice disk,mydiskdump,.mydump.bak15.3 常用備份策略:完全備份加差異備份加日志備份,備份和恢復(fù)速度都比較快,而且當(dāng)系統(tǒng)出現(xiàn)故障時(shí)丟失的數(shù)據(jù)較少。15.4 Tran
70、sact-SQL語(yǔ)句:BACKUP DATABASELOG jessymin TO mydiskdump WITH INITWITH INIT表示覆蓋掉原有內(nèi)容,相當(dāng)于“重寫現(xiàn)有媒體”15.5 恢復(fù)的一般順序:先恢復(fù)最近的完全數(shù)據(jù)庫(kù)備份;再恢復(fù)完全備份之后的最近的差異備份;最后按日志備份的先后順序恢復(fù)自最近的完全備份或差異備份之后的所有日志備份。15.6 Transact-SQL語(yǔ)句恢復(fù)過程示例:1)首先恢復(fù)完全備份RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=1,NORECOVERY2)然后恢復(fù)差異備份(如果有的話)RESTORE D
71、ATABASE jessymin FROM mydiskdump WITH FILE=2,NORECOVERY3)最后恢復(fù)日志文件RESTORE LOG jessymin FROM mydiskdumpNorecovery表示對(duì)數(shù)據(jù)庫(kù)的恢復(fù)操作尚未完成,相當(dāng)于“使數(shù)據(jù)不再運(yùn)行,但能還原其他事務(wù)的日志文件”。默認(rèn)為RECOVERY。第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、DataGri
72、d、MSHFGrid等16.2 DBMS支持的兩種數(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ù)庫(kù)互連Open DataBase Connectivity,ODBC應(yīng)用系統(tǒng)大致工作流程從開始配置數(shù)據(jù)源到回收各種句柄為此。句柄是32位整數(shù)值,代表一個(gè)指針。16.5 OLE DB:對(duì)象鏈接與嵌入的數(shù)據(jù)庫(kù)Object Linked and Embed DataBa
73、se,是Microsof t 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ù)庫(kù),而OLE DB可以訪問關(guān)系和非關(guān)系型甚至是無(wú)結(jié)構(gòu)的數(shù)據(jù)。2)OLE DB克服了ODBC的一個(gè)主要缺點(diǎn):一個(gè)ODBC驅(qū)動(dòng)程序需要支持幾乎所有的DBMS特征和功能,這需要大量的工作和初始投資,而OLE DB允許DB
74、MS提供商只實(shí)現(xiàn)他們產(chǎn)品的一部分功能。第17章 VB數(shù)據(jù)庫(kù)應(yīng)用編程17.1 CommandType屬性:adCmdUnknown,表示RecordSource中的命令類型未知;adCmdTable表示RecordSource屬性的內(nèi)容來(lái)自一張表;adCmdText表示RecordSource屬性的內(nèi)容來(lái)自一個(gè)查詢語(yǔ)句;adCmdStoredType表示RecordSource屬性的內(nèi)容來(lái)自一個(gè)存儲(chǔ)過程17.2 RecordSet的Move方法組中,MovePrevios和MoveNext沒有自動(dòng)檢測(cè)記錄的當(dāng)前行指針是否移出了結(jié)果集邊界的功能,需編碼實(shí)現(xiàn): End If1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新技師合同協(xié)議書下載
- 國(guó)際貿(mào)易實(shí)務(wù)3-合同條款
- 聘請(qǐng)飛行員勞動(dòng)合同
- 聯(lián)合國(guó)國(guó)際貨物銷售合同公約
- 招標(biāo)投標(biāo)買賣合同范本
- 有關(guān)加工合同模板
- 食材供應(yīng)合同范本
- 茶葉買賣合同
- 會(huì)議室場(chǎng)地租賃合同范本
- 部門承包合同
- 《實(shí)驗(yàn)診斷學(xué)》課件
- 小學(xué)網(wǎng)管的工作總結(jié)
- 診所校驗(yàn)現(xiàn)場(chǎng)審核表
- 派出所上戶口委托書
- 醫(yī)院6s管理成果匯報(bào)護(hù)理課件
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計(jì) 【 學(xué)情分析指導(dǎo) 】 人教版八年級(jí)數(shù)學(xué)下冊(cè)
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- IEC-62368-1-差異分享解讀
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語(yǔ)試卷
- 節(jié)后復(fù)工培訓(xùn)內(nèi)容五篇
評(píng)論
0/150
提交評(píng)論