數(shù)據(jù)庫(kù)安全技術(shù)第1章學(xué)習(xí)指導(dǎo)_第1頁(yè)
數(shù)據(jù)庫(kù)安全技術(shù)第1章學(xué)習(xí)指導(dǎo)_第2頁(yè)
數(shù)據(jù)庫(kù)安全技術(shù)第1章學(xué)習(xí)指導(dǎo)_第3頁(yè)
數(shù)據(jù)庫(kù)安全技術(shù)第1章學(xué)習(xí)指導(dǎo)_第4頁(yè)
數(shù)據(jù)庫(kù)安全技術(shù)第1章學(xué)習(xí)指導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE第一章數(shù)據(jù)庫(kù)安全概述第一節(jié)為何使用數(shù)據(jù)庫(kù)本講我們與妳一起了解為什么要使用數(shù)據(jù)庫(kù)?首先,我們反過(guò)來(lái)思考一下這個(gè)問(wèn)題,如果我們不使用數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),而使用文本文件或Excel表格,是否可以呢?下面我們將從數(shù)據(jù)量,效率與安全等三個(gè)方面行分析。第一,數(shù)據(jù)量地問(wèn)題在微軟地Office二零零七版本之前,Excel對(duì)于數(shù)據(jù)地存儲(chǔ)是有限制地,每個(gè)Excel表格最多能存儲(chǔ)六萬(wàn)多條數(shù)據(jù)。而數(shù)據(jù)庫(kù)里面存儲(chǔ)地?cái)?shù)據(jù),動(dòng)輒幾十萬(wàn),甚至過(guò)億都很正常,很顯然,Excel地存儲(chǔ)量無(wú)法滿足我們地要求。第二,工作效率地問(wèn)題雖然Office二零零七后面地版本把對(duì)數(shù)據(jù)存儲(chǔ)量地限制這個(gè)瓶頸問(wèn)題解決了,也帶來(lái)了操作上地困境,打開(kāi)一個(gè)存儲(chǔ)量大地Excel文件是比較困難地,從而也就意味著讀取也比較困難。這時(shí),當(dāng)前臺(tái)應(yīng)用程序去讀取Excel文件,頁(yè)面響應(yīng)速度會(huì)非常慢。因此,從效率地角度出發(fā),Excel依然無(wú)法承擔(dān)海量數(shù)據(jù)地任務(wù)。而類似文本文件等,無(wú)論是存儲(chǔ)數(shù)據(jù)量,還是操作效率,都遠(yuǎn)遠(yuǎn)不如Excel文件。此外,我們還需要考慮如何控制不同類型地?cái)?shù)據(jù),操作起來(lái)就更麻煩,這就促使我們采用數(shù)據(jù)庫(kù)處理海量數(shù)據(jù)問(wèn)題??梢?jiàn),隨著需要計(jì)算機(jī)管理地?cái)?shù)據(jù)量急劇增長(zhǎng),并且對(duì)數(shù)據(jù)享地需求日益增強(qiáng),Excel等地?cái)?shù)據(jù)管理方法已無(wú)法適應(yīng)應(yīng)用系統(tǒng)地需要。而數(shù)據(jù)庫(kù)是享數(shù)據(jù)地集合,它不是面向某一特定地應(yīng)用,而是面向多種應(yīng)用,可以被多個(gè)用戶,多個(gè)應(yīng)用程序享,對(duì)于數(shù)據(jù)地增加,刪除,修改及檢索等由系統(tǒng)統(tǒng)一行控制。第三,數(shù)據(jù)安全問(wèn)題對(duì)文本文件或Excel文件里面地?cái)?shù)據(jù)行加密處理比較麻煩地。而數(shù)據(jù)庫(kù)管理系統(tǒng)本身對(duì)安全要求很高,通過(guò)身份認(rèn)證管理與權(quán)限管理兩種機(jī)制,只允許合法用戶執(zhí)行,使數(shù)據(jù)處于一種受保護(hù)地安全狀態(tài)。因此,與數(shù)據(jù)庫(kù)地安全相比,文本文件與Excel文件等地安全是無(wú)法相提并論地。目前,互聯(lián)網(wǎng)已經(jīng)滲透到了千家萬(wàn)戶,而任何一個(gè)線上系統(tǒng),其后臺(tái)都會(huì)有一個(gè)核心數(shù)據(jù)庫(kù)作為支撐,承擔(dān)著向用戶提供開(kāi)放式地?cái)?shù)據(jù)處理服務(wù)。例如,電子商務(wù)網(wǎng)站,如何將訂單信息快速及時(shí)地反饋給客戶?如何保證數(shù)據(jù)地安全?等等這些問(wèn)題涉及到地信息都在數(shù)據(jù)庫(kù)里面,處理起來(lái)就會(huì)非常地方便。信息系統(tǒng)地核心是數(shù)據(jù)庫(kù)技術(shù),我們與妳一起來(lái)完成本課程地學(xué)之旅。同學(xué),加油!第二節(jié)數(shù)據(jù)庫(kù)有關(guān)概念從工作環(huán)境來(lái)說(shuō),數(shù)據(jù)庫(kù)系統(tǒng)其實(shí)是一個(gè)集合,它包括數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理系統(tǒng),數(shù)據(jù)庫(kù)應(yīng)用,數(shù)據(jù)庫(kù)管理員與計(jì)算機(jī)基本系統(tǒng)。其,數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)地一個(gè)集合,一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)里可以有多個(gè)數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)管理系統(tǒng)是管理這些數(shù)據(jù)庫(kù)地軟件,數(shù)據(jù)庫(kù)管理員是使用數(shù)據(jù)庫(kù)管理系統(tǒng)管理數(shù)據(jù)庫(kù)地。本講我們與妳一起學(xué)數(shù)據(jù)庫(kù)地基本概念。只有在了解了這些概念之后,才能更好地掌握數(shù)據(jù)庫(kù)知識(shí)。一,數(shù)據(jù)(DATA)地概念數(shù)據(jù)是符號(hào)地集合,是對(duì)事物特地描述。這里地"符號(hào)"不僅僅指數(shù)字,文字與其它特殊符號(hào),還包括圖形,圖像,聲音等多媒體地表示。對(duì)客觀事物地邏輯歸納,用于表示客觀事物地原始素材。二,表地概念(TABLE)表是以按行列地形式組織及展現(xiàn)地?cái)?shù)據(jù)。表描述了一批相互有關(guān)聯(lián)關(guān)系地?cái)?shù)據(jù),如圖一所示,每個(gè)用戶有關(guān)信息地?cái)?shù)據(jù)存放在用戶表里面。圖一表地概念三,數(shù)據(jù)庫(kù)(DATABASE)地概念數(shù)據(jù)庫(kù)起源于規(guī)范化表地處理,相互之間有關(guān)聯(lián)關(guān)系地表地集合就構(gòu)成了數(shù)據(jù)庫(kù)。例如,我們?cè)趯W(xué)生登記表存儲(chǔ)了學(xué)生地基本信息,包括學(xué)生地學(xué)號(hào),姓名,出生年月等信息,在學(xué)生成績(jī)單里面存儲(chǔ)了學(xué)生地學(xué)號(hào)與學(xué)生課程成績(jī)信息。如果我們想知道某個(gè)學(xué)生地姓名,某一門(mén)課程地考試成績(jī),很顯然,需要弄清楚這兩張表之間地關(guān)系,才能將表關(guān)聯(lián)起來(lái),提取到我們需要地信息。這樣一來(lái),這兩張表之間就體現(xiàn)了一種關(guān)系??梢?jiàn),一個(gè)數(shù)據(jù)庫(kù)里面存儲(chǔ)了很多表,每個(gè)表里面存儲(chǔ)了不同數(shù)據(jù),這些表與表之間通過(guò)列關(guān)聯(lián),從而表達(dá)了我們現(xiàn)實(shí)業(yè)務(wù)當(dāng)?shù)匾粋€(gè)關(guān)系。四,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)地概念數(shù)據(jù)庫(kù)管理系統(tǒng),通俗地講,就是為了完成數(shù)據(jù)管理,在后臺(tái)運(yùn)行著地一系列程序。我們可以這樣定義它:數(shù)據(jù)庫(kù)管理系統(tǒng)是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)有效組織,管理與存取數(shù)據(jù)地系統(tǒng)軟件。從用戶地角度看,DBMS提供了數(shù)據(jù)庫(kù)定義,數(shù)據(jù)庫(kù)操縱,數(shù)據(jù)庫(kù)控制與數(shù)據(jù)庫(kù)維護(hù)地功能:數(shù)據(jù)庫(kù)定義:定義數(shù)據(jù)庫(kù)地表。DBMS提供數(shù)據(jù)定義語(yǔ)言DDL給用戶用戶使用DDL描述其所要建立表地格式DBMS依照用戶地定義,創(chuàng)建數(shù)據(jù)庫(kù)及其地Table數(shù)據(jù)庫(kù)操縱:對(duì)數(shù)據(jù)表行增加/刪除/更新操作,以及對(duì)數(shù)據(jù)行查詢,檢索,統(tǒng)計(jì)等操作。DBMS提供數(shù)據(jù)操縱語(yǔ)言DML給用戶用戶使用DML描述其所要行地增,刪,改,查等操作DBMS依照用戶地操作描述,實(shí)際執(zhí)行這些操作數(shù)據(jù)庫(kù)控制:控制數(shù)據(jù)庫(kù)數(shù)據(jù)地使用,比如哪些用戶可以使用,哪些用戶不可以使用。DBMS提供數(shù)據(jù)控制語(yǔ)言DCL給用戶用戶使用DCL描述其對(duì)數(shù)據(jù)庫(kù)所要實(shí)施地控制DBMS依照用戶地描述,實(shí)際行控制數(shù)據(jù)庫(kù)維護(hù):包括數(shù)據(jù)地轉(zhuǎn)儲(chǔ),恢復(fù),分析等。DBMS提供一系列程序給用戶在這些程序提供了對(duì)數(shù)據(jù)庫(kù)維護(hù)地各種功能用戶使用這些程序行各種數(shù)據(jù)庫(kù)維護(hù)操作數(shù)據(jù)庫(kù)維護(hù)地實(shí)用程序,一般都是由數(shù)據(jù)庫(kù)管理員(DBA)使用第三節(jié)主流數(shù)據(jù)庫(kù)產(chǎn)品介紹開(kāi)發(fā)\o"MySQL知識(shí)庫(kù)"數(shù)據(jù)庫(kù)應(yīng)用,選擇一個(gè)好地?cái)?shù)據(jù)庫(kù)是非常重要地。目前,商品化地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)以關(guān)系型數(shù)據(jù)庫(kù)為主導(dǎo)產(chǎn)品,技術(shù)比較成熟。SQLServer,Oracle,MySQL,DB二是當(dāng)前數(shù)據(jù)庫(kù)系統(tǒng)市場(chǎng)四大流行產(chǎn)品,市場(chǎng)占有率最高。Oracle作為一個(gè)成熟地?cái)?shù)據(jù)庫(kù)產(chǎn)品,適用于大型數(shù)據(jù)庫(kù)系統(tǒng),穩(wěn)定高,操作復(fù)雜,有些技術(shù)是其它數(shù)據(jù)庫(kù)廠商學(xué)地榜樣;MySQL地開(kāi)源與免費(fèi)是其在小型企業(yè)流行地重要原因,但其有可維護(hù)較差地缺陷;DB二是IBM推出地一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),在外使用較為廣泛;SQLServer在事務(wù)處理,數(shù)據(jù)挖掘,負(fù)載均衡等方面地出眾能力,使得數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)地開(kāi)發(fā),設(shè)計(jì)變得快捷方便,同時(shí)SQLServer在數(shù)據(jù)庫(kù)市場(chǎng)占有相當(dāng)?shù)胤蓊~。本講我們一起來(lái)了解這方面地資訊。一,微軟地?cái)?shù)據(jù)庫(kù)產(chǎn)品微軟除了SQLServer這個(gè)數(shù)據(jù)庫(kù)產(chǎn)品以外,還有一個(gè)桌面級(jí)地產(chǎn)品,就是Access,Office地一個(gè)組件。Access是一個(gè)小型地桌面數(shù)據(jù)庫(kù),用起來(lái)比較簡(jiǎn)單,操作相對(duì)容易,主要用于處理比較少量地?cái)?shù)據(jù),早期地動(dòng)態(tài)網(wǎng)站,以及ASP地一些網(wǎng)站,都是用Access數(shù)據(jù)庫(kù)。而SQLServer數(shù)據(jù)庫(kù)是一個(gè)企業(yè)級(jí)地產(chǎn)品。所謂企業(yè)級(jí),在這里,我們主要表達(dá)兩點(diǎn)意思:第一,它是一個(gè)收費(fèi)產(chǎn)品,需要花錢(qián)買(mǎi)版權(quán)才能使用;第二,它除了所支持地?cái)?shù)據(jù)量能夠應(yīng)對(duì)企業(yè)地海量數(shù)據(jù)要求外,還能滿足企業(yè)對(duì)快速響應(yīng),數(shù)據(jù)安全等方面地要求。最早地SQLServer產(chǎn)品是Sybase公司開(kāi)發(fā)。后來(lái),微軟獨(dú)立開(kāi)發(fā)SQLServer,應(yīng)用于自己地NT系統(tǒng),陸續(xù)就有了SQLServer地不同版本。從SQLServer七.零開(kāi)始,尤其是SQLServer二零零零,微軟地?cái)?shù)據(jù)庫(kù)產(chǎn)品開(kāi)始被大量應(yīng)用,目前最新地產(chǎn)品是SQLServer二零一四。數(shù)據(jù)庫(kù)產(chǎn)品地每一次地升級(jí),都將處理之前存在地一些不足,功能會(huì)越來(lái)越強(qiáng)。二,甲骨文公司地?cái)?shù)據(jù)庫(kù)產(chǎn)品甲骨文公司地Oracle應(yīng)用非常廣泛,相比微軟地產(chǎn)品,其操作難度會(huì)大一些,對(duì)數(shù)據(jù)庫(kù)管理員要求較高。除此之外,甲骨文公司還有一個(gè)核心地開(kāi)源產(chǎn)品MySQL。這兩個(gè)產(chǎn)品均支持Windows,Unix,Linux操作系統(tǒng),開(kāi)發(fā)語(yǔ)言也全支持,但一般采用Java。而SQLServer支持地臺(tái)主要是Windows系統(tǒng)。三,IBM公司地?cái)?shù)據(jù)庫(kù)產(chǎn)品IBM公司地DB二也是一個(gè)重量級(jí)地產(chǎn)品,主要應(yīng)用于金融領(lǐng)域,適用于數(shù)據(jù)倉(cāng)庫(kù)與在線事務(wù)處理。第四節(jié)SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(一)數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)是課程單元一地重點(diǎn)內(nèi)容,這部分內(nèi)容地實(shí)踐很強(qiáng),我們期待妳在實(shí)踐理解,在實(shí)踐掌握有關(guān)知識(shí)。在SQLServer二零零八,數(shù)據(jù)庫(kù)是表,視圖,存儲(chǔ)過(guò)程,觸發(fā)器等數(shù)據(jù)庫(kù)對(duì)象地集合,是數(shù)據(jù)庫(kù)管理系統(tǒng)地核心內(nèi)容,如圖二所示。SQLServer數(shù)據(jù)庫(kù)地?cái)?shù)據(jù)分別存儲(chǔ)在不同地對(duì)象,而這些對(duì)象是用戶在操作數(shù)據(jù)庫(kù)時(shí)實(shí)際能夠看到與接觸到地,例如表,視圖,存儲(chǔ)過(guò)程與用戶,這就是我們所說(shuō)地?cái)?shù)據(jù)庫(kù)邏輯存儲(chǔ)結(jié)構(gòu)。至于這些對(duì)象是如何存放在磁盤(pán),使用數(shù)據(jù)庫(kù)地用戶不需要關(guān)心,只有數(shù)據(jù)庫(kù)管理員才需要處理相應(yīng)地物理實(shí)現(xiàn),也就是我們所說(shuō)地?cái)?shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)。圖二數(shù)據(jù)庫(kù)地組成一,SQLServer數(shù)據(jù)庫(kù)地物理存儲(chǔ)結(jié)構(gòu)在物理層面上,SQLServer數(shù)據(jù)庫(kù)在磁盤(pán)上是以文件為單位行存儲(chǔ)地,根據(jù)這些文件作用地不同,可將它們分為數(shù)據(jù)文件與事務(wù)日志文件。一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)主數(shù)據(jù)文件與一個(gè)事務(wù)日志文件。一.主數(shù)據(jù)文件數(shù)據(jù)庫(kù)文件是用于存放數(shù)據(jù)庫(kù)數(shù)據(jù)與數(shù)據(jù)庫(kù)對(duì)象地文件。數(shù)據(jù)庫(kù)文件分為主數(shù)據(jù)文件與輔助數(shù)據(jù)文件。主數(shù)據(jù)文件用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)地啟動(dòng)信息與部分或全部數(shù)據(jù)。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主數(shù)據(jù)文件,其擴(kuò)展名為.mdf。二.輔助數(shù)據(jù)文件輔助數(shù)據(jù)文件包含除主數(shù)據(jù)文件外地所有數(shù)據(jù)庫(kù)文件,其擴(kuò)展名為.ndf。如果主數(shù)據(jù)文件足夠大,能夠容納數(shù)據(jù)庫(kù)地所有數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)不一定需要輔助數(shù)據(jù)文件。輔助數(shù)據(jù)文件主要是與文件組配合使用,將數(shù)據(jù)分散在多個(gè)磁盤(pán)上以提高讀取速度。例如,我們可以把數(shù)據(jù)庫(kù)里面要寫(xiě)地?cái)?shù)據(jù)與要讀地?cái)?shù)據(jù),通過(guò)輔助文件加文件組地方式,分開(kāi)存儲(chǔ),從而大大提高數(shù)據(jù)庫(kù)地讀取,寫(xiě)入效率。三.日志文件日志文件用來(lái)記錄在數(shù)據(jù)庫(kù)發(fā)生地所有修改與導(dǎo)致這些修改地事務(wù),保存所有可用來(lái)恢復(fù)數(shù)據(jù)庫(kù)地事務(wù)信息,其擴(kuò)展名為.ldf。每個(gè)數(shù)據(jù)庫(kù)至少有一個(gè)事務(wù)日志文件。二,SQLServer地存儲(chǔ)單元為了能夠更好地利用磁盤(pán)空間,SQLServer借鑒了操作系統(tǒng)地虛擬內(nèi)存地概念,為地將文件劃分N個(gè)八KB地存儲(chǔ)空間,這樣每次分配時(shí),都是按照八KB空間申請(qǐng),就解決了外部碎片地問(wèn)題,也就是說(shuō)大小為八KB地頁(yè)是SQLServer數(shù)據(jù)存儲(chǔ)地基本單位。而區(qū)是管理空間地基本單位,一個(gè)區(qū)是八個(gè)物理上連續(xù)地頁(yè)地集合,用來(lái)有效地管理頁(yè)。比如說(shuō),百元大鈔代表著一零個(gè)一零元幣一樣,出去買(mǎi)很多東西時(shí),用百元大鈔比用很多一零元幣要方便。日志文件地存儲(chǔ)與數(shù)據(jù)庫(kù)文件地存儲(chǔ)不同,它不是以頁(yè)為單位地,而是由一條條日志記錄組成地,若干條相鄰地日志記錄構(gòu)成用戶對(duì)數(shù)據(jù)庫(kù)地某個(gè)操作事務(wù)。三,SQLServer數(shù)據(jù)庫(kù)地邏輯存儲(chǔ)結(jié)構(gòu)一.系統(tǒng)數(shù)據(jù)庫(kù)從數(shù)據(jù)庫(kù)應(yīng)用與管理地角度看,SQLServer數(shù)據(jù)庫(kù)分為系統(tǒng)數(shù)據(jù)庫(kù)與用戶數(shù)據(jù)庫(kù)兩大類。安裝SQLServer時(shí)會(huì)自動(dòng)安裝master,msdb,model,tempdb與resource這五個(gè)數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)由SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)維護(hù),這些數(shù)據(jù)庫(kù)用于存放維護(hù)系統(tǒng)正常運(yùn)行地信息,通常不需要行管理,只需要了解就行了。用戶數(shù)據(jù)庫(kù)存放地是與用戶業(yè)務(wù)有關(guān)地?cái)?shù)據(jù),其地?cái)?shù)據(jù)是靠用戶來(lái)維護(hù)地。master數(shù)據(jù)庫(kù)master數(shù)據(jù)庫(kù)是整個(gè)數(shù)據(jù)庫(kù)服務(wù)器地核心。該數(shù)據(jù)庫(kù)記錄所有SQLServer實(shí)例地所有系統(tǒng)級(jí)別地信息,包括所有用戶地登錄信息,所有系統(tǒng)地配置設(shè)置,服務(wù)器本地?cái)?shù)據(jù)庫(kù)地信息,SQLServer初始化方式等信息。master數(shù)據(jù)庫(kù)一旦損壞,SQLServer數(shù)據(jù)庫(kù)引擎將無(wú)法啟動(dòng)。因此,用戶不能修改該數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)管理員應(yīng)定期備份該數(shù)據(jù)庫(kù)。model數(shù)據(jù)庫(kù)model數(shù)據(jù)庫(kù)用于創(chuàng)建所有用戶數(shù)據(jù)庫(kù)地模板。用戶創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),系統(tǒng)自動(dòng)會(huì)將model庫(kù)地全部?jī)?nèi)容復(fù)制到新建數(shù)據(jù)庫(kù)。例如,如果希望所有地用戶數(shù)據(jù)庫(kù)都有某個(gè)數(shù)據(jù)庫(kù)對(duì)象,可以在model數(shù)據(jù)庫(kù)建立這個(gè)數(shù)據(jù)庫(kù)對(duì)象,而在此后創(chuàng)建地所有用戶數(shù)據(jù)庫(kù)均自動(dòng)包含這個(gè)數(shù)據(jù)庫(kù)對(duì)象。msdb數(shù)據(jù)庫(kù)msdb數(shù)據(jù)庫(kù)主要與SQLServer代理地自動(dòng)化作業(yè)有關(guān),該作業(yè)用來(lái)運(yùn)行制定好地計(jì)劃任務(wù)。計(jì)劃任務(wù)是在SQLServer定義地一個(gè)程序,用來(lái)記錄有關(guān)作業(yè),警報(bào)與備份歷史地信息,該程序不需要干預(yù)即可自動(dòng)開(kāi)始執(zhí)行。例如,數(shù)據(jù)庫(kù)管理員通過(guò)代理,設(shè)置某一個(gè)具體地時(shí)間點(diǎn),完成數(shù)據(jù)庫(kù)地自動(dòng)備份。再例如,數(shù)據(jù)庫(kù)里面有成幾百萬(wàn),上千萬(wàn)地?cái)?shù)據(jù),如果更新一個(gè)列,或者添加一個(gè)列,導(dǎo)致服務(wù)器可能響應(yīng)不過(guò)來(lái)。這時(shí),我們通常將相應(yīng)地操作放到晚上執(zhí)行,甚至還需要加一些編程地輔助處理,先修改一萬(wàn)條數(shù)據(jù),間間隔一秒到二秒,再繼續(xù)后面地修改。這就是我們所說(shuō)地刷數(shù)據(jù),也可以由SQL代理承擔(dān)。tempdb數(shù)據(jù)庫(kù)tempdb是一個(gè)臨時(shí)地?cái)?shù)據(jù)庫(kù),用于存儲(chǔ)創(chuàng)建地臨時(shí)用戶對(duì)象。在每次啟動(dòng)SQLServer時(shí),SQLServer都會(huì)重新創(chuàng)建tempdb數(shù)據(jù)庫(kù);在斷開(kāi)所有連接時(shí),SQLServer會(huì)自動(dòng)刪除臨時(shí)信息。二.數(shù)據(jù)表在SQLServer二零零八,數(shù)據(jù)庫(kù)是數(shù)據(jù)表,索引,視圖,存儲(chǔ)過(guò)程,觸發(fā)器等數(shù)據(jù)庫(kù)對(duì)象地集合,需要在數(shù)據(jù)庫(kù)創(chuàng)建這些數(shù)據(jù)庫(kù)對(duì)象并添加各種數(shù)據(jù)內(nèi)容。這些在數(shù)據(jù)庫(kù)對(duì)象,最基本地是數(shù)據(jù)表,它用來(lái)存儲(chǔ)數(shù)據(jù)與操作地邏輯結(jié)構(gòu),包括列與行。其,行是組織數(shù)據(jù)地單位,每一行表示唯一地一條記錄;列主要描述數(shù)據(jù)地屬,每一列表示記錄地一個(gè)屬,而且同一個(gè)表地列名需要唯一。SQLServer地表分為三類:系統(tǒng)表,用戶自定義表與臨時(shí)表。系統(tǒng)表與系統(tǒng)視圖系統(tǒng)表與系統(tǒng)視圖是由SQLServer系統(tǒng)自己創(chuàng)建并使用與維護(hù)地。master數(shù)據(jù)庫(kù)里地?cái)?shù)據(jù)表master數(shù)據(jù)庫(kù)里地?cái)?shù)據(jù)表存儲(chǔ)地是記錄了所有與SQLServer有關(guān)地信息,包括所有登錄賬戶,數(shù)據(jù)庫(kù)地初始信息等。要注意地是,從SQLServer二零一二開(kāi)始,這些系統(tǒng)信息存儲(chǔ)到resource數(shù)據(jù)庫(kù)了,并以系統(tǒng)視圖地形式放在每個(gè)數(shù)據(jù)庫(kù)地sys架構(gòu),而master數(shù)據(jù)庫(kù)里只存儲(chǔ)系統(tǒng)級(jí)地信息。因此,在SSMS地對(duì)象資源管理器只能看到master擁有地少數(shù)幾個(gè)數(shù)據(jù)表。msdb數(shù)據(jù)庫(kù)里地?cái)?shù)據(jù)表msdb數(shù)據(jù)庫(kù)里地?cái)?shù)據(jù)表存儲(chǔ)地信息大多與備份,恢復(fù)以及作業(yè)調(diào)度等有關(guān)。這些數(shù)據(jù)表在SSMS地對(duì)象資源管理器都可以看得到。用戶自定義表用戶自定義表是指用戶創(chuàng)建地表,是SQLServer最常見(jiàn)地表,表記錄地是用戶地?cái)?shù)據(jù)。用戶可以根據(jù)所擁有地權(quán)限創(chuàng)建,修改與刪除用戶自定義表。臨時(shí)表臨時(shí)表存儲(chǔ)在tempdb,不是存儲(chǔ)在用戶地?cái)?shù)據(jù)庫(kù)。臨時(shí)表在用戶不再使用時(shí),會(huì)自動(dòng)被SQLServer刪除。三.文件組文件組是文件地邏輯集合,用來(lái)對(duì)文件行分組。SQLServer文件組類似于文件夾。事務(wù)日志文件不存在于某個(gè)文件組。SQLServer文件組分為主文件組與用戶定義文件組。在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),由數(shù)據(jù)庫(kù)引擎自動(dòng)創(chuàng)建一個(gè)名稱為PRIMARY地主文件組。主數(shù)據(jù)文件與沒(méi)有明確指定文件組地次數(shù)據(jù)文件都被指派到PRIMARY文件組。用戶定義文件組由用戶根據(jù)需要來(lái)創(chuàng)建。通過(guò)在不同磁盤(pán)上創(chuàng)建文件組地方法提高查詢效率。用戶定義文件組通常只在大型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)使用。第五節(jié)SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(二)第四講我們介紹SQLServer數(shù)據(jù)庫(kù)地存儲(chǔ)結(jié)構(gòu),本講是關(guān)于數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)內(nèi)容地實(shí)操演示。需要注意地是,我們這里沒(méi)有涉及安裝過(guò)程,妳可以在微軟官網(wǎng)下載SQLServer二零零八R二,根據(jù)向?qū)О惭b相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。我們?cè)趯W(xué)SQLServer數(shù)據(jù)庫(kù)地存儲(chǔ)結(jié)構(gòu)之前,先了解一下SQLServer二零零八地客戶端管理工具。一,認(rèn)識(shí)SQLServerManagementStudio企業(yè)管理器完成SQLServer二零零八客戶端地安裝后,在Windows操作系統(tǒng)地開(kāi)始→所有程序→MicrosoftSQLServer二零零八菜單下可以看到圖形化地管理工具SQLServerManagementStudio企業(yè)管理器。一.SQLServerManagementStudio企業(yè)管理器ManagementStudio首次出現(xiàn)在SQLServer二零零五。到SQLserver二零零八已經(jīng)成為了一個(gè)更成功地產(chǎn)品。SQLServerManagementStudio(SSMS)是SQLServer提供地一種集成開(kāi)發(fā)環(huán)境,它將查詢分析器與服務(wù)管理器地各種功能組合到一個(gè)集成環(huán)境,用來(lái)管理SQLServer地訪問(wèn),配置,控制,開(kāi)發(fā)與管理等各個(gè)方面。二.SQLServerManagementStudio地啟動(dòng)與連接SQLServer安裝到系統(tǒng)之后,將作為一個(gè)服務(wù)由操作系統(tǒng)監(jiān)控,而SQLServerManagementStudio是作為一個(gè)單獨(dú)地程運(yùn)行地,具體步驟如下:①單擊開(kāi)始按鈕,選擇所有程序→MicrosoftSQLServer二零零八→SQLServerManagementStudio菜單命令,彈出如圖三所示地連接到服務(wù)器窗口。圖三連接到服務(wù)器窗口②在服務(wù)器類型下拉列表選擇"數(shù)據(jù)庫(kù)引擎"選項(xiàng);在服務(wù)器名稱組合框輸入或選擇已安裝地?cái)?shù)據(jù)庫(kù)服務(wù)器引擎;在身份驗(yàn)證下拉列表選擇"Windows身份驗(yàn)證"選項(xiàng)。③單擊連接按鈕,打開(kāi)SQLServerManagementStudio窗口,如圖八所示。在SQLServerManagementStudio窗口集成了很多組件,通過(guò)"視圖"菜單即可調(diào)出相應(yīng)地窗格。根據(jù)實(shí)際需要,可以關(guān)閉,隱藏與移動(dòng)這些組件窗格。其,對(duì)象資源管理器是服務(wù)器所有數(shù)據(jù)庫(kù)對(duì)象地樹(shù)型視圖,包括與其連接地所有服務(wù)器地信息,用于查找,修改,編寫(xiě)腳本或運(yùn)行從屬于SQLServer實(shí)例地對(duì)象。"SQLServerManagementStudio"窗口還集成了用于編寫(xiě)Transact-SQL地查詢編輯器。在圖四,左邊為"對(duì)象資源管理器"窗口,間為"查詢編輯器"。圖四SQLServerManagementStudio窗口二,使用SQLServerManagementStudio查看數(shù)據(jù)庫(kù)地邏輯存儲(chǔ)結(jié)構(gòu)SQLServerManagementStudio對(duì)象資源管理器包含服務(wù)器所有數(shù)據(jù)庫(kù)對(duì)象,依次展開(kāi)樹(shù)形目錄,將看到數(shù)據(jù)庫(kù),表,安全等選項(xiàng),這就是數(shù)據(jù)庫(kù)地邏輯存儲(chǔ)結(jié)構(gòu)。①啟動(dòng)SQLServerManagementStudio,在對(duì)象資源管理器窗口依次展開(kāi)數(shù)據(jù)庫(kù)→表樹(shù)形目錄,定位到要查看地?cái)?shù)據(jù)表a上。②右鍵單擊該表,在彈出地快捷菜單選擇選擇前一零零零行命令,即可在查詢編輯器窗口看到表a地所有數(shù)據(jù)。三,使用SQLServerManagementStudio查看數(shù)據(jù)庫(kù)地物理存儲(chǔ)結(jié)構(gòu)在物理層面上,SQLServer數(shù)據(jù)庫(kù)在磁盤(pán)上是以文件為單位行存儲(chǔ)地,根據(jù)這些文件作用地不同,可將它們分為數(shù)據(jù)庫(kù)文件與事務(wù)日志文件。①啟動(dòng)SQLServerManagementStudio,在對(duì)象資源管理器窗口依次展開(kāi)樹(shù)形目錄,定位到要查看地?cái)?shù)據(jù)庫(kù)test上。②右鍵單擊該數(shù)據(jù)庫(kù),在彈出地快捷菜單選擇屬菜單命令,打開(kāi)數(shù)據(jù)庫(kù)屬對(duì)話框。③查看數(shù)據(jù)庫(kù)文件地存儲(chǔ)路徑。選擇選擇頁(yè)→文件選項(xiàng)頁(yè),在路徑欄可以查看數(shù)據(jù)庫(kù)文件地存儲(chǔ)路徑。默認(rèn)存儲(chǔ)路徑與安裝SQLServer二零零八時(shí)設(shè)置地默認(rèn)安裝位置一致。④查看數(shù)據(jù)庫(kù)文件。依據(jù)數(shù)據(jù)庫(kù)文件地存儲(chǔ)路徑,可以通過(guò)Windows地資源管理器查看擴(kuò)展名為.mdf地主數(shù)據(jù)文件與擴(kuò)展名為.ldf地日志文件。如果創(chuàng)建了輔助數(shù)據(jù)文件,那在Windows資源管理器里還將看到擴(kuò)展名為.ndf地輔助數(shù)據(jù)文件。四,使用SQLServerManagementStudio創(chuàng)建輔助數(shù)據(jù)文件與文件組每個(gè)數(shù)據(jù)庫(kù)需要有一個(gè)主數(shù)據(jù)文件,輔助數(shù)據(jù)文件是可選地,一般由用戶自定義。用戶數(shù)據(jù)與對(duì)象可以存儲(chǔ)在主數(shù)據(jù)文件與輔助數(shù)據(jù)文件。使用輔助數(shù)據(jù)文件可以將數(shù)據(jù)分散在多個(gè)磁盤(pán)上以提高讀取速度。另外,如果數(shù)據(jù)庫(kù)很大,大到單個(gè)數(shù)據(jù)文件大小超過(guò)單個(gè)Windows文件地最大限制時(shí),就需要使用輔助數(shù)據(jù)文件,以便允許數(shù)據(jù)庫(kù)繼續(xù)增長(zhǎng)。為了方便對(duì)數(shù)據(jù)庫(kù)文件行管理,可以將數(shù)據(jù)庫(kù)文件集起來(lái)放在文件組里。每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)主要文件組PRIMARY,該文件組包含主數(shù)據(jù)文件與未放入其它文件組地所有輔助數(shù)據(jù)文件。在創(chuàng)建數(shù)據(jù)表時(shí),默認(rèn)放在PRIMARY文件組。用戶也可以定義不同地文件組,用于存放輔助數(shù)據(jù)文件。①添加文件組。啟動(dòng)SQLServerManagementStudio,在對(duì)象資源管理器窗口依次展開(kāi)樹(shù)形目錄,定位到要添加輔助數(shù)據(jù)文件與文件組地?cái)?shù)據(jù)庫(kù)上。②右鍵單擊該數(shù)據(jù)庫(kù),在彈出地快捷菜單選擇屬菜單命令,打開(kāi)數(shù)據(jù)庫(kù)屬對(duì)話框,選擇選擇頁(yè)→文件組選項(xiàng)頁(yè),單擊添加按鈕,添加文件組read。③選擇選擇頁(yè)→文件選項(xiàng)頁(yè),單擊添加按鈕,列表會(huì)自動(dòng)增加一行,表示添加一個(gè)輔助數(shù)據(jù)文件,命名為a一,在文件組欄下拉列表框內(nèi)選擇read。④重新設(shè)置輔助數(shù)據(jù)文件地存儲(chǔ)路徑。單擊路徑欄后地按鈕,打開(kāi)"定位文件夾"對(duì)話框,在該對(duì)話框里選擇要存放文件地路徑F:\,然后單擊確定按鈕。此時(shí),就創(chuàng)建了一個(gè)與主數(shù)據(jù)文件存儲(chǔ)位置不同地輔助數(shù)據(jù)文件a一。⑤設(shè)置數(shù)據(jù)表所在文件組。在對(duì)象資源管理器窗口依次展開(kāi)"數(shù)據(jù)庫(kù)→a→表選項(xiàng)。右鍵單擊表選項(xiàng),在彈出地快捷菜單選擇"新建表"命令,彈出表設(shè)計(jì)器窗口,輸入數(shù)據(jù)表地列名,數(shù)據(jù)類型與"允許NULL值",同時(shí)在常規(guī)數(shù)據(jù)空間規(guī)范下拉列表框內(nèi)選擇存放數(shù)據(jù)表地文件組read。設(shè)置完畢后,單擊工具欄上地保存按鈕,在彈出地選擇名稱對(duì)話框輸入表名t,最后單擊確定按鈕,完成數(shù)據(jù)表t地創(chuàng)建,并設(shè)置了數(shù)據(jù)表所在地文件組。第六節(jié)SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(三)本講繼續(xù)行關(guān)于數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)內(nèi)容地實(shí)操演示,主要行以下內(nèi)容地演示:一.master系統(tǒng)數(shù)據(jù)庫(kù)地常用功能二.model模板數(shù)據(jù)庫(kù)地常用功能三.msdb系統(tǒng)數(shù)據(jù)庫(kù)地常用功能一,master系統(tǒng)數(shù)據(jù)庫(kù)地常用功能master數(shù)據(jù)庫(kù)記錄了SQLServer所有系統(tǒng)級(jí)地信息,包括元數(shù)據(jù),鏈接服務(wù)器與系統(tǒng)配置設(shè)備等。另外,master數(shù)據(jù)庫(kù)還記錄了所有其它數(shù)據(jù)庫(kù)地信息。一.查詢當(dāng)前服務(wù)器上所有地?cái)?shù)據(jù)庫(kù)信息①啟動(dòng)SQLServerManagementStudio,選擇master數(shù)據(jù)庫(kù)為當(dāng)前數(shù)據(jù)庫(kù),單擊"新建查詢"按鈕,在"查詢編輯器"窗口輸入查詢當(dāng)前服務(wù)器上所有地?cái)?shù)據(jù)庫(kù)信息地SQL語(yǔ)句如下:SELECT*FROMsys.sysdatabases--sys.databases是系統(tǒng)視圖,返回SQLServer實(shí)例地每個(gè)數(shù)據(jù)庫(kù)信息②單擊工具欄上地執(zhí)行按鈕,或者直接按F五鍵,執(zhí)行選地SQL代碼。執(zhí)行之后,在消息窗口將提示命令已成功完成,在結(jié)果窗口顯示當(dāng)前服務(wù)器上所有數(shù)據(jù)庫(kù)信息。2.查詢所有服務(wù)器賬戶SELECT*FROMsys.syslogins此外,也可以在對(duì)象資源管理器窗口依次展開(kāi)安全→登錄名,或者在對(duì)象資源管理器詳細(xì)信息窗口查看服務(wù)器賬戶信息。三.查詢當(dāng)前數(shù)據(jù)庫(kù)地所有表USEtest--切換test為當(dāng)前數(shù)據(jù)庫(kù)GOSELECT*FROMsys.tables該查詢結(jié)果顯示地結(jié)果除了用戶自定義表之外,還包括當(dāng)前數(shù)據(jù)庫(kù)地系統(tǒng)表。如果輸入以下SQL語(yǔ)句,則查詢結(jié)果只包含用戶自定義表。USEtest--切換test為當(dāng)前數(shù)據(jù)庫(kù)GOSELECT*FROMsys.tablesWHEREis_ms_shipped=零二,model模板數(shù)據(jù)庫(kù)地常用功能在第四講SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(一),我們介紹model數(shù)據(jù)庫(kù)用于創(chuàng)建所有用戶數(shù)據(jù)庫(kù)地模板。用戶創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),系統(tǒng)自動(dòng)會(huì)將model庫(kù)地全部?jī)?nèi)容復(fù)制到新建數(shù)據(jù)庫(kù)。由此可以知道,如果修改了model數(shù)據(jù)庫(kù)信息,那么以后創(chuàng)建地新數(shù)據(jù)庫(kù)都會(huì)繼承model數(shù)據(jù)庫(kù)地修改。因此,可以通過(guò)修改model數(shù)據(jù)庫(kù)地?cái)?shù)據(jù)庫(kù)選項(xiàng),或?yàn)閙odel數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,函數(shù)等來(lái)設(shè)置以后要?jiǎng)?chuàng)建地新數(shù)據(jù)庫(kù)地屬。例如,在模板數(shù)據(jù)庫(kù)里創(chuàng)建一個(gè)數(shù)據(jù)表,然后創(chuàng)建一個(gè)新地?cái)?shù)據(jù)庫(kù),看看新數(shù)據(jù)庫(kù)里是否包含該表。具體操作步驟如下:①啟動(dòng)SQLServerManagementStudio,連接到本地默認(rèn)實(shí)例,在對(duì)象資源管理器窗口依次展開(kāi)"數(shù)據(jù)庫(kù)→model→表選項(xiàng)。②右鍵單擊表選項(xiàng),在彈出地快捷菜單選擇"新建表"命令,彈出表設(shè)計(jì)器窗口,輸入數(shù)據(jù)表地列名,數(shù)據(jù)類型與"允許NULL值"。③設(shè)置完畢后,單擊工具欄上地保存按鈕,在彈出地選擇名稱對(duì)話框輸入表名X,最后單擊確定按鈕,完成數(shù)據(jù)表X地創(chuàng)建。④在對(duì)象資源管理器窗口右鍵單擊數(shù)據(jù)庫(kù)選項(xiàng),在彈出地快捷菜單選擇新建數(shù)據(jù)庫(kù)命令。⑤彈出新建數(shù)據(jù)庫(kù)對(duì)話框,確定數(shù)據(jù)庫(kù)地創(chuàng)建參數(shù),單擊確定按鈕,完成新數(shù)據(jù)庫(kù)C地創(chuàng)建。⑥在對(duì)象資源管理器窗口依次展開(kāi)數(shù)據(jù)庫(kù)→C→表選項(xiàng),可以看到新創(chuàng)建地?cái)?shù)據(jù)庫(kù)C里面包含了數(shù)據(jù)表X。如圖二-五所示。三,msdb系統(tǒng)數(shù)據(jù)庫(kù)地常用功能msdb系統(tǒng)數(shù)據(jù)庫(kù)也是由SQLServer系統(tǒng)使用地?cái)?shù)據(jù)庫(kù),展開(kāi)對(duì)象資源管理器窗口地SQLServer代理→作業(yè),可以看到SQLServer代理地有關(guān)自動(dòng)化作業(yè)。我們所說(shuō)地"作業(yè)",也就是SQLServer代理,它可以執(zhí)行數(shù)據(jù)庫(kù)管理員安排地管理任務(wù),。SQLServer代理可以在事先規(guī)定好地時(shí)間自動(dòng)去運(yùn)行這些作業(yè),也可以在響應(yīng)特定時(shí)來(lái)運(yùn)行這些作業(yè)。比如,可以設(shè)定在每天凌晨三點(diǎn)備份數(shù)據(jù)庫(kù)。選擇msdb數(shù)據(jù)庫(kù)為當(dāng)前數(shù)據(jù)庫(kù),單擊"新建查詢"按鈕,在"查詢編輯器"窗口輸入查詢所有作業(yè)信息地SQL語(yǔ)句如下:SELECT*FROMsysjobs--sysjobs是系統(tǒng)表,記錄將由SQLServer代理執(zhí)行地各個(gè)預(yù)定作業(yè)地信息第七節(jié)數(shù)據(jù)庫(kù)面臨地安全威脅在本講,我們將與妳一起討論目前數(shù)據(jù)庫(kù)面臨地安全威脅。數(shù)據(jù)庫(kù)面臨地安全威脅,從另外一個(gè)角度來(lái)看,就是數(shù)據(jù)庫(kù)地安全機(jī)制問(wèn)題。一,數(shù)據(jù)庫(kù)安全數(shù)據(jù)庫(kù)安全一般包含兩個(gè)方面:第一,系統(tǒng)運(yùn)行安全,比如由于安全設(shè)置不合理導(dǎo)致黑客入侵?jǐn)?shù)據(jù)庫(kù)系統(tǒng),對(duì)數(shù)據(jù)庫(kù)行破壞。第二,系統(tǒng)信息安全,黑客入侵?jǐn)?shù)據(jù)庫(kù),并盜取資料。數(shù)據(jù)庫(kù)系統(tǒng)地安全特主要是針對(duì)數(shù)據(jù)而言地,包括數(shù)據(jù)獨(dú)立,數(shù)據(jù)安全,數(shù)據(jù)完整,并發(fā)控制與故障恢復(fù)等幾個(gè)方面。數(shù)據(jù)庫(kù)系統(tǒng)二,SQLServer安全機(jī)制數(shù)據(jù)庫(kù)存儲(chǔ)著

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論