等級考試四級數據庫工程師考試重難點_第1頁
等級考試四級數據庫工程師考試重難點_第2頁
等級考試四級數據庫工程師考試重難點_第3頁
等級考試四級數據庫工程師考試重難點_第4頁
等級考試四級數據庫工程師考試重難點_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、用戶的公共數據視圖,也稱為邏輯模式或概念模式。外模式是對數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征的描述,是與某一應用有關的數據的邏輯表示,也稱為子模式、用戶模式或用戶視圖。內模式是對數據庫中數據的物理結構和存儲方式的描述,也稱為物理模式或存儲模式。當數據庫模式發生變化時,通過調整外模式/模式間的映像關系,使得應用程序不必隨之修改,從而保證數據與應用程序間的邏輯獨立性,簡稱數據的邏輯獨立性。當數據庫數據的物理存儲結構改變時,通過調整模式/內模式映像關系,保持數據庫模式不變,使數據庫系統的外模式和應用程序不隨之改變,保證數據與應用程序間的物理獨立性,簡稱數據的物理獨立性。4. 數據庫是存

3、儲在計算機內的共享數據集合,數據庫管理系統是一種數據管理系統軟件。數據庫系統則是在計算機系統中引入數據庫后的軟硬件系統構成,包括了數據庫、數據庫管理系統和數據庫應用程序。5. DBMS 的主要功能有數據定義、數據操縱、數據庫運行管理與控制、數據庫建立與維護。 DBMS 包括查詢處理器和存儲管理器。查詢處理器實現面向用戶的查詢分析處理和優化功能。存儲管理器為用戶和應用程序提供了訪問存儲在數據庫文件中的應用數據的接口。6. 關系模型 用二維表表示實體及實體之間的聯系,現實世界中的每個客觀對象對應表中的一行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特征,列的值(屬性的取值)刻畫和描述客觀對象

4、的某一具體的特征。優缺點:建立在“集合”“關系”上,嚴格成熟的理念基礎;用關系表示實體及之間聯系,簡單易懂;存儲路徑透明,較好的數據獨立性和安全保密性;查詢效率低于非關系模型。第2章 數據庫應用系統生命周期2.1 軟件生命周期是指軟件產品從考慮其概念開始,到該產品不再使用的整個時期。一般包括概念階段、需求階段、設計階段、實現階段、測試階段、安裝部署及交付階段、運行階段與維護階段。數據庫應用系統需求是指用戶對數據庫應用系統在功能、性能、行為、設計約束等方面的期望和要求:數據及數據處理、業務、性能、其他存儲安全備份與恢復等。2.2 數據庫應用系統生命周期模型1. 瀑布模型原理,項目規劃、需求分析、

5、系統設計、實現與部署、運行管理與維護五部分2. 快速原型模型和增量模型原理,允許漸進、迭代地開發DBAS 。3. 根據DBAS 的軟件組成和各自功能,細化DBAS 需求分析和設計階段,引入了數據組織與存儲設計、數據訪問與處理設計、應用設計三條設計主線,分別用于設計DBAS 中的數據庫、數據庫事務和應用程序。4. 設計階段細分為概念設計、邏輯設計、物理設計三個步驟,每一步涵蓋三條設計主線。第3章 需求分析及功能建模方法3.1 數據元素(列)是數據處理中的最小單位。3.2 DFD 圖:數據流(標有名字的箭頭)、處理、數據存儲(橫圓柱)、數據源/終點(棱形)3.3 IDEF0圖:更好地理解需求;IC

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

7、結構,系統及子系統的關系。2)通過圖形化的模型對象直觀地表示系統完成什么功能,方便系統分析員理解和描述系統。3)模型對象不涉及太多技術術語,便于用戶理解模型。第4章 數據庫概念設計與數據建模4.1 概念設計的目的和任務:面向現實世界,理解和描述應用領域中的數據需求,分析確定系統需要存儲和處理什么數據。過程:確定實體集;確定聯系和聯系類型;建立由信息模型表示的業務模型;確定實體集屬性;優化信息模型。4.2 實體集描述具有相同屬性特征和性質的事物集合;屬性描述實體集具有的某一特征或性質4.3 IDEF1X:標定型(子依父實例才標定)(確定型);非標定型(確定型);分類;不確定第5章 關系數據庫邏輯

