版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 引言1. 數(shù)據(jù)是描述現(xiàn)實世界事物的符號記錄,是用物理符號記錄下來的可以識別的信息。 數(shù)據(jù)是信息的符號表示,是載體;信息是數(shù)據(jù)的語義解釋,是內涵。2. 數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫系統(tǒng)的形式框架,用來描述數(shù)據(jù)的一組概念和定義,包括描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)操作、數(shù)據(jù)語義以及數(shù)據(jù)一致性的概念工具。 滿足三條件:比較真實地模擬現(xiàn)實世界;易于人們理解;易于計算機實現(xiàn) 三個組成要素:數(shù)據(jù)結構(靜態(tài),數(shù)據(jù)對象本身結構及之間的聯(lián)系)、數(shù)據(jù)操作(對數(shù)據(jù)對象操作及操作規(guī)則的集合)和完整性約束(語義約束:數(shù)據(jù)模型、數(shù)據(jù)內部及之間聯(lián)系)3. 模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所
2、有用戶的公共數(shù)據(jù)視圖,也稱為邏輯模式或概念模式。外模式是對數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是與某一應用有關的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。內模式是對數(shù)據(jù)庫中數(shù)據(jù)的物理結構和存儲方式的描述,也稱為物理模式或存儲模式。當數(shù)據(jù)庫模式發(fā)生變化時,通過調整外模式/模式間的映像關系,使得應用程序不必隨之修改,從而保證數(shù)據(jù)與應用程序間的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。當數(shù)據(jù)庫數(shù)據(jù)的物理存儲結構改變時,通過調整模式/內模式映像關系,保持數(shù)據(jù)庫模式不變,使數(shù)據(jù)庫系統(tǒng)的外模式和應用程序不隨之改變,保證數(shù)據(jù)與應用程序間的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。4. 數(shù)據(jù)庫是
3、存儲在計算機內的共享數(shù)據(jù)集合,數(shù)據(jù)庫管理系統(tǒng)是一種數(shù)據(jù)管理系統(tǒng)軟件。數(shù)據(jù)庫系統(tǒng)則是在計算機系統(tǒng)中引入數(shù)據(jù)庫后的軟硬件系統(tǒng)構成,包括了數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應用程序。5. DBMS的主要功能有數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運行管理與控制、數(shù)據(jù)庫建立與維護。DBMS包括查詢處理器和存儲管理器。查詢處理器實現(xiàn)面向用戶的查詢分析處理和優(yōu)化功能。存儲管理器為用戶和應用程序提供了訪問存儲在數(shù)據(jù)庫文件中的應用數(shù)據(jù)的接口。6.關系模型 用二維表表示實體及實體之間的聯(lián)系,現(xiàn)實世界中的每個客觀對象對應表中的一行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特征,列的值(屬性的取值)刻畫和描述客觀對象的某一
4、具體的特征。 優(yōu)缺點:建立在“集合”“關系”上,嚴格成熟的理念基礎;用關系表示實體及之間聯(lián)系,簡單易懂;存儲路徑透明,較好的數(shù)據(jù)獨立性和安全保密性;查詢效率低于非關系模型。第2章 數(shù)據(jù)庫應用系統(tǒng)生命周期2.1 軟件生命周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個時期。一般包括概念階段、需求階段、設計階段、實現(xiàn)階段、測試階段、安裝部署及交付階段、運行階段與維護階段。數(shù)據(jù)庫應用系統(tǒng)需求是指用戶對數(shù)據(jù)庫應用系統(tǒng)在功能、性能、行為、設計約束等方面的期望和要求:數(shù)據(jù)及數(shù)據(jù)處理、業(yè)務、性能、其他存儲安全備份與恢復等。2.2 數(shù)據(jù)庫應用系統(tǒng)生命周期模型1.瀑布模型原理,項目
5、規(guī)劃、需求分析、系統(tǒng)設計、實現(xiàn)與部署、運行管理與維護五部分2.快速原型模型和增量模型原理,允許漸進、迭代地開發(fā)DBAS。3.根據(jù)DBAS的軟件組成和各自功能,細化DBAS需求分析和設計階段,引入了數(shù)據(jù)組織與存儲設計、數(shù)據(jù)訪問與處理設計、應用設計三條設計主線,分別用于設計DBAS中的數(shù)據(jù)庫、數(shù)據(jù)庫事務和應用程序。4.設計階段細分為概念設計、邏輯設計、物理設計三個步驟,每一步涵蓋三條設計主線。第3章 需求分析及功能建模方法3.1 數(shù)據(jù)元素(列)是數(shù)據(jù)處理中的最小單位。3.2 DFD圖:數(shù)據(jù)流(標有名字的箭頭)、處理、數(shù)據(jù)存儲(橫圓柱)、數(shù)據(jù)源/終點(棱形)3.3 IDEF0圖:更好地理解需求;IC
6、OM(輸入、控制、輸出、機制)碼;至少一個控制和輸出箭頭。A-0;A0(頂層圖);A1;A113.4 DFD與IDEF0的比較:結構化分析思想:自頂而下逐級細化1.DFD圖用箭頭也叫數(shù)據(jù)流來描述數(shù)據(jù)移動的方向、數(shù)據(jù)處理之間的數(shù)據(jù)依賴關系,IDEF0圖也用箭頭表示數(shù)據(jù)流,但不強調流或順序,強調數(shù)據(jù)約束,箭頭語義更豐富。2.DFD模型有四種元素,IDEF0圖只有兩種:箭頭和活動3.IDEF0圖更加規(guī)范。其概念、建模方法、畫圖規(guī)則等均有說明和規(guī)定4.IDEF0模型結構更清楚,便于理解和溝通3.5 結構化分析及建模方法的優(yōu)點:1)不過早陷入具體的細節(jié),從整體或宏觀入手分析問題,如業(yè)務系統(tǒng)的總體結構,系
7、統(tǒng)及子系統(tǒng)的關系。2)通過圖形化的模型對象直觀地表示系統(tǒng)完成什么功能,方便系統(tǒng)分析員理解和描述系統(tǒng)。3)模型對象不涉及太多技術術語,便于用戶理解模型。第4章 數(shù)據(jù)庫概念設計與數(shù)據(jù)建模4.1 概念設計的目的和任務:面向現(xiàn)實世界,理解和描述應用領域中的數(shù)據(jù)需求,分析確定系統(tǒng)需要存儲和處理什么數(shù)據(jù)。過程:確定實體集;確定聯(lián)系和聯(lián)系類型;建立由信息模型表示的業(yè)務模型;確定實體集屬性;優(yōu)化信息模型。4.2 實體集描述具有相同屬性特征和性質的事物集合;屬性描述實體集具有的某一特征或性質4.3 IDEF1X:標定型(子依父實例才標定)(確定型);非標定型(確定型);分類;不確定第5章 關系數(shù)據(jù)庫邏輯設計5.
8、1 關系數(shù)據(jù)庫:按照二維表格組織和存儲的相互關聯(lián)的關系(表)的集合。關系數(shù)據(jù)庫采用關系模型在計算機中組織、存儲、處理和管理數(shù)據(jù)。5.2 主碼約束:惟一性;最小性,不能取空值,并且取值要唯一外碼約束:如果兩個關系R和S,X是R的屬性或屬性組,且X不是R的碼,但X是S的碼,則稱X是R的外碼?;蛘呷】罩担蛘叩扔赟中某個元組的主碼的值。5.3 邏輯設計的內容:定義和描述數(shù)據(jù)庫的全局邏輯結構、數(shù)據(jù)之間的關系、數(shù)據(jù)的完整性等目的:得到實際數(shù)據(jù)庫管理系統(tǒng)可以處理的數(shù)據(jù)庫模式。步聚:ER圖轉化關系模式;優(yōu)化關系模式;數(shù)據(jù)完整性設計;外模式設計5.4 關系模式描述關系的靜態(tài)結構,由模式名、屬性、完整性約束組成
9、,關系是一個表中記錄的集合,關注和強調的是值(模式實例)的集合,也是關系模式在某一時刻狀態(tài)的反映。5.5 關系的完整性(完整性約束):對關系所滿足條件的定義。作用:限定和檢查數(shù)據(jù)庫所含實例的合法性和正確性。靜態(tài):主碼、外碼、域(用戶定義);動態(tài):基于業(yè)務規(guī)則5.6 偽傳遞規(guī)則:XY,YWZ,則XWZ成立。5.7 規(guī)范化設計理論的主要內容是范式,即關系模式滿足的條件,它是數(shù)據(jù)庫邏輯設計的指南,也是衡量關系模式設計優(yōu)劣的標準。目的:消除數(shù)據(jù)冗余及避免操作異常,基本過程:對關系進行分解。一個低級范式的關系模式通過分解(投影)方法可轉換成多個高一級范式的關系模式的集合,這個過程叫規(guī)范化。5.8 1NF
10、:R的每一屬性均不可再分;2NF:是1NF且每個非主屬性完全依賴于主碼。在1上消除非主屬性對主碼的部分函數(shù)依賴;3NF:是1NF且每個非主屬性只依賴于主碼。在2上消除非主屬對主碼的傳遞函數(shù)依賴。5.9 ER模型轉換關系模型:實體集轉為同名關系;聯(lián)系轉為一個關系,各實體集的碼及聯(lián)系的屬性轉為關系的屬性(1:1均可、1:n取n、m:n取集);合并具有相同碼的關系。第6章 存儲技術與數(shù)據(jù)庫物理設計6.1 物理設計是在具體的硬件環(huán)境、OS、DBMS約束下,基于邏輯設計,設計具體數(shù)據(jù)存儲結構和存取方式。目的:占用空間少、訪問效率高、維護代價低。主要步驟有數(shù)據(jù)庫邏輯模式調整、文件組織與存取設計、數(shù)據(jù)分布設
11、計、安全模式設計、確定系統(tǒng)配置、物理模式評估。6.2 索引技術(Indexing)是一種快速文件訪問技術,它將文件記錄在某個或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯(lián)系起來,提供了一種根據(jù)記錄域的取值快速訪問文件記錄的機制。索引文件是一種利用索引技術支持快速文件訪問的文件組織和存取方法。索引加快了查詢記錄卻減慢了數(shù)據(jù)更新速度,本身還占用一定的存儲空間。6.3 文件組織:如何將關系數(shù)據(jù)庫中的關系映射為操作系統(tǒng)中的數(shù)據(jù)庫文件,及管理文件。文件結構:如何將DB文件中的邏輯記錄映射到物理文件的中磁盤塊。文件結構主要有五種形式:堆文件(Heap File)、順序文件(Sequential F
12、ile)、聚集文件(Clustering File)、索引文件(Indexing File)和散列文件(Hashing File)。文件存?。横槍δ撤N結構的DB文件,如何查、添刪改其中的邏輯記錄6.4 數(shù)據(jù)字典:數(shù)據(jù)庫各類對象的描述信息、數(shù)據(jù)庫管理系統(tǒng)的控制信息。包括關系模式信息、與視圖描述有關的信息、關系的存儲結構和存取方法信息、完整性約束、安全性有關的信息、數(shù)據(jù)庫運行統(tǒng)計信息。作用:DBA用來監(jiān)視DBMS的使用情況并協(xié)助完成管理工作;一般用戶可用于查閱部分數(shù)據(jù)庫結構信息;DBS運行時各子系統(tǒng)頻繁使用以完成相應的存儲和查詢處理功能。6.5 DBMS的三種完整性控制機制:CHECK子句、斷言、
13、觸發(fā)器斷言語句:Create assertion 斷言約束名 check ()6.6 堆文件:數(shù)據(jù)量少且操作頻繁;批量加載數(shù)據(jù)(先選為堆文件再調整文件結構)順序文件:查詢條件定義在查找碼上;快速的二分查找散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機的。非精確查詢;非散列域B樹和B+樹:大數(shù)據(jù)量基本表;聚焦文件:多表連接操作6.7有序索引技術利用索引文件實現(xiàn)查找碼取值到記錄物理地址間的映射關系。索引文件由索引記錄組成,每個記錄中的索引項記錄了某個特定的查找碼值和具有該值的數(shù)據(jù)文件記錄的物理地址。當需要訪問數(shù)據(jù)文件中某個數(shù)據(jù)記錄時,先根據(jù)查找碼值查閱索引文件,找到對應的索引項,然后從索引
14、項中找出數(shù)據(jù)記錄在數(shù)據(jù)文件中的物理地址根據(jù)這個地址訪問數(shù)據(jù)記錄。6.8散列技術是一種快速文件訪問技術,它利用散列函數(shù)實現(xiàn)文件記錄域取值到記錄物理地址間的直接映射關系。當需要訪問數(shù)據(jù)文件中查找碼值為si的某個或某些文件記錄時,將si作為散列函數(shù)h的輸入計算得出的散列函數(shù)輸出值h(si)就是文件記錄在數(shù)據(jù)文件中的物理地址。6.9 權限:允許用戶對一給定的數(shù)據(jù)庫對象可執(zhí)行的操作(查詢、添刪改、新建、備份等)。第7章 數(shù)據(jù)庫應用系統(tǒng)功能設計7.1軟件體系結構:軟件架構構件,連接件,約束7.2 軟件設計包括系統(tǒng)的總體結構設計、系統(tǒng)的過程設計、系統(tǒng)的數(shù)據(jù)設計三方面內容(+人機界面設計),從工程管理的角度,
15、分為概要設計、詳細設計7.3 應用軟件分為數(shù)據(jù)庫事務和應用程序。后者一方面可以與數(shù)據(jù)庫事務協(xié)調合作,另一方面還可實現(xiàn)與數(shù)據(jù)庫訪問無關的功能,如通信、人機交互。7.4 事務:具有邏輯獨立功能的一系列操作的集合,實現(xiàn)了某些特定的業(yè)務規(guī)則。7.5 事務概要設計的核心是辨識和設計事務自身的事務處理邏輯,采用面向數(shù)據(jù)流的程序設計方法設計事務內部的數(shù)據(jù)處理流程和結構。7.6 C/S結構特點:數(shù)據(jù)管理和數(shù)據(jù)處理被分在客戶端和服務器上;服務器可支持多個客戶端;客戶端也可訪問多個服務器;客戶端人機交互+數(shù)據(jù)處理B/S結構特點:表示層,WEB瀏覽器;功能層,WEB應用服務器;數(shù)據(jù)層,DBMS服務優(yōu)點:實現(xiàn)人面交互
16、、應用業(yè)務邏輯處理、數(shù)據(jù)管理三層分離,提高了系統(tǒng)的可維護性;用WEB瀏覽器可訪問多個異構應用平臺,解決了跨平臺數(shù)據(jù)管理問題。第8章 SQL8.1 SQLStructured Query Language,結構化查詢語言8.2 二進制字符串是用十六進制表示的,0x前綴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,
17、State char(1) NOT NULL CHECK(State in (0,1,2), Sex char(1) CHECK(Sex in(男,女), Age int CHECK( Age between16,85), CustomerID varchar(8), CHECK(EndDate > StartDate), PRIMARY KEY (CardID), FOREIGN KEY (CustomerID) REFERENCES Table_Customer (CustomerID) )刪除表:DROP TABLE Table_Card修改表:ALTER TABLE Table_
18、Card ADD CardType char(4) NULL ALTER TABLE Table_Card ALTER COLUMN CardType char(8) ALTER TABLE Table_Card DROP COLUMN CardType8.4 SELECT Cname FROM Tablb_Customer WHERE Address IN (海淀區(qū),朝陽區(qū)) AND age BETWEEN 40 AND 50 ANDCname LIKE 王張李% (王_ _) ORDER BY StartDate ASC, EndDate DESC8.5 除COUNT(*)不忽略空值外,其
19、他函數(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類型的列。先分組后計算統(tǒng)計每種類別商品的商品數(shù),只列出商品數(shù)大于4個的商品類別編號和商品數(shù):SELECT GoodClassID as 商品類別編號,COUNT(*)as 商品數(shù) FROM Table_Goods GROUP BY GoodClassID
20、 HAVING COUNT(*)>48.7 自連接:查詢與王曉在同一個區(qū)的顧客的姓名及地址:SELECT T2.Name,T2.Address FROM Table_Customer as T1 JION Table_Customer as T2 ON T1.Address = T2.Address WHERE T1.Name = 王曉 AND T2.Name !=王曉子查詢:一個SELECT語句嵌套在一個SELECT、UPDATE、INSERT或DELETE語句中SELECT Name,Address FROM Table_Customer WHERE Address IN (SELE
21、CT Address FROM Table_Customer WHERE Name=王曉) AND Name!=王曉8.8 外連接:LEFT OUTER JOIN 左外連接(左表全輸出)RIGHT OUTER JOIN 右外連接8.9 子查詢: NOT IN()集合 不相關子查詢,先內后外 WHERE 列 /</> () 比較 不相關子查詢,先內后外 NOT EXIST(SELECT *)存在 相關子查詢,先外后內8.10 修改數(shù)據(jù):INSERT INTO表名 列名表 VALUES(值列表)UPDATE 表名 SET 列名表達式 WHERE子句/ DELETE FROM 表名 WH
22、ERE子句分情況修改:UPDATE Table_Goods SET SalePrice= CASE GoodsClassName WHEN 家用電器 THEN SalePrice SalePrice*0.05 WHEN 服裝 THEN SalePrice + SalePrice*0.06 ELSE SalePrice END FROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID8.11 創(chuàng)建索引:CREATE UNIQUECLUSTEREDNONCLUSTERED INDEX 索引名 ON 表名 (列名 順序(ASC
23、/DESC))8.12 視圖:由從數(shù)據(jù)庫基本表中選取出來的數(shù)據(jù)組成的邏輯窗口,是一個虛表,數(shù)據(jù)庫只存放視圖的定義而不存放視圖包括的數(shù)據(jù)。對視圖的操作最終都會轉換為對基本表的操作。CREATE VIEW 視圖名 視圖列名表 AS SELECT 語句 WITH CHECK OPTION作用:簡化數(shù)據(jù)查詢語句;使用戶從多角度觀察同一數(shù)據(jù);提高了數(shù)據(jù)安全性(屏蔽掉敏感數(shù)據(jù));提供一定程度的邏輯獨立性8.13 定點數(shù):numeric(p,q)或decimal(p,q),p為精度(數(shù)字位個數(shù)),不大于38,q為小數(shù)位個數(shù);bit類型:只存儲1和0,不多于8個bit列則只用1個字節(jié)存儲8.14 Char(n
24、)代表的是普通字符編碼按定長存儲的字符串,“n”的含義是字符的個數(shù),固定占用n個字節(jié)的空間。varchar(n) 代表的是普通字符編碼按不定長存儲的字符串,“n”的含義也是字符的個數(shù),按字符的實際長度占用空間。第9章 事務高度與并發(fā)控制9.1 調度:定義在多個事務上的調度是這些事務的所有操作的一個執(zhí)行序列,代表了這些操作的執(zhí)行順序;沖突操作:事務Ti 的操作Ii與事務Tj的操作Ij是沖突的,當且僅當Ii 和 Ij訪問數(shù)據(jù)庫中同一個數(shù)據(jù)項Q,并且Ii 和 Ij中至少有一個是寫操作write(Q);沖突可串行:一個并發(fā)調度沖突等價于某個串行調度(判斷一個并行調度是否正確)死鎖是指數(shù)據(jù)庫系統(tǒng)中部分或
25、全部事務由于無法獲得對需要訪問的數(shù)據(jù)項的控制權而處于等待狀態(tài),并且將一直等待下去的一種系統(tǒng)狀態(tài)。9.2 ACID:Atomicity原子性;Consistency一致性;Isolation隔離性;Durability持久性9.3 1級加鎖協(xié)議要求事務T在修改數(shù)據(jù)項Q之前必須先對Q加X鎖,直到事務結束才釋放該鎖。事務結束包括正常結束(commit)和非正常結束(rollback)。但事務如果是只讀Q而不對其進行修改,是不需要對Q加鎖的。2級加鎖協(xié)議是在1級加鎖協(xié)議基礎上,要求事務T在讀取數(shù)據(jù)項Q之前必須先對其加S鎖,讀完Q后可以立即釋放S鎖。3級加鎖協(xié)議則是在1級加鎖協(xié)議基礎上,要求事務T在讀取
26、數(shù)據(jù)項Q之前必須先對其加S鎖,但是需要等到事務結束時才釋放該S鎖。9.4 2階段鎖協(xié)議將每個事務的執(zhí)行過程分為加鎖階段和解鎖階段。在加鎖階段,事務可以申請獲得數(shù)據(jù)項上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但不能再申請任何鎖。每個事務開始執(zhí)行后就進入了加鎖階段。當?shù)谝淮吾尫沛i后,即轉入解鎖階段。9.5解決死鎖主要采用死鎖預防和死鎖檢測與恢復兩類方法。死鎖預防利用死鎖預防協(xié)議,通過破壞死鎖產(chǎn)生的必要條件來避免系統(tǒng)進入死鎖狀態(tài)。一次性加鎖法;順序加鎖法死鎖檢測與恢復則是允許系統(tǒng)進入死鎖狀態(tài),并且定期檢查系統(tǒng)是否發(fā)生死鎖。當發(fā)現(xiàn)系統(tǒng)發(fā)生死鎖后,采取相應
27、的恢復機制使系統(tǒng)擺脫死鎖狀態(tài)。9.6活鎖產(chǎn)生的原因是在系統(tǒng)非死鎖狀態(tài)下,某些事務由于始終無法獲得對所需訪問的數(shù)據(jù)項的控制權而長期等待下去,無法繼續(xù)執(zhí)行。9.7 鎖粒度大:被加鎖數(shù)據(jù)項少、事務并發(fā)執(zhí)行度低、系統(tǒng)開銷??;鎖粒度小則反之9.8 基于鎖的并發(fā)控制技術的原理 P166第10章 數(shù)據(jù)庫的實施、運行和維護10.1 試運行:功能測試;性能測試10.2 數(shù)據(jù)庫維護:數(shù)據(jù)庫的轉儲和恢復;數(shù)據(jù)庫的安全性、完整性控制;數(shù)據(jù)庫性能的檢測和改善;數(shù)據(jù)庫的重組和重構10.3 數(shù)據(jù)庫安全:行政手段制定規(guī)范;權限管理、口令等;維護多個數(shù)據(jù)副本;防及除毒10.4 數(shù)據(jù)庫重組:按照系統(tǒng)設計要求對數(shù)據(jù)庫存儲空間進行全
28、面調整;數(shù)據(jù)庫重構:業(yè)務小范圍變化需對數(shù)據(jù)庫邏輯結構作必要改變。10.5 數(shù)據(jù)庫監(jiān)控分析:DBA借助相應工具監(jiān)測數(shù)據(jù)庫系統(tǒng)的運行情況,對監(jiān)測數(shù)據(jù)進行分析,評估整個系統(tǒng)的運行狀態(tài),為系統(tǒng)的安全運行和性能優(yōu)化提供依據(jù)。10.6 數(shù)據(jù)庫空間管理:數(shù)據(jù)量增加和碎片使性能降低;空間溢出會帶來災難性停機故障。包括:創(chuàng)建修改刪除數(shù)據(jù)庫空間、新建移動關聯(lián)數(shù)據(jù)文件等。10.7 數(shù)據(jù)庫參數(shù)調整:外部調整:CPU、網(wǎng)絡;調整內存分配(改善程度大);調整磁盤I/O(I/O時間是響應時間的最大組成部分);調整競爭10.8 數(shù)據(jù)庫查詢優(yōu)化:合理使用索引;避免或簡化排序(Order by、Group by,磁盤排序比內存排
29、序開銷大速度慢);避免相關子查詢、外連接(左右連接比內連接消耗大);存儲過程10.9 屬于Oracle 但不屬于SQL Server的邏輯和物理空間結構:表空間、段、區(qū)第11章 故障管理11.1 故障種類:事務內部故障(事務回滾撤消修改)、系統(tǒng)故障(影響事務不壞數(shù)據(jù))、介質故障(軟件容錯、硬件容錯)、病毒11.2 系統(tǒng)故障對策:重啟,撤消(UNDO)未提交的事務,重做(REDO)已提交的事務11.3 軟件容錯:備份、日志文件,利用恢復技術;硬件容錯:雙物理存儲設備11.4 恢復基本原理:冗余,即所有數(shù)據(jù)均可通過存儲在別處的冗余數(shù)據(jù)來重建。11.5 對于經(jīng)常進行數(shù)據(jù)操作的數(shù)據(jù)庫:完全轉儲+差異轉
30、儲11.6 以記錄為單位的日志文件:開始標記(Ti BEGIN TRANSACTION)、結束標記(Ti COMMIT或者Ti ROLLBACK)、每個事務的所有操作(Ti,A,50,80)11.7 以數(shù)據(jù)塊為單位的日志文件:存放更新前和更新后的整個數(shù)據(jù)塊。只有事務標識和被更新的數(shù)據(jù)塊,沒有操作類型和操作對象。11.8 日志的作用:用來進行業(yè)務故障和系統(tǒng)故障恢復;協(xié)助后備副本進行介質故障恢復(動態(tài)轉儲必用);記錄操作監(jiān)視行為分析問題登記原則:登記次序嚴格按并行事務執(zhí)行次序;必須先寫日志文件再寫數(shù)據(jù)庫11.9 檢查點:最大限度減少數(shù)據(jù)庫完全恢復時所必須執(zhí)行的日志部分(針對系統(tǒng)故障)。11.10
31、數(shù)據(jù)庫鏡像:提高數(shù)據(jù)庫可用性的解決方案(比如介質故障,兩臺服務器相互備份)優(yōu)點:提供完整或幾近完整的數(shù)據(jù)冗余,增強數(shù)據(jù)保護;發(fā)生介質故障時,數(shù)據(jù)不會丟失且服務不會中斷,提高數(shù)據(jù)庫可用性;提高鏡像數(shù)據(jù)庫在升級期間的可用性。雙機互備援模式(均為主);雙機熱備份模式(一主一備份機)。數(shù)據(jù)庫鏡像可用于并發(fā)操作。11.11 RAID廉價冗余磁盤陣列:(鏡像冗余、)校驗冗余:對成員磁盤上的數(shù)據(jù)執(zhí)行異或(XOR)操作得到其校驗值并存放在另外的校驗磁盤上。當某個磁盤發(fā)生故障時,只須計算其他磁盤上的校驗數(shù)據(jù)和數(shù)據(jù)的異或便可重新得到該磁盤的值。第12章 SQL Server2000數(shù)據(jù)庫管理系統(tǒng)12.1 四個服務
32、:SQL Server 核心服務;SQL Server Agent:代理服務,代理定期進行的管理工作;DTC:Distributed Transaction Coordinator,分布式事務協(xié)調器,同一事務訪問多個服務器Microsoft Search:全文檢索服務12.2 四個版本:企業(yè)版(全部功能、大型數(shù)據(jù)庫)、標準版(小部門)、開發(fā)版(同企業(yè)版,作開發(fā)測試系統(tǒng)用,不作生產(chǎn)服務用)個人版(移動環(huán)境、本地數(shù)據(jù))12.3 服務帳戶:使用本地系統(tǒng)帳戶:自動取當前登錄到Windows的用戶,沒有Windows的網(wǎng)絡訪問權限,適用于非網(wǎng)絡服務器操作系統(tǒng)(如XP);使用域用戶帳戶:使用Windows
33、身份驗證設置連接到SQL Server,用戶必是Windows系統(tǒng)管理員,適用于網(wǎng)絡服務器OS12.4網(wǎng)絡庫:在SQL S客戶端和服務器間傳遞網(wǎng)絡數(shù)據(jù)包。服務器可一次監(jiān)聽多個網(wǎng)絡庫12.5 SQLServer的兩大類數(shù)據(jù)庫:系統(tǒng)數(shù)據(jù)庫:DBMS自動創(chuàng)建及維護,存放維護系統(tǒng)正常運行的信息,master(系統(tǒng)級信息)、msdb(支持自動執(zhí)行任務)、model(所有用戶數(shù)據(jù)庫的公共信息)、tempdb(臨時數(shù)據(jù)庫),示例Pubs、Northwind;用戶數(shù)據(jù)庫12.6 估算存儲空間:SQLServer數(shù)據(jù)存儲單位為頁(Page),一個數(shù)據(jù)頁是一塊8KB的連續(xù)磁盤空間,行不能跨頁存儲,一行數(shù)據(jù)的大小不
34、能超過一頁的大小。一個表10000行數(shù)據(jù),每行3000字節(jié),則需要(10000/2)*8KB=40MB的空間。12.7 主數(shù)據(jù)文件:擴展名為.mdf,包含數(shù)據(jù)庫系統(tǒng)信息并可存放用戶數(shù)據(jù)庫數(shù)據(jù),每個數(shù)據(jù)庫只有一個主數(shù)據(jù)文件。輔助數(shù)據(jù)文件:擴展名為.ndf,數(shù)據(jù)量很大時使用,可存放在不同的磁盤驅動器上,以便得利用多個磁盤上的存儲空間并提高數(shù)據(jù)存取的并發(fā)性。12.8 每個數(shù)據(jù)文件及日志文件(.ldf)初始大小均不得小于512KB,主數(shù)據(jù)文件大小不得小于model數(shù)據(jù)庫主數(shù)據(jù)文件,日志文件最好不小于1MB12.9 創(chuàng)建數(shù)據(jù)庫:CREAT DATABASE jessymin ON 表示數(shù)據(jù)庫按下面參數(shù)創(chuàng)
35、建 ( NAME = jessymin, 邏輯文件名 = MSSQLDatajessymin_Data.mdf, OS下的物理文件名 SIZE 10,文件初始大小,單位默認為MB,下同 MAXSIZE 30,文件最大大小 5,文件增量,為0表示不自動增長,默認按當前10%增長) LOG ON 表示該數(shù)據(jù)庫日志文件按下面參數(shù)創(chuàng)建 (.同上,只是物理文件名為jessymin.LDF)12.10 刪除數(shù)據(jù)庫:DROP DATABASE jessymin。刪除六種數(shù)據(jù)庫對象均用DROP12.11 Transact-SQL:非過程化高級語言,全司變量,局部變量,局部變量可以是自定義類型但不能是text或
36、image類型。12.12 Transact-SQL示例:計算1+2+3+100的和: DECLARE i int, sum int SET i = 1,sum = 0 -SET可換為SELECT WHILE i <=100 BEGIN SET sum = sum + i SET i = i +1 END PRINT sum12.13 DTS(Data Transformation Service)數(shù)據(jù)轉換服務。注意區(qū)別DTC(分布式事務協(xié)調器)。導出數(shù)據(jù)時用戶必須是要連接的數(shù)據(jù)庫服務器的合法用戶,且對要導出的表具有查詢權限第13章 數(shù)據(jù)庫對象13.1 存儲過程的:SQL語句和控制流語句
37、的預編譯集合,應用程序可通過調用方法來執(zhí)行優(yōu)點:模塊化程序設計;提高性能;減少網(wǎng)絡流量;可作為安全機制使用13.2 帶有多個參數(shù)并有默認值及輸出參數(shù)的存儲過程示例: CREATE PROCEDURE p_Example area varchar(20) = 武漢大學,Price money,Sum int output AS SELECT/UPDATE/INSERT/DELETE SET Sum = . 應用程序中執(zhí)行的SQL語句:Declare res intEXECUTE p_Example 武漢大學信息學部,1000,res output或者 EXECUTE p_Example Pric
38、e =1000,res output13.3 用戶自定義函數(shù):標量函數(shù)(返回單值,非text、Image類型,任何允許出現(xiàn)表達式的地方)、內嵌表值函數(shù)(返回一個表,放在查詢語句的From子句中)、多語句表值函數(shù)(返回一個可自定義的表,也放在查詢語句的From子句中,視圖和存儲過程的結合)13.4 標量函數(shù)救示例:根據(jù)指定的商品類別查詢該類的商品個數(shù)。CREAT FUNCTION dbo.f_GoodsCount(class varchar(10) RETURNS int AS BEGIN DECLARE x int SELECT x=count(*) From T_GoodsClass a J
39、ION T_Goods b ON a.GoodClassID = b.GoodClassID WHERE GoodClassName = class RETURN x END調用:SELECT dbo.f_GoodsCount(服裝) 或者SELECT GoodsName AS 商品名,dbo.f_GoodsCount(服裝) AS 種類數(shù) From .13.5 內嵌表值函數(shù)的不同之處在于RETURNS 后只能是table,RETURN后面只能是單個的 SELECT語句,沒有相關聯(lián)的返回變量也沒有函數(shù)體。調用時放在查詢語句的FROM子句中。13.6 觸發(fā)器是一種不需要由用戶來調用的存儲過程,當
40、用戶對表進行UPDATE、INSERT或DELETE操作時自動觸發(fā)執(zhí)行。作用:保證業(yè)務規(guī)則和數(shù)據(jù)完整性。優(yōu)點:用編程方法來實現(xiàn)復雜的處理邏輯和業(yè)務規(guī)則,增強數(shù)據(jù)完整性約束。13.7 觸發(fā)器適用場合:比CHECK語句更復雜的數(shù)據(jù)約束(可引用其他表中的列);為保證數(shù)據(jù)庫性能而維護的非規(guī)范化數(shù)據(jù)(如增加統(tǒng)計總值的列);實現(xiàn)復雜的業(yè)務規(guī)則13.8 AFTER/FOR:后觸發(fā)型觸發(fā)器,可在同一操作上建立多個;INSTEAD OF:前觸發(fā)型,在同一操作上只能建立一個。所有的涉及對數(shù)據(jù)庫對象操作的語句均不允許出現(xiàn)在觸發(fā)器中。13.9 DELETED表:存儲UPDATE和DELETED操作語句所影響行的更新前
41、的舊數(shù)據(jù);INSERTED表:存儲UPDATE和INSERT操作語句所影響行的更新后的新數(shù)據(jù)。13.10 維護數(shù)據(jù)操作完整性的后觸發(fā)器示例:銷售量大于庫存量則撤銷當前銷售,小于時則在插入銷售單據(jù)明細時同時修改庫存量。 Create Trigger OperatonCon 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 ROLLBACK PRINT 此商品
42、庫存量小于此次銷售數(shù)量 END ELSE UPDATE T_Goods SET TotalCharge = TotalCharge (SELECT Quanity From inserted)13.11 維護不同列之間取值完整性的后觸發(fā)器示例:保證商品表中的單價與價格變動表中一致 CREATE TRIGGER PriceConstraint ON T_PriceHistory FOR INSERT, UPDATE AS DECLARE newprice money SELECT newprice = SalePrice From inserted UPDATE T_Goods SET Sale
43、UnitPrice = newprice WHERE GoodsID IN (SELECT GoodID From inserted )13.12 前觸發(fā)器指定執(zhí)行觸發(fā)器而不執(zhí)行引發(fā)觸發(fā)器的SQL語句,因此,如果數(shù)據(jù)操作滿足完整性約束則在觸發(fā)器中必須重新執(zhí)行這些數(shù)據(jù)操作語句。前觸發(fā)器示例:保證銷售單據(jù)中的會員卡是有效日期內的會員卡: CREATE TRIGGER CardValid ON T_SaleDetail INSTEAD OF INSERT, UPDATE AS IF NOT EXISTS (SElETCT * From inserted a JOIN T_Card b ON a.Ca
44、rdID=b.CardID WHERE a.SalDate NOT BETWEEN b.StartDate AND b.EndDate) INSERT INTO T_SaleDetail SELECT * From inserted (若滿足條件此語句重新執(zhí)行)13.13 用SQL語句修改存儲過程、用戶自定義函數(shù)、觸發(fā)器的語法與創(chuàng)建基本一致,只是將CREATE改為了ALTER。(查詢分析器中實現(xiàn))第14章 安全管理14.1 數(shù)據(jù)庫的安全控制:在DBMS的不同層次提供對有意和無意損害行為的安全防范。有意的非法活動:加密存、取數(shù)據(jù);有意的非法操作:用戶身份驗證、限制操作權;無意的損壞:提高系統(tǒng)的可
45、靠性和數(shù)據(jù)備份14.2 數(shù)據(jù)庫權限的種類:對DBMS進行維護的權限;對數(shù)據(jù)庫對象和數(shù)據(jù)進行操作的權限SQL Server權限種類(與數(shù)據(jù)庫用戶分類對應):隱含權限(預定義的內置權限);語句權限(DDL語句權限,創(chuàng)建刪除數(shù)據(jù)庫對象);對象權限(DML語句權限,操作數(shù)據(jù)庫對象)14.3 數(shù)據(jù)庫用戶的分類:數(shù)據(jù)庫系統(tǒng)管理員(SA,全部權限);數(shù)據(jù)庫對象擁有者(創(chuàng)建數(shù)據(jù)庫對象的用戶,對所擁有的對象具有一切權限);普通用戶:只具有對數(shù)據(jù)的編輯查詢功能14.4 三個認證過程:身份認證,只認證用戶是否有連接到數(shù)據(jù)庫服務器的“連接權”;合法用戶,驗證是否是數(shù)據(jù)庫的合法用戶;權限認證,驗證用戶是否具有要進行的操
46、作的操作權限14.5 系統(tǒng)內置的登錄賬戶:BUILTINAdministrator;SA;域名Administrator,均DBMS管理員14.6 創(chuàng)建SQL Server身份認證的登錄賬戶:EXECUTE sp_addlogin user3,123,jessymin User3為登錄賬戶,123為密碼,jessymin為默認數(shù)據(jù)庫;WINDOWS認證:sp_grantlogin14.7 刪除登錄賬戶存儲過程:EXEC droplogin user3(SQL Server身份驗證);EXEC revokelogin Server1nt_user(WINDOWS身份驗證)14.8 登錄賬戶可以連
47、接到SQL Server服務器上但并不具有訪問任何數(shù)據(jù)庫的能力,必須再成為數(shù)據(jù)庫的合法用戶。一個登錄賬戶可以映射為多個數(shù)據(jù)庫用戶,管理數(shù)據(jù)庫用戶的過程實際上就是建立登錄賬戶與數(shù)據(jù)庫用戶之間的映射關系的過程。新建的數(shù)據(jù)默認只有一個用戶:dbo,它是數(shù)據(jù)庫的擁有者。14.9 創(chuàng)建數(shù)據(jù)庫用戶:EXEC sp_adduser U2,U2,user_role,用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。刪除:EXEC sp_dropuser U214.10 合法用戶除了對所屬數(shù)據(jù)庫系統(tǒng)表具有一些查詢權限外并不對數(shù)據(jù)庫中的用戶數(shù)據(jù)和對象具有任何權限,還得得到對數(shù)據(jù)庫數(shù)據(jù)和對象的操作權
48、限14.11 收回權限:不允許用戶或角色具有某種操作權,或者收回曾經(jīng)授予的權限,置空標記;拒絕訪問:拒絕某用戶或角色具有某種操作權,即使由于繼承獲得的權限也無效,叉叉標記14.12 用Transact-SQL語句管理對象權限入管理語句權限:P24514.13 角色:數(shù)據(jù)庫中具有相同權限的一組用戶。系統(tǒng)預定義的固定角色;自定義用戶角色14.14 固定的服務器角色:*amdin + dbcreator,權限最重要最高的是sysadmin,角色成員源均為系統(tǒng)的登錄賬戶:EXEC sp_addsrvrolemember Server1nt_user ,sysadmin14.15 固定的數(shù)據(jù)庫角色:db
49、_*+public,權限最高的是db_owner:EXEC sp_addrolemember db_owner,user3 (注意用戶和用色的順序)14.16 public角色:每個用戶均自動為其成員,不具任何權限但可賦予權限。如果想讓所有數(shù)據(jù)庫用戶均具有某個特定權限則可將該權限授予public14.17 用戶自定義的用戶角色:EXEC sp_addrole myrole14.18 只要權限沒有被拒絕過,角色中成員權限是角色的權限加上成員自己的權限。第15章 備份和恢復數(shù)據(jù)庫15.1 備份的兩種方式:先創(chuàng)建備份設備(備份數(shù)據(jù)庫的場所),再將數(shù)據(jù)庫備份到備份設備上(永久備份設備);直接將數(shù)據(jù)庫備
50、份到物理文件上(臨時備份設備)15.2 創(chuàng)建磁盤備份設備:EXEC sp_addumpdevice disk,mydiskdump,.mydump.bak15.3 常用備份策略:完全備份加差異備份加日志備份,備份和恢復速度都比較快,而且當系統(tǒng)出現(xiàn)故障時丟失的數(shù)據(jù)較少。15.4 Transact-SQL語句:BACKUP DATABASELOG jessymin TO mydiskdump WITH INITWITH INIT表示覆蓋掉原有內容,相當于“重寫現(xiàn)有媒體”15.5 恢復的一般順序:先恢復最近的完全數(shù)據(jù)庫備份;再恢復完全備份之后的最近的差異備份;最后按日志備份的先后順序恢復自最近的完全
51、備份或差異備份之后的所有日志備份。15.6 Transact-SQL語句恢復過程示例:1)首先恢復完全備份RESTORE DATABASE jessymin FROM mydiskdump WITH 2)然后恢復差異備份(如果有的話)RESTORE DATABASE jessymin FROM mydiskdump WITH 3)最后恢復日志文件RESTORE LOG jessymin FROM mydiskdumpNorecovery表示對數(shù)據(jù)庫的恢復操作尚未完成,相當于“使數(shù)據(jù)不再運行,但能還原其他事務的日志文件”。默認為RECOVERY。第16章 VB開發(fā)環(huán)境與數(shù)據(jù)訪問接口(鄙人此前未曾
52、用過VB,疏漏淺薄之處敬請見諒)16.1 標準數(shù)據(jù)綁定控件:TextBox、CheckBox、ListBox、ComboxBox等外部(ActiveX)數(shù)據(jù)綁定控件:DataCombo、DataList、DataGrid、MSHFGrid等16.2 DBMS支持的兩種數(shù)據(jù)接口:專用接口(與特定的DBMS有關);通用接口(屏蔽掉每個DBMS底層接口的差異,提供一種標準的訪問方法)16.3 通用接口:ODBC、OLE DB、JDBC,讓應用程序具有很好的適應性和可移植性;具備同時訪問多種DBMS系統(tǒng)的能力。16.4 ODBC(只訪關系型DB):開放數(shù)據(jù)庫互連Open DataBase Connec
53、tivity,ODBC應用系統(tǒng)大致工作流程從開始配置數(shù)據(jù)源到回收各種句柄為此。句柄是32位整數(shù)值,代表一個指針。16.5 OLE DB:對象鏈接與嵌入的數(shù)據(jù)庫Object Linked and Embed DataBase,是Microsof t OLE對象標準的一個實現(xiàn),是COM對象,是為數(shù)據(jù)訪問而設計的一系列COM接口。16.6 ADO:動態(tài)數(shù)據(jù)對象ActiveX Data Object,建在OLE DB之上的高層接口集,是介于OLE DB底層接口和應用程序之間的接口,它避免了開發(fā)人員直接使用OLE DB底層接口的麻煩。16.7 ODBC與OLE DB的主要區(qū)別:1)ODBC只能訪問關系型數(shù)據(jù)庫,而OLE DB可以訪問關系和非關系型甚至是無結構的數(shù)據(jù)。2)OLE DB克服了ODBC的一個主要缺點:一個ODBC驅動程序需要支持幾乎所有的DBMS特征和功能,這需要大量的工作和初始投資,而OLE DB允許DBMS提供商只實現(xiàn)他們產(chǎn)品的一部分功能。第17章 VB數(shù)據(jù)庫應用編程17.1 CommandType屬性:adCmdUnknown,表示RecordSource中的命令類型未知;adCmdTable表示RecordSou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度上海房產(chǎn)買賣合同智能家居系統(tǒng)配套范本3篇
- 2024版鄭州玻璃崗亭生產(chǎn)與供應鏈管理合同
- 2025年智能電網(wǎng)建設項目資金投入合同3篇
- 二零二五版豆腐品牌連鎖加盟合同3篇
- 二零二五年度企業(yè)商業(yè)信用貸款還款合同3篇
- 二零二四年醫(yī)療器械生產(chǎn)許可合同
- 2025年綠色建筑項目瓦工力工勞務分包及節(jié)能減排合同3篇
- 2025年度大型活動臨時演員招募服務合同4篇
- 年度豆?jié){粉戰(zhàn)略市場規(guī)劃報告
- 年度電子廚房秤競爭策略分析報告
- 2024年高標準農(nóng)田建設土地承包服務協(xié)議3篇
- 閱讀理解(專項訓練)-2024-2025學年湘少版英語六年級上冊
- 2024-2025學年人教版數(shù)學六年級上冊 期末綜合試卷(含答案)
- 無創(chuàng)通氣基本模式
- 飛行原理(第二版) 課件 第4章 飛機的平衡、穩(wěn)定性和操縱性
- 收養(yǎng)能力評分表
- 暨南大學珠海校區(qū)財務辦招考財務工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 山東省桓臺第一中學2024-2025學年高一上學期期中考試物理試卷(拓展部)(無答案)
- 2024年全國統(tǒng)一高考英語試卷(新課標Ⅰ卷)含答案
- 2024年認證行業(yè)法律法規(guī)及認證基礎知識 CCAA年度確認 試題與答案
- 燃燒機論文定型機加熱論文:天然氣直燃熱風技術在定型機中的應用
評論
0/150
提交評論