8、設計5.1 關系數據庫:按照二維表格組織和存儲的相互關聯的關系(表)的集合。關系數據庫采用關系模型在計算機中組織、存儲、處理和管理數據。5.2 主碼約束:惟一性;最小性,不能取空值,并且取值要唯一外碼約束:如果兩個關系R 和S ,X 是R 的屬性或屬性組,且X 不是R 的碼,但X 是S 的碼,則稱X 是R 的外碼。或者取空值,或者等于S 中某個元組的主碼的值。5.3 邏輯設計的內容:定義和描述數據庫的全局邏輯結構、數據之間的關系、數據的完整性等 目的:得到實際數據庫管理系統可以處理的數據庫模式。步聚:ER 圖轉化關系模式;優化關系模式;數據完整性設計;外模式設計5.4 關系模式描述關系的靜態結

9、構,由模式名、屬性、完整性約束組成,關系是一個表中記錄的集合,關注和強調的是值(模式實例)的集合,也是關系模式在某一時刻狀態的反映。5.5 關系的完整性(完整性約束):對關系所滿足條件的定義。作用:限定和檢查數據庫所含實例的合法性和正確性。靜態:主碼、外碼、域(用戶定義);動態:基于業務規則5.6 偽傳遞規則:X Y ,YW Z ,則XW Z 成立。5.7 規范化設計理論的主要內容是范式,即關系模式滿足的條件,它是數據庫邏輯設計的指南,也是衡量關系模式設計優劣的標準。目的:消除數據冗余及避免操作異常,基本過程:對關系進行分解。一個低級范式的關系模式通過分解(投影)方法可轉換成多個高一級范式的關

10、系模式的集合,這個過程叫規范化。5.8 1NF :R 的每一屬性均不可再分;2NF :是1NF 且每個非主屬性完全依賴于主碼。在1上消除非主屬性對主碼的部分函數依賴; 3NF :是1NF 且每個非主屬性只依賴于主碼。在2上消除非主屬對主碼的傳遞函數依賴。5.9 ER 模型轉換關系模型:實體集轉為同名關系;聯系轉為一個關系,各實體集的碼及聯系的屬性轉為關系的屬性(1:1均可、1:n 取n 、m :n 取集);合并具有相同碼的關系。第6章 存儲技術與數據庫物理設計6.1 物理設計是在具體的硬件環境、OS 、DBMS 約束下,基于邏輯設計,設計具體數據存儲結構和存取方式。目的:占用空間少、訪問效率高

11、、維護代價低。主要步驟有數據庫邏輯模式調整、文件組織與存取設計、數據分布設計、安全模式設計、確定系統配置、物理模式評估。6.2 索引技術(Indexing )是一種快速文件訪問技術,它將文件記錄在某個或某些域(或稱為屬性)上的取值與該記錄的物理地址直接聯系起來,提供了一種根據記錄域的取值快速訪問文件記錄的機制。索引文件是一種利用索引技術支持快速文件訪問的文件組織和存取方法。 索引加快了查詢記錄卻減慢了數據更新速度,本身還占用一定的存儲空間。6.3 文件組織:如何將關系數據庫中的關系映射為操作系統中的數據庫文件,及管理文件。 文件結構:如何將DB 文件中的邏輯記錄映射到物理文件的中磁盤塊。文件存

12、取:針對某種結構的DB 文件,如何查、添刪改其中的邏輯記錄6.4 數據字典:數據庫各類對象的描述信息、數據庫管理系統的控制信息。包括關系模式信息、與視圖描述有關的信息、關系的存儲結構和存取方法信息、完整性約束、安全性有關的信息、數據庫運行統計信息。作用:DBA 用來監視DBMS 的使用情況并協助完成管理工作;一般用戶可用于查閱部分數據庫結構信息;DBS 運行時各子系統頻繁使用以完成相應的存儲和查詢處理功能。6.5 DBMS的三種完整性控制機制:CHECK 子句、斷言、觸發器斷言語句:Create assertion 斷言約束名 check (6.6 堆文件:數據量少且操作頻繁;批量加載數據(先

13、選為堆文件再調整文件結構) 順序文件:查詢條件定義在查找碼上;快速的二分查找散列文件:基于散列域值的等值匹配,特別是訪問順序是隨機的。非精確查詢;非散列域 B 樹和B+樹:大數據量基本表;聚焦文件:多表連接操作6.7有序索引技術利用索引文件實現查找碼取值到記錄物理地址間的映射關系。索引文件由索引記錄組成,每個記錄中的索引項記錄了某個特定的查找碼值和具有該值的數據文件記錄的物理地址。當需要訪問數據文件中某個數據記錄時,先根據查找碼值查閱索引文件,找到對應的索引項,然后從索引項中找出數據記錄在數據文件中的物理地址根據這個地址訪問數據記錄。6.8散列技術是一種快速文件訪問技術,它利用散列函數實現文件

14、記錄域取值到記錄物理地址間的直接映射關系。當需要訪問數據文件中查找碼值為si 的某個或某些文件記錄時,將si 作為散列函數h 的輸入計算得出的散列函數輸出值h(si就是文件記錄在數據文件中的物理地址。6.9 權限:允許用戶對一給定的數據庫對象可執行的操作(查詢、添刪改、新建、備份等)。第7章 數據庫應用系統功能設計7.1軟件體系結構:軟件架構構件,連接件,約束7.2 軟件設計包括系統的總體結構設計、系統的過程設計、系統的數據設計三方面內容(+人機界面設計),從工程管理的角度,分為概要設計、詳細設計7.3 應用軟件分為數據庫事務和應用程序。后者一方面可以與數據庫事務協調合作,另一方面還可實現與數

15、據庫訪問無關的功能,如通信、人機交互。7.4 事務:具有邏輯獨立功能的一系列操作的集合,實現了某些特定的業務規則。7.5 事務概要設計的核心是辨識和設計事務自身的事務處理邏輯,采用面向數據流的程序設計方法設計事務內部的數據處理流程和結構。7.6 C/S結構特點:數據管理和數據處理被分在客戶端和服務器上;服務器可支持多個客戶端;客戶端也可訪問多個服務器;客戶端人機交互+數據處理B/S結構特點:表示層,WEB 瀏覽器;功能層,WEB 應用服務器;數據層,DBMS 服務 優點:實現人面交互、應用業務邏輯處理、數據管理三層分離,提高了系統的可維護性;用WEB 瀏覽器可訪問多個異構應用平臺,解決了跨平臺

16、數據管理問題。第8章 SQL8.1 SQLStructured Query Language,結構化查詢語言8.2 二進制字符串是用十六進制表示的,0x 前綴8.3 創建表: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(

17、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_Card ADD CardType char(4 NULLALTER TABLE Table_Card ALTER COLUMN CardType char

18、(8ALTER TABLE Table_Card DROP COLUMN CardType8.4 SELECT Cname FROM Tablb_Customer WHEREAddress IN (海淀區, 朝陽區 ANDage BETWEEN 40 AND 50 ANDCname LIKE 王張李% (王_ _ORDER BY StartDate ASC , EndDate DESC8.5 除COUNT (*)不忽略空值外,其他函數COUNT (DISTINCT 列名)、SUM ()、AVG ()、MAX ()、MIN ()均忽略空值。均返回單值。SELECT SUM (Score,MAX(

19、Age,MIN(Age,AVG(Age,COUNT (DISTINCT .FROM Table8.6 分組(GROUP BY)依據列不能是text,ntext,image 和bit 類型的列。先分組后計算 統計每種類別商品的商品數,只列出商品數大于4個的商品類別編號和商品數:SELECT GoodClassID as 商品類別編號,COUNT (*)as 商品數 FROM Table_Goods GROUP BY GoodClassID HAVING COUNT(*>48.7 自連接:查詢與王曉在同一個區的顧客的姓名及地址:SELECT T2.Name,T2.Address FROM T

20、able_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(SELECT Address FROM Table_Customer WHERE Name=王曉 AND Name!=王曉8.8 外連接:LEFT OUTER

21、 JOIN 左外連接(左表全輸出)RIGHT OUTER JOIN 右外連接8.9 子查詢: NOT IN()集合 不相關子查詢,先內后外WHERE 列 /</> ( 比較 不相關子查詢,先內后外NOT EXIST(SELECT *)存在 相關子查詢,先外后內8.10 修改數據:INSERT INTO表名 列名表 VALUES (值列表)UPDATE 表名 SET 列名表達式 WHERE子句/ DELETE FROM 表名 WHERE子句 分情況修改:UPDATE Table_GoodsSET SalePrice= CASE GoodsClassNameWHEN 家用電器 THEN

22、 SalePrice SalePrice*0.05 WHEN 服裝 THEN SalePrice + SalePrice*0.06ELSE SalePriceENDFROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID8.11 創建索引:CREATE UNIQUECLUSTEREDNONCLUSTERED INDEX 索引名 ON 表名 (列名 順序(ASC/DESC)8.12 視圖:由從數據庫基本表中選取出來的數據組成的邏輯窗口,是一個虛表,數據庫只存放視圖的定義而不存放視圖包括的數據。對視圖的操作最終都會轉換為對基

23、本表的操作。 CREATE VIEW 視圖名 視圖列名表ASSELECT 語句WITH CHECK OPTION作用:簡化數據查詢語句;使用戶從多角度觀察同一數據;提高了數據安全性(屏蔽掉敏感數據);提供一定程度的邏輯獨立性8.13 定點數:numeric(p,q或decimal(p,q,p為精度(數字位個數),不大于38,q 為小數位個數;bit 類型:只存儲1和0,不多于8個bit 列則只用1個字節存儲8.14 Char(n代表的是普通字符編碼按定長存儲的字符串,“n”的含義是字符的個數,固定占用n 個字節的空間。varchar(n 代表的是普通字符編碼按不定長存儲的字符串,“n”的含義也

24、是字符的個數,按字符的實際長度占用空間。第9章 事務高度與并發控制9.1 調度:定義在多個事務上的調度是這些事務的所有操作的一個執行序列,代表了這些操作的執行順序;沖突操作:事務Ti 的操作Ii 與事務Tj 的操作Ij 是沖突的,當且僅當Ii 和 Ij 訪問數據庫中同一個數據項Q ,并且Ii 和 Ij 中至少有一個是寫操作write (Q;沖突可串行:一個并發調度沖突等價于某個串行調度(判斷一個并行調度是否正確)死鎖是指數據庫系統中部分或全部事務由于無法獲得對需要訪問的數據項的控制權而處于等待狀態,并且將一直等待下去的一種系統狀態。9.2 ACID :Atomicity 原子性;Consist

25、ency 一致性;Isolation 隔離性;Durability 持久性9.3 1級加鎖協議要求事務T 在修改數據項Q 之前必須先對Q 加X 鎖,直到事務結束才釋放該鎖。事務結束包括正常結束(commit )和非正常結束(rollback )。但事務如果是只讀Q 而不對其進行修改,是不需要對Q 加鎖的。2級加鎖協議是在1級加鎖協議基礎上,要求事務T 在讀取數據項Q 之前必須先對其加S 鎖,讀完Q 后可以立即釋放S 鎖。3級加鎖協議則是在1級加鎖協議基礎上,要求事務T 在讀取數據項Q 之前必須先對其加S 鎖,但是需要等到事務結束時才釋放該S 鎖。9.4 2階段鎖協議將每個事務的執行過程分為加鎖

26、階段和解鎖階段。在加鎖階段,事務可以申請獲得數據項上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務可以釋放任何數據項上的任何類型的鎖,但不能再申請任何鎖。每個事務開始執行后就進入了加鎖階段。當第一次釋放鎖后,即轉入解鎖階段。9.5解決死鎖主要采用死鎖預防和死鎖檢測與恢復兩類方法。死鎖預防利用死鎖預防協議,通過破壞死鎖產生的必要條件來避免系統進入死鎖狀態。 一次性加鎖法;順序加鎖法死鎖檢測與恢復則是允許系統進入死鎖狀態,并且定期檢查系統是否發生死鎖。當發現系統發生死鎖后,采取相應的恢復機制使系統擺脫死鎖狀態。9.6活鎖產生的原因是在系統非死鎖狀態下,某些事務由于始終無法獲得對所需訪問的數據

27、項的控制權而長期等待下去,無法繼續執行。9.7 鎖粒度大:被加鎖數據項少、事務并發執行度低、系統開銷小;鎖粒度小則反之9.8 基于鎖的并發控制技術的原理 P166第10章 數據庫的實施、運行和維護10.1 試運行:功能測試;性能測試10.2 數據庫維護:數據庫的轉儲和恢復;數據庫的安全性、完整性控制;數據庫性能的檢測和改善;數據庫的重組和重構10.3 數據庫安全:行政手段制定規范;權限管理、口令等;維護多個數據副本;防及除毒 10.4 數據庫重組:按照系統設計要求對數據庫存儲空間進行全面調整;數據庫重構:業務小范圍變化需對數據庫邏輯結構作必要改變。10.5 數據庫監控分析:DBA 借助相應工具

28、監測數據庫系統的運行情況,對監測數據進行分析,評估整個系統的運行狀態,為系統的安全運行和性能優化提供依據。10.6 數據庫空間管理:數據量增加和碎片使性能降低;空間溢出會帶來災難性停機故障。 包括:創建修改刪除數據庫空間、新建移動關聯數據文件等。10.7 數據庫參數調整:外部調整:CPU 、網絡;調整內存分配(改善程度大 ;調整磁盤I/O(I/O時間是響應時間的最大組成部分 ;調整競爭10.8 數據庫查詢優化:合理使用索引;避免或簡化排序(Order by、Group by,磁盤排序比內存排序開銷大速度慢);避免相關子查詢、外連接(左右連接比內連接消耗大);存儲過程 10.9 屬于Oracle

29、 但不屬于SQL Server的邏輯和物理空間結構:表空間、段、區第11章 故障管理11.1 故障種類:事務內部故障(事務回滾撤消修改)、系統故障(影響事務不壞數據)、介質故障(軟件容錯、硬件容錯)、病毒11.2 系統故障對策:重啟,撤消(UNDO )未提交的事務,重做(REDO )已提交的事務 11.3 軟件容錯:備份、日志文件,利用恢復技術;硬件容錯:雙物理存儲設備11.4 恢復基本原理:冗余,即所有數據均可通過存儲在別處的冗余數據來重建。11.5 對于經常進行數據操作的數據庫:完全轉儲+差異轉儲11.6 以記錄為單位的日志文件:開始標記(Ti BEGIN TRANSACTION)、結束標

30、記(Ti COMMIT或者Ti ROLLBACK、每個事務的所有操作(Ti ,A ,50,80)11.7 以數據塊為單位的日志文件:存放更新前和更新后的整個數據塊。只有事務標識和被更新的數據塊,沒有操作類型和操作對象。11.8 日志的作用:用來進行業務故障和系統故障恢復;協助后備副本進行介質故障恢復(動態轉儲必用);記錄操作監視行為分析問題登記原則:登記次序嚴格按并行事務執行次序;必須先寫日志文件再寫數據庫11.9 檢查點:最大限度減少數據庫完全恢復時所必須執行的日志部分(針對系統故障)。 11.10 數據庫鏡像:提高數據庫可用性的解決方案(比如介質故障,兩臺服務器相互備份) 優點:提供完整或

31、幾近完整的數據冗余,增強數據保護;發生介質故障時,數據不會丟失且服務不會中斷,提高數據庫可用性;提高鏡像數據庫在升級期間的可用性。雙機互備援模式(均為主);雙機熱備份模式(一主一備份機)。數據庫鏡像可用于并發操作。 11.11 RAID廉價冗余磁盤陣列:(鏡像冗余、)校驗冗余:對成員磁盤上的數據執行異或(XOR )操作得到其校驗值并存放在另外的校驗磁盤上。當某個磁盤發生故障時,只須計算其他磁盤上的校驗數據和數據的異或便可重新得到該磁盤的值。第12章 SQL Server2000數據庫管理系統12.1 四個服務:SQL Server 核心服務;SQL Server Agent:代理服務,代理定期

32、進行的管理工作;DTC:Distributed Transaction Coordinator,分布式事務協調器,同一事務訪問多個服務器 Microsoft Search:全文檢索服務12.2 四個版本:企業版(全部功能、大型數據庫)、標準版(小部門)、開發版(同企業版,作開發測試系統用,不作生產服務用)個人版(移動環境、本地數據)12.3 服務帳戶:使用本地系統帳戶:自動取當前登錄到Windows 的用戶,沒有Windows 的網絡訪問權限,適用于非網絡服務器操作系統(如XP );使用域用戶帳戶:使用Windows 身份驗證設置連接到SQL Server,用戶必是Windows 系統管理員,

33、適用于網絡服務器OS 12.4網絡庫:在SQL S客戶端和服務器間傳遞網絡數據包。服務器可一次監聽多個網絡庫 12.5 SQLServer的兩大類數據庫:系統數據庫:DBMS 自動創建及維護,存放維護系統正常運行的信息,master (系統級信息)、msdb (支持自動執行任務)、model (所有用戶數據庫的公共信息)、tempdb (臨時數據庫), 示例Pubs 、Northwind ;用戶數據庫12.6 估算存儲空間:SQLServer 數據存儲單位為頁(Page ),一個數據頁是一塊8KB 的連續磁盤空間,行不能跨頁存儲,一行數據的大小不能超過一頁的大小。一個表10000行數據,每行3

34、000字節,則需要(10000/2)*8KB=40MB的空間。12.7 主數據文件:擴展名為.mdf ,包含數據庫系統信息并可存放用戶數據庫數據,每個數據庫只有一個主數據文件。輔助數據文件:擴展名為.ndf ,數據量很大時使用,可存放在不同的磁盤驅動器上,以便得利用多個磁盤上的存儲空間并提高數據存取的并發性。12.8 每個數據文件及日志文件(.ldf )初始大小均不得小于512KB ,主數據文件大小不得小于model 數據庫主數據文件,日志文件最好不小于1MB12.9 創建數據庫:CREAT DATABASE jessyminON 表示數據庫按下面參數創建( NAME = jessymin,

35、邏輯文件名FILENAME = MSSQLDatajessymin_Data.mdf, OS 下的物理文件名 SIZE 10,文件初始大小,單位默認為MB ,下同MAXSIZE 30,文件最大大小FILEGROWTH 5,文件增量,為0表示不自動增長,默認按當前10%增長) LOG ON 表示該數據庫日志文件按下面參數創建(. 同上,只是物理文件名為jessymin.LDF )12.10 刪除數據庫:DROP DATABASE jessymin。刪除六種數據庫對象均用DROP12.11 Transact-SQL:非過程化高級語言,全司變量,局部變量,局部變量可以是自定義類型但不能是text 或

36、image 類型。12.12 Transact-SQL 示例:計算1+2+3+100的和:DECLARE i int, sum intSET i = 1,sum = 0 -SET 可換為SELECTWHILE i <=100BEGINSET sum = sum + iSET i = i +1ENDPRINT sum12.13 DTS (Data Transformation Service數據轉換服務。注意區別DTC (分布式事務協調器)。導出數據時用戶必須是要連接的數據庫服務器的合法用戶,且對要導出的表具有查詢權限第13章 數據庫對象13.1 存儲過程的:SQL 語句和控制流語句的預編

37、譯集合,應用程序可通過調用方法來執行 優點:模塊化程序設計;提高性能;減少網絡流量;可作為安全機制使用13.2 帶有多個參數并有默認值及輸出參數的存儲過程示例:CREATE PROCEDURE p_Examplearea varchar(20 = 武漢大學,Price money,Sum int outputASSELECT/UPDATE/INSERT/DELETESET Sum = .應用程序中執行的SQL 語句:Declare res intEXECUTE p_Example 武漢大學信息學部,1000,res output或者 EXECUTE p_Example Price =1000,

38、res output13.3 用戶自定義函數:標量函數(返回單值,非text 、Image 類型,任何允許出現表達式的地方)、內嵌表值函數(返回一個表,放在查詢語句的From 子句中)、多語句表值函數(返回一個可自定義的表,也放在查詢語句的From 子句中,視圖和存儲過程的結合)13.4 標量函數救示例:根據指定的商品類別查詢該類的商品個數。CREAT FUNCTION dbo. f_GoodsCount(class varchar(10RETURNS intASBEGINDECLARE x intSELECT x=count(* From T_GoodsClass a JION T_Good

39、s b ON a.GoodClassID = b.GoodClassIDWHERE GoodClassName = classRETURN xEND調用:SELECT dbo.f_GoodsCount(服裝 或者SELECT GoodsName AS 商品名,dbo.f_GoodsCount(服裝 AS 種類數 From .13.5 內嵌表值函數的不同之處在于RETURNS 后只能是table,RETURN 后面只能是單個的 SELECT 語句,沒有相關聯的返回變量也沒有函數體。調用時放在查詢語句的FROM 子句中。 13.6 觸發器是一種不需要由用戶來調用的存儲過程,當用戶對表進行UPDAT

40、E 、INSERT 或DELETE 操作時自動觸發執行。作用:保證業務規則和數據完整性。優點:用編程方法來實現復雜的處理邏輯和業務規則,增強數據完整性約束。13.7 觸發器適用場合:比CHECK 語句更復雜的數據約束(可引用其他表中的列);為保證數據庫性能而維護的非規范化數據(如增加統計總值的列);實現復雜的業務規則13.8 AFTER/FOR:后觸發型觸發器,可在同一操作上建立多個;INSTEAD OF:前觸發型,在同一操作上只能建立一個。所有的涉及對數據庫對象操作的語句均不允許出現在觸發器中。 13.9 DELETED 表:存儲UPDATE 和DELETED 操作語句所影響行的更新前的舊數

41、據; INSERTED 表:存儲UPDATE 和INSERT 操作語句所影響行的更新后的新數據。13.10 維護數據操作完整性的后觸發器示例:銷售量大于庫存量則撤銷當前銷售,小于時則在插入銷售單據明細時同時修改庫存量。Create Trigger OperatonConON T_SaleDetail FOR INSERTASIF EXISTS(Select * From inserted a Jion T_Goods bON a.GoodsID = b.GoodsID WHERE a.Quanity > b.TotalChargeBEGINROLLBACKPRINT 此商品庫存量小于此次

42、銷售數量ENDELSEUPDATE T_Goods SET TotalCharge = TotalCharge (SELECT Quanity From inserted 13.11 維護不同列之間取值完整性的后觸發器示例:保證商品表中的單價與價格變動表中一致 CREATE TRIGGER PriceConstraintON T_PriceHistory FOR INSERT, UPDATEASDECLARE newprice moneySELECT newprice = SalePrice From insertedUPDATE T_Goods SET SaleUnitPrice = new

43、priceWHERE GoodsID IN (SELECT GoodID From inserted 13.12 前觸發器指定執行觸發器而不執行引發觸發器的SQL 語句,因此,如果數據操作滿足完整性約束則在觸發器中必須重新執行這些數據操作語句。前觸發器示例:保證銷售單據中的會員卡是有效日期內的會員卡:CREATE TRIGGER CardValidON T_SaleDetail INSTEAD OF INSERT, UPDATEASIF NOT EXISTS (SElETCT * From inserted a JOIN T_Card b ON a.CardID=b.CardID WHERE

44、a.SalDate NOT BETWEEN b.StartDate AND b.EndDate INSERT INTO T_SaleDetail SELECT * From inserted (若滿足條件此語句重新執行 13.13 用SQL 語句修改存儲過程、用戶自定義函數、觸發器的語法與創建基本一致,只是將CREATE 改為了ALTER 。(查詢分析器中實現)第14章 安全管理14.1 數據庫的安全控制:在DBMS 的不同層次提供對有意和無意損害行為的安全防范。 有意的非法活動:加密存、取數據;有意的非法操作:用戶身份驗證、限制操作權; 無意的損壞:提高系統的可靠性和數據備份14.2 數據庫

45、權限的種類:對DBMS 進行維護的權限;對數據庫對象和數據進行操作的權限 SQL Server權限種類(與數據庫用戶分類對應):隱含權限(預定義的內置權限);語句權限(DDL 語句權限,創建刪除數據庫對象);對象權限(DML 語句權限,操作數據庫對象) 14.3 數據庫用戶的分類:數據庫系統管理員(SA ,全部權限);數據庫對象擁有者(創建數據庫對象的用戶,對所擁有的對象具有一切權限);普通用戶:只具有對數據的編輯查詢功能 14.4 三個認證過程:身份認證,只認證用戶是否有連接到數據庫服務器的“連接權”;合法用戶,驗證是否是數據庫的合法用戶;權限認證,驗證用戶是否具有要進行的操作的操作權限 1

46、4.5 系統內置的登錄賬戶:BUILTINAdministrator;SA;域名Administrator,均DBMS 管理員 14.6 創建SQL Server身份認證的登錄賬戶:EXECUTE sp_addlogin user3, 123, jessymin User3為登錄賬戶,123為密碼,jessymin 為默認數據庫;WINDOWS 認證:sp_grantlogin 14.7 刪除登錄賬戶存儲過程:EXEC droplogin user3(SQL Server 身份驗證);EXEC revokelogin Server1nt_user(WINDOWS 身份驗證)14.8 登錄賬戶可

47、以連接到SQL Server 服務器上但并不具有訪問任何數據庫的能力,必須再成為數據庫的合法用戶。一個登錄賬戶可以映射為多個數據庫用戶,管理數據庫用戶的過程實際上就是建立登錄賬戶與數據庫用戶之間的映射關系的過程。新建的數據默認只有一個用戶:dbo , 它是數據庫的擁有者。14.9 創建數據庫用戶:EXEC sp_adduser U2, U2, user_role,用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。刪除:EXEC sp_dropuser U214.10 合法用戶除了對所屬數據庫系統表具有一些查詢權限外并不對數據庫中的用戶數據和對象具有任何權限,還得得到對數據庫數據

48、和對象的操作權限14.11 收回權限:不允許用戶或角色具有某種操作權,或者收回曾經授予的權限,置空標記; 拒絕訪問:拒絕某用戶或角色具有某種操作權,即使由于繼承獲得的權限也無效,叉叉標記 14.12 用Transact-SQL 語句管理對象權限入管理語句權限:P24514.13 角色:數據庫中具有相同權限的一組用戶。系統預定義的固定角色;自定義用戶角色 14.14 固定的服務器角色:*amdin + dbcreator,權限最重要最高的是sysadmin ,角色成員源均為系統的登錄賬戶:EXEC sp_addsrvrolemember Server1nt_user ,sysadmin 14.1

49、5 固定的數據庫角色:db_*+public,權限最高的是db_owner:EXEC sp_addrolemember db_owner, user3 (注意用戶和用色的順序14.16 public 角色:每個用戶均自動為其成員,不具任何權限但可賦予權限。如果想讓所有數據庫用戶均具有某個特定權限則可將該權限授予public14.17 用戶自定義的用戶角色:EXEC sp_addrole myrole 14.18 只要權限沒有被拒絕過,角色中成員權限是角色的權限加上成員自己的權限。第15章 備份和恢復數據庫15.1 備份的兩種方式:先創建備份設備(備份數據庫的場所),再將數據庫備份到備份設備上(

50、永久備份設備);直接將數據庫備份到物理文件上(臨時備份設備)15.2 創建磁盤備份設備:EXEC sp_addumpdevice disk , mydiskdump , .mydump.bak 15.3 常用備份策略:完全備份加差異備份加日志備份,備份和恢復速度都比較快,而且當系統出現故障時丟失的數據較少。15.4 Transact-SQL語句:BACKUP DATABASELOG jessymin TO mydiskdump WITH INIT WITH INIT表示覆蓋掉原有內容,相當于“重寫現有媒體”15.5 恢復的一般順序:先恢復最近的完全數據庫備份;再恢復完全備份之后的最近的差異備份

51、;最后按日志備份的先后順序恢復自最近的完全備份或差異備份之后的所有日志備份。 15.6 Transact-SQL語句恢復過程示例:1)首先恢復完全備份RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=1,NORECOVERY2)然后恢復差異備份(如果有的話)RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=2,NORECOVERY3)最后恢復日志文件RESTORE LOG jessymin FROM mydiskdumpNorecovery 表示對數據庫的恢復操作尚未完成,相當于“使數據

52、不再運行,但能還原其他事務的日志文件”。默認為RECOVERY 。第16章 VB 開發環境與數據訪問接口(鄙人此前未曾用過VB ,疏漏淺薄之處敬請見諒)16.1 標準數據綁定控件:TextBox 、CheckBox 、ListBox 、ComboxBox 等外部(ActiveX )數據綁定控件:DataCombo 、DataList 、DataGrid 、MSHFGrid 等16.2 DBMS 支持的兩種數據接口:專用接口(與特定的DBMS 有關);通用接口(屏蔽掉每個DBMS 底層接口的差異,提供一種標準的訪問方法)16.3 通用接口:ODBC 、OLE DB、JDBC ,讓應用程序具有很好

53、的適應性和可移植性;具備同時訪問多種DBMS 系統的能力。16.4 ODBC (只訪關系型DB ):開放數據庫互連Open DataBase Connectivity,ODBC應用系統大致工作流程從開始配置數據源到回收各種句柄為此。句柄是32位整數值,代表一個指針。 16.5 OLE DB:對象鏈接與嵌入的數據庫Object Linked and Embed DataBase,是Microsof t OLE 對象標準的一個實現,是COM 對象,是為數據訪問而設計的一系列COM 接口。16.6 ADO :動態數據對象ActiveX Data Object,建在OLE DB之上的高層接口集,是介于

54、OLE DB 底層接口和應用程序之間的接口,它避免了開發人員直接使用OLE DB底層接口的麻煩。 16.7 ODBC 與OLE DB的主要區別:1)ODBC 只能訪問關系型數據庫,而OLE DB可以訪問關系和非關系型甚至是無結構的數據。2)OLE DB克服了ODBC 的一個主要缺點:一個ODBC 驅動程序需要支持幾乎所有的DBMS 特征和功能,這需要大量的工作和初始投資,而OLE DB允許DBMS 提供商只實現他們產品的一部分功能。第17章 VB 數據庫應用編程17.1 CommandType 屬性:adCmdUnknown, 表示RecordSource 中的命令類型未知;adCmdTabl

55、e 表示RecordSource 屬性的內容來自一張表;adCmdText 表示RecordSource 屬性的內容來自一個查詢語句;adCmdStoredType 表示RecordSource 屬性的內容來自一個存儲過程17.2 RecordSet的Move 方法組中,MovePrevios 和MoveNext 沒有自動檢測記錄的當前行指針是否移出了結果集邊界的功能,需編碼實現:End If17.3 保存緩沖區中的記錄:Update 方法;對當前記錄指針作一個移動操作17.4 CancelUpdate 方法:應在Update 方法之前調用,調用了Update 方法之后的修改是不能撤銷的;如果

56、沒有添加新記錄也沒有對當前記錄做任何修改,調用CancelUpdate 會出錯。 17.5 Find 方法:用于在當前結果集中查找滿足條件的記錄myadodc.RecordSet. Find(“查找條件表達式”與 RecordSet 對象名. Filter “選擇表達式” 相似(.Filter=adFilterNone還原) 17.6 更新記錄:mydocdc.RecordSet .Fields (“CustomID ” = Trim (txtCID.Textmydocdc.RecordSet .Fields (“Age ” = CInt (txtAge.Textmydocdc.RecordS

57、et. Update17.7 刪除記錄提示窗口:Dim res As Integerres = MsgBox (“確實要刪除此行記錄嗎?”,vbExclamation+vbYesNo+vbDefaultButton2 If res = vbYes ThenEnd If17.8 在DataGrid 中顯示全部列:Dim intCol As IntegerWith mydgFor intCol = 0 To . Columns.Count 1. Columns(intCol.Visible = TrueNextEnd With另一種For 循環:For Each par IN adocm.Parameters .Next par17.9 排序功能實現:(mydg.DataSource = adodcWith adodc.RecordSetIf optAsc

溫馨提示

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

評論

0/150

提交評論