SQL-Server-2000數(shù)據(jù)庫(kù)及應(yīng)用-全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套_第1頁
SQL-Server-2000數(shù)據(jù)庫(kù)及應(yīng)用-全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套_第2頁
SQL-Server-2000數(shù)據(jù)庫(kù)及應(yīng)用-全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套_第3頁
SQL-Server-2000數(shù)據(jù)庫(kù)及應(yīng)用-全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套_第4頁
SQL-Server-2000數(shù)據(jù)庫(kù)及應(yīng)用-全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套_第5頁
已閱讀5頁,還剩720頁未讀, 繼續(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章 SQL Server 2000概述本章學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫(kù)管理系統(tǒng)的基本知識(shí);了解SQL Server 2000的發(fā)展過程;掌握SQL Server 2000的特點(diǎn);掌握SQL Server 2000中文版的環(huán)境需求及安裝方法;了解SQL Server 2000的配置方法;掌握卸載SQL Server 2000的方法。1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)概述數(shù)據(jù)管理技術(shù)大致經(jīng)歷了三個(gè)階段:人工管理階段(20世紀(jì)50年代中期以前)、文件系統(tǒng)階段(20世紀(jì)50年代后期至60年代中期)和數(shù)據(jù)庫(kù)系統(tǒng)階段(從20世紀(jì)60年代末期開始)。1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)(DataBase System,DBS

2、),是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)。從廣義上來說,數(shù)據(jù)庫(kù)系統(tǒng)包括計(jì)算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理員和用戶等。1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)概述數(shù)據(jù)庫(kù)(DataBase,DB)是可以長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System,DBMS)是安裝在操作系統(tǒng)之上的數(shù)據(jù)管理軟件。1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)概述常用的數(shù)據(jù)模型有三種,即層次模型、網(wǎng)狀模型和關(guān)系模型。采用關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)稱為關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),簡(jiǎn)稱RDBMS。當(dāng)今市場(chǎng)上的絕大多數(shù)數(shù)據(jù)庫(kù)管理系統(tǒng)采用的都是關(guān)系數(shù)據(jù)模型。1.2 SQL Server 2000

3、簡(jiǎn)介SQL Server 2000常見的版本有:企業(yè)版(Enterprise Edition)、標(biāo)準(zhǔn)版(Standard Edition)、個(gè)人版(Personal Edition)和開發(fā)人員版(Developer Edition)。1.3 SQL Server 2000特點(diǎn)真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。與Windows NT完全集成。具有很好的伸縮性。對(duì)Web技術(shù)的支持。SQL Server提供數(shù)據(jù)倉(cāng)庫(kù)功能。可在同一臺(tái)計(jì)算機(jī)上安裝多個(gè)SQL Server實(shí)例。1.4 SQL Server 2000的安裝1.4.1 SQL Server 2000的環(huán)境需求1硬件需求安裝SQL Server 2

4、000需要Pentium 166MHz或者更高類型的處理器,內(nèi)存至少需要64MB,硬盤空間一般需要180MB。1.4.1 SQL Server 2000的環(huán)境需求2軟件需求SQL Server 2000企業(yè)版:必須運(yùn)行于安裝Windows NT Server Enterprise Edition 4.0或者Windows 2000 Advanced Server以及更高版本的操作系統(tǒng)下。SQL Server 2000標(biāo)準(zhǔn)版:必須運(yùn)行于安裝Windows NT Server Enterprise Edition 4.0、Windows NT Server 4.0、Windows 2000 Ser

5、ver以及更高版本的操作系統(tǒng)下。1.4.1 SQL Server 2000的環(huán)境需求2軟件需求SQL Server 2000個(gè)人版:可在多種操作系統(tǒng)下運(yùn)行,如可運(yùn)行于Windows 9x、Windows NT 4.0或Windows 2000的服務(wù)器版或工作站版的操作系統(tǒng)下。SQL Server 2000開發(fā)人員版:可運(yùn)行于上述Windows 9x以外的所有操作系統(tǒng)下。1.4.2 SQL Server 2000的安裝(1)將SQL Server 2000的安裝盤放入光驅(qū)中,運(yùn)行光盤中的AUTORUN.EXE程序。(2)選擇“安裝數(shù)據(jù)庫(kù)服務(wù)器”選項(xiàng)。(3)根據(jù)系統(tǒng)的提示,進(jìn)行服務(wù)器的安裝。1.5

6、 SQL Server 2000的配置1.5.1 啟動(dòng)服務(wù)SQL Server 2000中可用的服務(wù)有SQL Server服務(wù)、SQL Server Agent服務(wù)(SQL Server代理服務(wù))、Microsoft Search服務(wù)(全文搜索服務(wù))和MSDTC(Microsoft Distributed Transaction Coordinator,微軟分布式事務(wù)協(xié)調(diào)器)。1.5.1 啟動(dòng)服務(wù)SQL Server服務(wù)管理器的主要作用是用來啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的各種服務(wù)、暫停和停止正在運(yùn)行的服務(wù),或在暫停服務(wù)后繼續(xù)服務(wù)。1.5.1 啟動(dòng)服務(wù)打開SQL Server服務(wù)管理器的方法是單擊“開始”按

7、鈕,并依次選擇“程序”“Microsoft SQL Server”“服務(wù)管理器”選項(xiàng)。1.5.2 注冊(cè)服務(wù)器SQL Server 2000企業(yè)管理器是一個(gè)公共服務(wù)器管理環(huán)境??梢允褂盟鼇砼渲孟到y(tǒng)環(huán)境、管理網(wǎng)絡(luò)、計(jì)算機(jī)、服務(wù)以及建立和管理所有的SQL Server對(duì)象。1.5.2 注冊(cè)服務(wù)器打開企業(yè)管理器的方法是單擊“開始”按鈕,并依次選擇“程序”“Microsoft SQL Server”“企業(yè)管理器”選項(xiàng),系統(tǒng)會(huì)打開SQL Server企業(yè)管理器窗口。1.5.2 注冊(cè)服務(wù)器例1-1 安裝一個(gè)新的實(shí)例EXAMPLE,并將它在新的SQL Server服務(wù)器組“實(shí)例組”中進(jìn)行注冊(cè)。1.5.3 刪除

8、服務(wù)器的注冊(cè)例1-2 刪除對(duì)實(shí)例EXAMPLE的注冊(cè)。1.6 卸載SQL Server 2000如果需要卸載已安裝的SQL Server 2000應(yīng)用程序,可以通過控制面板中的“添加或刪除程序”卸載或使用SQL Server 2000自帶的卸載程序來完成。1.6.1 通過控制面板卸載在Windows操作系統(tǒng)下,單擊“開始”按鈕,在彈出的開始菜單中依次選擇“設(shè)置”“控制面板”“添加/刪除程序”選項(xiàng)。1.6.2 使用SQL Server 2000自帶的卸載程序(1)雙擊SQL Server 2000光盤中的AUTORUN.EXE,啟動(dòng)SQL Server 2000安裝程序。(2)選擇“SQL Se

9、rver 2000組件”,并選擇“安裝數(shù)據(jù)庫(kù)服務(wù)器”,并單擊“下一步”按鈕。1.6.2 使用SQL Server 2000自帶的卸載程序(3)在“計(jì)算機(jī)名”對(duì)話框中,選擇“本地計(jì)算機(jī)”或“遠(yuǎn)程計(jì)算機(jī)”。(4)在“安裝選擇”對(duì)話框中,單擊“對(duì)現(xiàn)有SQL Server實(shí)例進(jìn)行升級(jí)、刪除或添加組件”選項(xiàng)。1.7 本章小結(jié)數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)系統(tǒng)包括計(jì)算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理員和用戶等。數(shù)據(jù)庫(kù)是可以長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中有組織、可共享的數(shù)據(jù)集合。1.7 本章小結(jié)數(shù)據(jù)庫(kù)管理系統(tǒng)是安裝在操作系統(tǒng)之上的數(shù)據(jù)管理軟件。常用的數(shù)

10、據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。關(guān)系模型是用二維表格結(jié)構(gòu)來表示實(shí)體及實(shí)體間的聯(lián)系。采用關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)稱為關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。1.7 本章小結(jié)SQL Server 2000是使用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。SQL Server 2000常見的版本有企業(yè)版、標(biāo)準(zhǔn)版、個(gè)人版和開發(fā)人員版。SQL Server 2000中可用的服務(wù)有SQL Server服務(wù)、SQL Server Agent服務(wù)、Microsoft Search服務(wù)和MSDTC。用戶對(duì)數(shù)據(jù)庫(kù)執(zhí)行任何操作之前首先必須啟動(dòng)SQL Server服務(wù)。1.7 本章小結(jié)SQL Server服務(wù)管理器的主要作用是用

11、來啟動(dòng)數(shù)據(jù)服務(wù)器的各種服務(wù),暫停和停止正在運(yùn)行的服務(wù),或在暫停服務(wù)后繼續(xù)服務(wù)。SQL Server 2000企業(yè)管理器是一個(gè)公共服務(wù)器管理環(huán)境,可以使用它來配置系統(tǒng)環(huán)境、管理網(wǎng)絡(luò)、計(jì)算機(jī)、服務(wù)以及建立和管理所有的SQL Server對(duì)象。1.7 本章小結(jié)卸載已安裝的SQL Server 2000應(yīng)用程序,可以通過控制面板中的“添加或刪除程序”卸載或使用SQL Server 2000自帶的卸載程序來完成。1.8 思考與練習(xí)1數(shù)據(jù)管理技術(shù)經(jīng)歷了哪幾個(gè)階段?2數(shù)據(jù)模型有幾種?最常用的是哪一種?3簡(jiǎn)述數(shù)據(jù)庫(kù)系統(tǒng)的組成。1.8 思考與練習(xí)4SQL Server 2000的常見版本有哪些?各自的應(yīng)用范圍是

12、什么?5上機(jī)練習(xí)安裝SQL Server 2000的默認(rèn)實(shí)例和一個(gè)命名實(shí)例。6用兩種方法分別卸載上面安裝的SQL Server 2000的默認(rèn)實(shí)例和命名實(shí)例。第2章 數(shù)據(jù)庫(kù)的創(chuàng)建和管理北華航天工業(yè)學(xué)院李偉紅本章學(xué)習(xí)目標(biāo)掌握SQL Server 2000中文件的分類;掌握SQL Server 2000系統(tǒng)數(shù)據(jù)庫(kù)的作用;掌握創(chuàng)建數(shù)據(jù)庫(kù)的方法;掌握修改數(shù)據(jù)庫(kù)的方法;掌握刪除數(shù)據(jù)庫(kù)的方法。2.1 數(shù)據(jù)庫(kù)文件管理SQL Server 2000中的每一個(gè)數(shù)據(jù)庫(kù)都是由多個(gè)文件組成的。根據(jù)文件的功能劃分,可分為數(shù)據(jù)庫(kù)文件和事務(wù)日志文件兩大類。任何一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)數(shù)據(jù)庫(kù)文件和一個(gè)事務(wù)日志文件。2.1.

13、1 數(shù)據(jù)庫(kù)文件1主數(shù)據(jù)庫(kù)文件當(dāng)有多個(gè)數(shù)據(jù)庫(kù)文件時(shí),有一個(gè)文件被定義為主數(shù)據(jù)庫(kù)文件,其擴(kuò)展名為 .mdf。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主數(shù)據(jù)庫(kù)文件。2.1.1 數(shù)據(jù)庫(kù)文件2輔助數(shù)據(jù)庫(kù)文件用于存儲(chǔ)主數(shù)據(jù)庫(kù)文件中未存儲(chǔ)的剩余數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象,一個(gè)數(shù)據(jù)庫(kù)可以沒有輔助數(shù)據(jù)庫(kù)文件,但也可以同時(shí)擁有多個(gè)輔助數(shù)據(jù)庫(kù)文件。輔助數(shù)據(jù)庫(kù)文件簡(jiǎn)稱為輔助文件,它的擴(kuò)展名為 .ndf。2.1.2 事務(wù)日志文件事務(wù)日志文件用來存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況。當(dāng)數(shù)據(jù)庫(kù)損壞時(shí),管理員可以使用事務(wù)日志恢復(fù)數(shù)據(jù)庫(kù)。每一個(gè)數(shù)據(jù)庫(kù)必須至少擁有一個(gè)事務(wù)日志文件,而且允許擁有多個(gè)日志文件。事務(wù)日志文件的擴(kuò)展名為 .ldf。2.1.3 數(shù)據(jù)庫(kù)文件組SQL S

14、erver 2000中的數(shù)據(jù)庫(kù)文件組分為主文件組(Primary File Group)和用戶定義文件組(User_defined Group)。2.1.3 數(shù)據(jù)庫(kù)文件組主文件組:主文件組包含主要數(shù)據(jù)庫(kù)文件和任何沒有明確指派給其他文件組的其他數(shù)據(jù)庫(kù)文件。數(shù)據(jù)庫(kù)的系統(tǒng)表都包含在主文件組中。用戶定義文件組:用戶定義文件組是由用戶根據(jù)需要定義的文件組。2.2 SQL Server 2000系統(tǒng)數(shù)據(jù)庫(kù)SQL Server 2000安裝成功后,系統(tǒng)會(huì)自動(dòng)創(chuàng)建6個(gè)系統(tǒng)數(shù)據(jù)庫(kù),它們分別是Master、Model、Msdb、Tempdb、Pubs和Northwind。2.2 SQL Server 2000系統(tǒng)

15、數(shù)據(jù)庫(kù)Master數(shù)據(jù)庫(kù):這是SQL Server系統(tǒng)最重要的數(shù)據(jù)庫(kù)。它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息。Model數(shù)據(jù)庫(kù):這是所有用戶數(shù)據(jù)庫(kù)和Tempdb數(shù)據(jù)庫(kù)的模板數(shù)據(jù)庫(kù)。2.2 SQL Server 2000系統(tǒng)數(shù)據(jù)庫(kù)Msdb數(shù)據(jù)庫(kù):這是代理服務(wù)數(shù)據(jù)庫(kù)。它為報(bào)警、任務(wù)調(diào)度和記錄操作員的操作提供存儲(chǔ)空間。Tempdb數(shù)據(jù)庫(kù):這是一個(gè)臨時(shí)數(shù)據(jù)庫(kù)。它為所有的臨時(shí)表、臨時(shí)存儲(chǔ)過程及其他臨時(shí)操作提供存儲(chǔ)空間。2.2 SQL Server 2000系統(tǒng)數(shù)據(jù)庫(kù)Pubs和Northwind數(shù)據(jù)庫(kù):它們是SQL Server自帶的兩個(gè)實(shí)例數(shù)據(jù)庫(kù),它們可以作為SQL Server的學(xué)習(xí)工具。2.

16、3 創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)的過程實(shí)際上就是為數(shù)據(jù)庫(kù)設(shè)計(jì)名稱、設(shè)計(jì)所占用的存儲(chǔ)空間和文件存放位置的過程。每一個(gè)數(shù)據(jù)庫(kù)都應(yīng)該具有惟一的名稱,數(shù)據(jù)庫(kù)的命名必須滿足SQL Server 2000規(guī)定的命名規(guī)則。2.3 創(chuàng)建數(shù)據(jù)庫(kù)在SQL Server 2000中,定義標(biāo)識(shí)符需要滿足如下規(guī)則。不能使用系統(tǒng)的保留字。標(biāo)識(shí)符一般以英文字母開頭(不區(qū)分大小寫)。標(biāo)識(shí)符最長(zhǎng)為128個(gè)字符。2.3 創(chuàng)建數(shù)據(jù)庫(kù)在SQL Server 2000中創(chuàng)建數(shù)據(jù)庫(kù)的方法有以下三種:使用向?qū)?chuàng)建數(shù)據(jù)庫(kù)、使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)和使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)。2.3.1 使用向?qū)?chuàng)建數(shù)據(jù)庫(kù)(1)在企業(yè)管理器中,首先選

17、中欲創(chuàng)建數(shù)據(jù)庫(kù)的服務(wù)器節(jié)點(diǎn),然后從“工具”菜單中選擇“向?qū)А边x項(xiàng),或從工具欄中選擇“向?qū)А眻D標(biāo)。(2)雙擊“創(chuàng)建數(shù)據(jù)庫(kù)向?qū)А泵?,或者選中“創(chuàng)建數(shù)據(jù)庫(kù)向?qū)А泵詈髥螕簟按_定”按鈕。2.3.2 使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)在企業(yè)管理器中,單擊工具欄中的“數(shù)據(jù)庫(kù)”圖標(biāo),或在數(shù)據(jù)庫(kù)文件夾或其下屬任一數(shù)據(jù)庫(kù)圖標(biāo)上右擊,從彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)”命令。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)Transact-SQL語言主要由以下幾部分組成:數(shù)據(jù)定義語言(DDL);數(shù)據(jù)操縱語言(DML);數(shù)據(jù)控制語言(DCL);系統(tǒng)存儲(chǔ)過程(System Stored Procedure);一些附加的

18、語言元素。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)一般情況下,使用SQL Server 2000提供的實(shí)用工具“查詢分析器”來輸入并執(zhí)行Transact-SQL語句。打開SQL Server查詢分析器的方法是單擊“開始”按鈕,并依次選擇“程序”Microsoft SQL Server“查詢分析器”選項(xiàng)。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE database_nameON PRIMARY ,n , ,n LOG ON ,n FOR LOAD|FOR ATTACH:=(NAME=logical_file_name,FILENAME=os

19、_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment ) ,n:=FILEGROUP filegroup_name ,n2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)說明:在Transact-SQL語言的命令格式中,用 括起來的內(nèi)容表示是可選的;,n表示重復(fù)前面的內(nèi)容;用括起來的內(nèi)容表示在實(shí)際編寫語句時(shí),用相應(yīng)的內(nèi)容替代;用 括起來的內(nèi)容表示是必選的;類似A|B的格式,表示A和B只能選擇一個(gè),不能同時(shí)都選。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE

20、命令中的各參數(shù)說明如下。database_name:新數(shù)據(jù)庫(kù)的名稱。數(shù)據(jù)庫(kù)名稱在服務(wù)器中必須惟一,最長(zhǎng)為128個(gè)字符,并且要符合標(biāo)識(shí)符的命名規(guī)則。每個(gè)服務(wù)器管理的數(shù)據(jù)庫(kù)最多為32767個(gè)。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)ON:指定存放數(shù)據(jù)庫(kù)的數(shù)據(jù)文件信息。該關(guān)鍵字后面可以包含用逗號(hào)分隔的列表,列表用于定義主文件組的數(shù)據(jù)文件。主文件組的文件列表后可以包含用逗號(hào)分隔的列表,列表用于定義用戶文件組及其中的文件。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)PRIMARY:用于指定主文件組中的文件。主文件組不僅包含數(shù)據(jù)庫(kù)系統(tǒng)表中的全部?jī)?nèi)容,而且還包含用戶文件組中沒有包含的

21、全部對(duì)象。主文件組的第一個(gè)由指定的文件是主文件,該文件包含數(shù)據(jù)庫(kù)的邏輯起點(diǎn)及其系統(tǒng)表。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主文件,默認(rèn)情況下,如果不指定PRIMARY關(guān)鍵字,則在命令中列出的第一個(gè)文件將被默認(rèn)為主文件。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)LOG ON:指明事務(wù)日志文件的明確定義。如果沒有本選項(xiàng),則系統(tǒng)會(huì)自動(dòng)產(chǎn)生一個(gè)文件名前綴,與數(shù)據(jù)庫(kù)名相同,容量為所有數(shù)據(jù)庫(kù)文件大小1/4的事務(wù)日志文件。FOR LOAD:表示計(jì)劃將備份直接裝入新建的數(shù)據(jù)庫(kù),主要是為了和過去的SQL Server版本兼容。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)FOR ATTACH:表示在一組已經(jīng)

22、存在的操作系統(tǒng)文件中建立一個(gè)新的數(shù)據(jù)庫(kù)。NAME:指定數(shù)據(jù)庫(kù)的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫(kù)在SQL Server中的標(biāo)識(shí)符。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)FILENAME:指定數(shù)據(jù)庫(kù)所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對(duì)應(yīng)。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)SIZE:指定數(shù)據(jù)庫(kù)的初始容量大小。如果沒有指定主文件的大小,則SQL Server默認(rèn)其與模板數(shù)據(jù)庫(kù)中的主文件大小一致,其他數(shù)據(jù)庫(kù)文件和事務(wù)日志文件則默認(rèn)為1MB。指定大小的數(shù)字size可以使用KB、MB、GB和TB后綴,默

23、認(rèn)的后綴為MB。size中不能使用小數(shù),其最小值為512KB,默認(rèn)值為1MB。主文件的size不能小于模板數(shù)據(jù)庫(kù)中的主文件。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)MAXSIZE:指定操作系統(tǒng)文件可以增長(zhǎng)到的最大尺寸。如果沒有指定,則文件可以不斷增大直到充滿磁盤。2.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)FILEGROWTH:指定文件每次增加容量的大小,當(dāng)指定數(shù)據(jù)為0時(shí),表示文件不增長(zhǎng)。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比來表示。默認(rèn)后綴為MB。如果沒有指定FILEGROWTH,則默認(rèn)值為10%,每次擴(kuò)容的最小值為64KB。2

24、.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)例2-1 使用CREATE DATABASE創(chuàng)建一個(gè)BOOK2數(shù)據(jù)庫(kù),所有參數(shù)均取默認(rèn)值。程序清單如下:CREATE DATABASE BOOK22.3.3 使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)例2-2 創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)MYBOOK,該數(shù)據(jù)庫(kù)包含兩個(gè)數(shù)據(jù)庫(kù)文件和3個(gè)事務(wù)日志文件。2.4 修改數(shù)據(jù)庫(kù)2.4.1 修改數(shù)據(jù)庫(kù)名稱使用系統(tǒng)存儲(chǔ)過程sp_renamedb更改數(shù)據(jù)庫(kù)的名稱。在重命名數(shù)據(jù)庫(kù)之前,應(yīng)該確保沒有用戶使用該數(shù)據(jù)庫(kù)。2.4.1 修改數(shù)據(jù)庫(kù)名稱系統(tǒng)存儲(chǔ)過程sp_renamedb的語法形式如下:sp_renamedb dbnam

25、e=old_name ,newname=new_name其中的參數(shù)說明如下:dbname = old_name表示當(dāng)前數(shù)據(jù)庫(kù)的名稱。newname = new_name表示數(shù)據(jù)庫(kù)的新名稱。2.4.1 修改數(shù)據(jù)庫(kù)名稱例2-3 將數(shù)據(jù)庫(kù)BOOKBACK重命名為BOOKSBACK。程序清單如下:sp_renamedb BOOKBACK,BOOKSBACK2.4.2 修改數(shù)據(jù)庫(kù)屬性例2-4 修改數(shù)據(jù)庫(kù)BOOKSBACK的屬性。在企業(yè)管理器中,右擊所要修改的數(shù)據(jù)庫(kù)BOOKSBACK的名稱,從彈出的快捷菜單中選擇“屬性”命令。2.4.3 縮小數(shù)據(jù)庫(kù)縮小數(shù)據(jù)庫(kù)可以通過企業(yè)管理器或通過Transact-SQL

26、語言進(jìn)行收縮,也可以設(shè)置為按給定的時(shí)間間隔自動(dòng)收縮。1使用企業(yè)管理器縮小數(shù)據(jù)庫(kù)在企業(yè)管理器中,右擊相應(yīng)的數(shù)據(jù)庫(kù),這里右擊BOOKSBACK,從彈出的快捷菜單中依次選擇“所有任務(wù)”“收縮數(shù)據(jù)庫(kù)”選項(xiàng),會(huì)出現(xiàn)“收縮數(shù)據(jù)庫(kù)”對(duì)話框。2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)(1)使用DBCC SHRINKDATABASE命令可收縮指定數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件。DBCC SHRINKDATABASE(database_name,target_percent,NOTRUNCATE |TRUNCATEONLY)2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)其中的參數(shù)說明如下:database_name:要收縮的

27、數(shù)據(jù)庫(kù)名稱。target_percent:當(dāng)數(shù)據(jù)庫(kù)收縮后,數(shù)據(jù)庫(kù)文件中剩余可用空間的百分比。 2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)NOTRUNCATE:被釋放的文件空間依然保持在數(shù)據(jù)庫(kù)文件中。如果未指定,所釋放的文件空間將被操作系統(tǒng)回收。2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)TRUNCATEONLY:將數(shù)據(jù)庫(kù)文件中未使用的空間釋放給操作系統(tǒng),并將文件收縮到上一次所分配的大小。使用 TRUNCATEONLY 時(shí),將忽略 target_percent的限制。2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)例2-5 先將數(shù)據(jù)庫(kù)BOOKSBACK的數(shù)據(jù)庫(kù)文件增大至24MB,然后使用DBCC

28、SHRINKDATABASE縮小此數(shù)據(jù)庫(kù)的大小,保留自由空間為80。2使用Transact-SQL語言縮小數(shù)據(jù)庫(kù)例2-6 先將數(shù)據(jù)庫(kù)BOOKSBACK的數(shù)據(jù)文件增大至22MB,然后使用DBCC SHRINKFILE將數(shù)據(jù)庫(kù)的數(shù)據(jù)文件縮小到6MB大小。3按給定的時(shí)間間隔自動(dòng)收縮數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的自動(dòng)收縮可以在數(shù)據(jù)庫(kù)屬性中的“選項(xiàng)”選項(xiàng)卡中進(jìn)行設(shè)置。在“選項(xiàng)”選項(xiàng)卡中選中了“自動(dòng)收縮”復(fù)選框后,系統(tǒng)會(huì)在什么時(shí)候進(jìn)行自動(dòng)收縮還要看用戶在執(zhí)行“所有任務(wù)”“收縮數(shù)據(jù)庫(kù)”后所彈出的“收縮數(shù)據(jù)庫(kù)”對(duì)話框的“調(diào)度”中的參數(shù)設(shè)置而定。2.5 刪除數(shù)據(jù)庫(kù)對(duì)于那些不再需要的數(shù)據(jù)庫(kù),可以刪除它們以釋放在磁盤上所占用的空間

29、。刪除數(shù)據(jù)庫(kù)有兩種方式,即使用企業(yè)管理器和使用Drop語句。2.5.1 使用企業(yè)管理器刪除數(shù)據(jù)庫(kù)在企業(yè)管理器中,右擊所要?jiǎng)h除的數(shù)據(jù)庫(kù),從彈出的快捷菜單中選擇“刪除”命令或直接按下鍵盤上Delete按鈕即可刪除數(shù)據(jù)庫(kù),也可以選擇數(shù)據(jù)庫(kù)文件夾或圖標(biāo)后單擊工具欄中的刪除圖標(biāo)來刪除數(shù)據(jù)庫(kù)。2.5.1 使用企業(yè)管理器刪除數(shù)據(jù)庫(kù)例2-7 刪除數(shù)據(jù)庫(kù)BOOK2。2.5.2 使用Drop語句刪除數(shù)據(jù)庫(kù)使用Drop語句可以從SQL Server 2000中一次刪除一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。其語法形式如下:Drop database database_name,n2.5.2 使用Drop語句刪除數(shù)據(jù)庫(kù)例2-8 刪除數(shù)據(jù)庫(kù)

30、MYBOOK。在查詢分析器中輸入以下程序語句:drop database MYBOOK說明:對(duì)正在使用的數(shù)據(jù)庫(kù)不能被刪除,因此,刪除某個(gè)數(shù)據(jù)庫(kù)之前,應(yīng)該先關(guān)閉此數(shù)據(jù)庫(kù)。2.6 本章小結(jié)SQL Server 2000中的每一個(gè)數(shù)據(jù)庫(kù)由多個(gè)文件組成。每一個(gè)文件對(duì)應(yīng)著兩個(gè)名稱:邏輯文件名和物理文件名。當(dāng)使用Transact-SQL語言管理這些文件時(shí),使用它們的邏輯文件名;而在磁盤中存儲(chǔ)文件時(shí),使用物理文件名。2.6 本章小結(jié)根據(jù)文件的功能劃分,可分為兩大類,即數(shù)據(jù)庫(kù)文件和事務(wù)日志文件。數(shù)據(jù)庫(kù)文件是存放數(shù)據(jù)庫(kù)數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象的文件,而事務(wù)日志文件用來存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況。2.6 本章小結(jié)SQL Ser

31、ver 2000安裝成功后,系統(tǒng)會(huì)自動(dòng)創(chuàng)建6個(gè)系統(tǒng)數(shù)據(jù)庫(kù),它們分別是Master、Model、Msdb、Tempdb、Pubs和Northwind。2.6 本章小結(jié)創(chuàng)建數(shù)據(jù)庫(kù)的過程實(shí)際上就是為數(shù)據(jù)庫(kù)設(shè)計(jì)名稱、設(shè)計(jì)所占用的存儲(chǔ)空間和文件存放位置的過程。創(chuàng)建數(shù)據(jù)庫(kù)的方法有以下三種:使用向?qū)?chuàng)建數(shù)據(jù)庫(kù)、使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)和使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫(kù)。2.6 本章小結(jié)在SQL Server 2000中可以使用系統(tǒng)存儲(chǔ)過程sp_renamedb更改數(shù)據(jù)庫(kù)的名稱。可以通過企業(yè)管理器或通過Transact-SQL語言進(jìn)行數(shù)據(jù)庫(kù)的收縮,也可以設(shè)置為按給定的時(shí)間間隔自動(dòng)收縮數(shù)據(jù)庫(kù)。2.6

32、本章小結(jié)刪除數(shù)據(jù)庫(kù)有兩種方式,即使用企業(yè)管理器和使用Transact-SQL語言中的Drop database語句。兩者的區(qū)別是:使用企業(yè)管理器進(jìn)行刪除操作,一次只能刪除一個(gè)數(shù)據(jù)庫(kù);而使用Drop database語句,可以同時(shí)刪除多個(gè)數(shù)據(jù)庫(kù)。2.7 思考與練習(xí)1數(shù)據(jù)庫(kù)文件包含哪兩大類?各自的作用是什么?2SQL Server 2000的系統(tǒng)數(shù)據(jù)庫(kù)有哪些,各自的功能是什么?3簡(jiǎn)述SQL Server 2000中文件組的作用和分類。2.7 思考與練習(xí)4使用企業(yè)管理器創(chuàng)建名為example1的數(shù)據(jù)庫(kù),并設(shè)置數(shù)據(jù)庫(kù)主文件名為example1_data,大小為5MB,日志文件名為example1_lo

33、g,大小為3MB。2.7 思考與練習(xí)5使用Transact-SQL語言創(chuàng)建名為example2的數(shù)據(jù)庫(kù),主文件的邏輯文件名為example2_data,主文件的物理文件名為example2.mdf,最大尺寸為無限大,增長(zhǎng)速度為15%;日志文件的邏輯文件名為example2_log,日志文件的物理文件名為example2.ldf,初始大小為3MB,最大尺寸為10MB,增長(zhǎng)速度為1MB。2.7 思考與練習(xí)6將數(shù)據(jù)庫(kù)example1的名稱修改為example3。7使用Transact-SQL語言同時(shí)刪除數(shù)據(jù)庫(kù)example2和example3。第3章 數(shù)據(jù)表的創(chuàng)建和管理北華航天工業(yè)學(xué)院李偉紅本章學(xué)習(xí)

34、目標(biāo)掌握SQL Server 2000中的數(shù)據(jù)類型;掌握如何創(chuàng)建數(shù)據(jù)表;了解創(chuàng)建和刪除自定義數(shù)據(jù)類型的方法;掌握增加、刪除和修改表中字段的方法;掌握查看數(shù)據(jù)表的定義和表中數(shù)據(jù)的方法;掌握刪除數(shù)據(jù)表的方法。3.1 數(shù)據(jù)類型為了在數(shù)據(jù)庫(kù)中存儲(chǔ)不同類型的數(shù)據(jù),SQL Server 2000提供了豐富的數(shù)據(jù)類型,包括系統(tǒng)數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型。3.1.1 系統(tǒng)數(shù)據(jù)類型系統(tǒng)數(shù)據(jù)類型是SQL Server預(yù)先定義好的,用戶可以直接使用。SQL Server 2000提供的系統(tǒng)數(shù)據(jù)類型有以下幾大類,共25種。1整型數(shù)據(jù)類型(1)int(integer)(2)smallint(3)tinyint2浮點(diǎn)數(shù)

35、據(jù)類型浮點(diǎn)數(shù)據(jù)類型用于存儲(chǔ)十進(jìn)制小數(shù)。(1)real:每個(gè)real類型的數(shù)據(jù)占用4個(gè)字節(jié)的存儲(chǔ)空間。(2)float:可以精確到第15位小數(shù)。(3)decimal和numeric。3字符數(shù)據(jù)類型(1)char:其定義形式為:char(n)(2)varchar:用varchar數(shù)據(jù)類型可以存儲(chǔ)長(zhǎng)達(dá)8 000個(gè)字符的可變長(zhǎng)度字符串。(3)nchar:nchar數(shù)據(jù)類型采用unicode(統(tǒng)一字符編碼標(biāo)準(zhǔn))字符集。(4)Nvarchar:nvarchar是使用unicode字符集的varchar數(shù)據(jù)類型。4日期和時(shí)間數(shù)據(jù)類型(1)datetime:用于存儲(chǔ)日期和時(shí)間的結(jié)合體。所占用的存儲(chǔ)空間為8個(gè)字

36、節(jié)。(2)smalldatetime:與datetime數(shù)據(jù)類型類似,但其日期時(shí)間范圍較小。5文本和圖形數(shù)據(jù)類型(1)text:用于存儲(chǔ)大容量文本數(shù)據(jù)。(2)ntext:ntext數(shù)據(jù)類型采用unicode標(biāo)準(zhǔn)字符集。(3)image:用于存儲(chǔ)照片、目錄圖片或者圖畫。6貨幣數(shù)據(jù)類型(1)money:用于存儲(chǔ)貨幣值。(2)smallmoney:與money數(shù)據(jù)類型類似,但范圍比money數(shù)據(jù)類型小。7位數(shù)據(jù)類型bit稱為位數(shù)據(jù)類型,其數(shù)據(jù)有兩種取值:0和1。8二進(jìn)制數(shù)據(jù)類型(1)binary:二進(jìn)制數(shù)據(jù)類型的最大長(zhǎng)度(即n的最大值)為8000,常用于存儲(chǔ)圖像等數(shù)據(jù)。(2)varbinary:數(shù)據(jù)

37、的存儲(chǔ)長(zhǎng)度是變化的,它為實(shí)際所輸入數(shù)據(jù)的長(zhǎng)度加上4字節(jié)。其他含義同binary。在輸入二進(jìn)制常量時(shí),需在該常量前面加一個(gè)前綴0 x。9特殊數(shù)據(jù)類型(1)timestamp:也稱作時(shí)間戳數(shù)據(jù)類型。(2)uniqueidentifier:也稱作惟一標(biāo)識(shí)符數(shù)據(jù)類型。uniqueidentifier用于存儲(chǔ)一個(gè)16字節(jié)長(zhǎng)的二進(jìn)制數(shù)據(jù)類型。10新增數(shù)據(jù)類型SQL Server 2000新增了三種數(shù)據(jù)類型,即bigint、sql_variant和table。(1)bigint:每個(gè)bigint類型的數(shù)據(jù)占用8個(gè)字節(jié)的存儲(chǔ)空間。(2)sql_variant:用于存儲(chǔ)除文本、圖形數(shù)據(jù)和timestamp類型數(shù)

38、據(jù)外的其他任何合法的SQL Server數(shù)據(jù)。(3)table:用于存儲(chǔ)對(duì)表或者視圖處理后的結(jié)果集。3.1.2 自定義數(shù)據(jù)類型1創(chuàng)建用戶自定義數(shù)據(jù)類型例3-1 在BOOKS數(shù)據(jù)庫(kù)中定義一個(gè)新的數(shù)據(jù)類型,類型名稱為“圖書編碼類型”,字符型,長(zhǎng)度為12位,不允許為空。1創(chuàng)建用戶自定義數(shù)據(jù)類型例3-2 使用系統(tǒng)存儲(chǔ)過程定義一個(gè)新的數(shù)據(jù)類型,類型名稱為“價(jià)格類型”,貨幣型,允許為空。程序清單如下:USE BOOKSGOEXECUTE sp_addtype 價(jià)格類型, money, null2刪除用戶自定義數(shù)據(jù)類型刪除用戶自定義數(shù)據(jù)類型的方法有兩種,即使用企業(yè)管理器或者使用系統(tǒng)存儲(chǔ)過程sp_dropty

39、pe。例3-3 刪除前面定義的數(shù)據(jù)類型“價(jià)格類型”。2刪除用戶自定義數(shù)據(jù)類型例3-4 刪除用戶自定義數(shù)據(jù)類型“圖書編碼類型”。程序清單如下:USE BOOKSGOEXECUTE sp_droptype 圖書編碼類型3.2 創(chuàng)建數(shù)據(jù)表一個(gè)完整的數(shù)據(jù)表主要包括兩部分,即數(shù)據(jù)表結(jié)構(gòu)和表中的記錄。因此,創(chuàng)建一個(gè)新的數(shù)據(jù)表主要分為兩步:第一步是先創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu),第二步是錄入表中的數(shù)據(jù)。3.2.1 在企業(yè)管理器中創(chuàng)建數(shù)據(jù)表在企業(yè)管理器中,打開想要?jiǎng)?chuàng)建新表的數(shù)據(jù)庫(kù),右擊“表”對(duì)象,或者在窗口右側(cè)中的表顯示窗口中右擊,從彈出的快捷菜單中選擇“新建表”命令。例3-5 創(chuàng)建一個(gè)新的數(shù)據(jù)表,表名為“圖書基本信息表

40、”。3.2.2 利用Transact-SQL語言創(chuàng)建表CREATE TABLE database_name. owner .| owner. table_name( | column_name AS computed_column_expression| ,n) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT := column_name data_type 3.2.2 利用Transact-SQL語言創(chuàng)建表 COLLATE DEFAULT constant_expression | IDENTITY ( seed , incre

41、ment ) NOT FOR REPLICATION ROWGUIDCOL .n 3.2.2 利用Transact-SQL語言創(chuàng)建表 := CONSTRAINT constraint_name NULL | NOT NULL | PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT 3.2.2 利用Transact-SQL語言創(chuàng)建表|FOREIGN KEY (column ,n)REFERENCES ref_table ( ref_column ,n)

42、NOT FOR REPLICATION| CHECK NOT FOR REPLICATION ( logical_expression )3.2.2 利用Transact-SQL語言創(chuàng)建表 := CONSTRAINT constraint_name PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED ( column ASC | DESC ,.n ) WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT 3.2.2 利用Transact-SQL語言創(chuàng)建表| FOREIGN KEY ( column ,.n

43、 ) REFERENCES ref_table ( ref_column ,.n ) NOT FOR REPLICATION | CHECK NOT FOR REPLICATION ( search_conditions ) 3.2.2 利用Transact-SQL語言創(chuàng)建表其中各參數(shù)的說明如下:database_name:用于指定所創(chuàng)建表的數(shù)據(jù)庫(kù)名稱。database_name 必須是現(xiàn)有數(shù)據(jù)庫(kù)的名稱。如果不指定數(shù)據(jù)庫(kù),database_name 默認(rèn)為當(dāng)前數(shù)據(jù)庫(kù)。3.2.2 利用Transact-SQL語言創(chuàng)建表owner:用于指定新建表的所有者的用戶名,owner 必須是 databas

44、e_name 所指定的數(shù)據(jù)庫(kù)中的現(xiàn)有用戶名,owner 默認(rèn)為當(dāng)前注冊(cè)用戶名。3.2.2 利用Transact-SQL語言創(chuàng)建表table_name:用于指定新建表的名稱。表名必須符合標(biāo)識(shí)符規(guī)則。對(duì)于數(shù)據(jù)庫(kù)來說,database_name、owner_name及object_name 必須是惟一的。表名最多不能超過 128 個(gè)字符。3.2.2 利用Transact-SQL語言創(chuàng)建表column_name:用于指定新建表的列名。computed_column_expression:用于指定計(jì)算列的列值表達(dá)式。3.2.2 利用Transact-SQL語言創(chuàng)建表ON filegroup | DEFA

45、ULT:用于指定存儲(chǔ)表的文件組名。如果指定 filegroup,則表將存儲(chǔ)在指定的文件組中。數(shù)據(jù)庫(kù)中必須存在該文件組。如果使用了DEFAULT選項(xiàng),或者省略了ON子句,則新建的表會(huì)存儲(chǔ)在默認(rèn)的文件組中。3.2.2 利用Transact-SQL語言創(chuàng)建表TEXTIMAGE_ON:用于指定text、ntext和image列的數(shù)據(jù)存儲(chǔ)的文件組。如果表中沒有text、ntext或image列,則不能使用TEXTIMAGE_ON。如果沒有指定TEXTIMAGE_ON子句,則text、ntext和image列的數(shù)據(jù)將與數(shù)據(jù)表存儲(chǔ)在相同的文件組中。3.2.2 利用Transact-SQL語言創(chuàng)建表data_

46、type:用于指定列的數(shù)據(jù)類型。DEFAULT:用于指定列的默認(rèn)值。constant_expression:用于指定列的默認(rèn)值的常量表達(dá)式,可以為一個(gè)常量或NULL或系統(tǒng)函數(shù)。3.2.2 利用Transact-SQL語言創(chuàng)建表IDENTITY:用于將列指定為標(biāo)識(shí)列。seed:用于指定標(biāo)識(shí)列的初始值。increment:用于指定標(biāo)識(shí)列的增量值。3.2.2 利用Transact-SQL語言創(chuàng)建表NOT FOR REPLICATION:用于指定列的IDENTITY屬性,在把從其他表中復(fù)制的數(shù)據(jù)插入到表中時(shí)不發(fā)生作用,即不生成列值,使得復(fù)制的數(shù)據(jù)行保持原來的列值。ROWGUIDCOL:用于將列指定為全

47、局惟一標(biāo)識(shí)行號(hào)列。3.2.2 利用Transact-SQL語言創(chuàng)建表COLLATE:用于指定表的校驗(yàn)方式。column_constraint和table_constraint:用于指定列約束和表約束。3.2.2 利用Transact-SQL語言創(chuàng)建表例3-6 在數(shù)據(jù)庫(kù)BOOKS中創(chuàng)建一個(gè)新表“讀者基本信息表”。3.3 修改數(shù)據(jù)表結(jié)構(gòu)更改表名的方法是在企業(yè)管理器中,右擊要更名的數(shù)據(jù)表,在彈出的快捷菜單中選擇“重命名”命令,并輸入新的表名稱。3.3 修改數(shù)據(jù)表結(jié)構(gòu)在企業(yè)管理器中,打開要修改數(shù)據(jù)表結(jié)構(gòu)的數(shù)據(jù)庫(kù),右擊要進(jìn)行修改的數(shù)據(jù)表,從彈出的快捷菜單中選擇“設(shè)計(jì)表”命令。在此窗口中,可以完成增加、刪

48、除和修改字段的操作。3.4 管理數(shù)據(jù)表中記錄當(dāng)一個(gè)數(shù)據(jù)表的表結(jié)構(gòu)設(shè)計(jì)完成后,就可以在數(shù)據(jù)表中錄入數(shù)據(jù)了。可以使用企業(yè)管理器或使用SQL語言中的INSERT語句插入數(shù)據(jù)。3.4 管理數(shù)據(jù)表中記錄在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù),右擊要錄入數(shù)據(jù)的數(shù)據(jù)表,從彈出的快捷菜單中選擇“打開表”命令,該命令還有三個(gè)子命令?!胺祷厮行小保河糜陲@示數(shù)據(jù)表中的所有記錄?!胺祷厥仔小保河糜陲@示前N條記錄,N可以自己輸入。“查詢”:用于查詢具體某條記錄。3.5 刪除數(shù)據(jù)表3.5.1 利用企業(yè)管理器刪除數(shù)據(jù)表在企業(yè)管理器中,展開指定的數(shù)據(jù)庫(kù),右擊要?jiǎng)h除的數(shù)據(jù)表,從彈出的快捷菜單中選擇“刪除”命令。3.5.2 使用Tr

49、ansact-SQL語言刪除數(shù)據(jù)表可以使用Transact-SQL語言中的DROP TABLE語句刪除數(shù)據(jù)表。DROP TABLE語句的語法形式如下:DROP TABLE table_name ,n3.5.2 使用Transact-SQL語言刪除數(shù)據(jù)表例3-7 刪除BOOKS數(shù)據(jù)庫(kù)中的數(shù)據(jù)表“讀者基本信息表”。可以使用兩種方法:方法一:USE BOOKSGOdrop table 讀者基本信息表3.5.2 使用Transact-SQL語言刪除數(shù)據(jù)表方法二:USE MASTERGOdrop table BOOKS.dbo.讀者基本信息表使用企業(yè)管理器或使用drop table語句一次都可以刪除一個(gè)

50、或多個(gè)數(shù)據(jù)表。3.6 本章小結(jié)SQL Server 2000提供了豐富的數(shù)據(jù)類型,包括系統(tǒng)數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型。SQL Server 2000新增加了三種數(shù)據(jù)類型:bigint、sql_variant和table。3.6 本章小結(jié)創(chuàng)建用戶自定義數(shù)據(jù)類型可以使用企業(yè)管理器或者使用系統(tǒng)存儲(chǔ)過程sp_addtype創(chuàng)建。刪除用戶自定義數(shù)據(jù)類型的方法也有兩種,分別是使用企業(yè)管理器或者使用系統(tǒng)存儲(chǔ)過程sp_droptype。刪除用戶自定義數(shù)據(jù)類型的前提是數(shù)據(jù)庫(kù)內(nèi)沒有任何數(shù)據(jù)表使用此數(shù)據(jù)類型。3.6 本章小結(jié)一個(gè)完整的數(shù)據(jù)表主要包括兩部分:數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)表中的記錄。創(chuàng)建一個(gè)新的數(shù)據(jù)表首先要?jiǎng)?chuàng)建數(shù)

51、據(jù)表的結(jié)構(gòu),然后再錄入表中的數(shù)據(jù)。只有表結(jié)構(gòu)而沒有任何記錄的數(shù)據(jù)表稱為空表。3.6 本章小結(jié)創(chuàng)建數(shù)據(jù)表可以在企業(yè)管理器中完成,也可以通過Transact-SQL語言實(shí)現(xiàn)。在使用數(shù)據(jù)表的過程中,可以根據(jù)用戶的需要更改數(shù)據(jù)表的結(jié)構(gòu)。用戶可以增加、刪除和修改表中的字段,也可以更改數(shù)據(jù)表的名稱。3.6 本章小結(jié)當(dāng)一個(gè)數(shù)據(jù)表的表結(jié)構(gòu)設(shè)計(jì)完成后,就可以在數(shù)據(jù)表中錄入數(shù)據(jù)了??梢允褂闷髽I(yè)管理器或使用SQL語言中的INSERT語句插入數(shù)據(jù)。3.6 本章小結(jié)查看數(shù)據(jù)表中的記錄信息的方法是,在企業(yè)管理器中打開指定的數(shù)據(jù)庫(kù),右擊要查看數(shù)據(jù)的數(shù)據(jù)表,從彈出的快捷菜單中選擇“打開表”命令中的“返回所有行”子命令。3.6

52、 本章小結(jié)刪除數(shù)據(jù)表的方法也有兩種,可以在企業(yè)管理器中右擊要?jiǎng)h除的數(shù)據(jù)表,在彈出的快捷菜單中選擇“刪除”命令,確認(rèn)后就可刪除;也可以使用Transact-SQL語言中的DROP TABLE語句刪除數(shù)據(jù)表。兩種方法都可以一次刪除一個(gè)或多個(gè)數(shù)據(jù)表。3.7 思考與練習(xí)1SQL Server 2000常用的系統(tǒng)數(shù)據(jù)類型有哪些?2在BOOKS數(shù)據(jù)庫(kù)中,創(chuàng)建一個(gè)新的數(shù)據(jù)表,名稱為“圖書借閱信息表”。3自己設(shè)計(jì)一個(gè)用戶自定義數(shù)據(jù)類型“讀者編號(hào)類型”,并上機(jī)實(shí)現(xiàn)。4使用企業(yè)管理器向“讀者基本信息表”中錄入6條新記錄。3.7 思考與練習(xí)5使用SQL語言中的INSERT語句向“圖書借閱信息表”中加入5條新記錄。6

53、上機(jī)練習(xí)修改數(shù)據(jù)表中的記錄信息。7上機(jī)練習(xí)修改數(shù)據(jù)表的名稱。8上機(jī)練習(xí)使用兩種方法刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。第4章 數(shù)據(jù)完整性的設(shè)計(jì)與實(shí)現(xiàn)北華航天工業(yè)學(xué)院李偉紅本章學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)完整性的分類;掌握如何創(chuàng)建主鍵約束;掌握設(shè)置惟一性約束的方法;掌握設(shè)置默認(rèn)約束的方法;掌握設(shè)置檢查約束的方法;掌握設(shè)置外鍵約束的方法。4.1 概 述數(shù)據(jù)的完整性主要涉及以下幾個(gè)方面:(1)實(shí)體完整性。(2)域完整性。(3)參照完整性。(4)用戶定義的完整性。本章主要介紹前三種數(shù)據(jù)完整性的設(shè)計(jì)與實(shí)現(xiàn)方法。4.2 實(shí)體完整性的設(shè)計(jì)與實(shí)現(xiàn)實(shí)體完整性要求數(shù)據(jù)表中的每一行在表中是惟一的實(shí)體。采用以下三種方式,即主鍵約束、IDENT

54、ITY屬性和惟一性約束。4.2.1 主鍵約束通過定義主鍵,能夠惟一地確定表中的每一條記錄。定義為主鍵的列不允許為空,且image和text類型的列不能被指定為主鍵。可以將數(shù)據(jù)表中的一列或多列的組合定義為主鍵。1通過企業(yè)管理器管理主鍵約束例4-1 在“圖書基本信息表”中為“圖書編碼”字段設(shè)置主鍵約束。2使用Transact-SQL語句設(shè)置主鍵約束CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED (column_name,n)2使用Transact-SQL語句設(shè)置主鍵約束其中各參數(shù)的說明如下:constraint_name:

55、用于指定約束的名稱,約束的名稱在數(shù)據(jù)庫(kù)中應(yīng)該是惟一的。如果不指定,則系統(tǒng)會(huì)自動(dòng)生成一個(gè)約束名。2使用Transact-SQL語句設(shè)置主鍵約束CLUSTERED|NONCLUSTERED:用于指定索引的類型,即聚簇索引或者非聚簇索引,CLUSTERED為默認(rèn)值。column_name:用于指定主鍵的列名。主鍵最多由16個(gè)列組成。2使用Transact-SQL語句設(shè)置主鍵約束例4-2 重新創(chuàng)建“讀者基本信息表”,并為其中的“讀者編號(hào)”字段設(shè)置主鍵約束。4.2.2 IDENTITY屬性可以使用IDENTITY屬性來實(shí)現(xiàn)實(shí)體完整性。方法是在數(shù)據(jù)表中創(chuàng)建一個(gè)標(biāo)識(shí)列,該標(biāo)識(shí)列中的數(shù)據(jù)由系統(tǒng)自動(dòng)生成。1通過

56、企業(yè)管理器管理IDENTITY屬性例4-3 使用企業(yè)管理器創(chuàng)建一個(gè)新的數(shù)據(jù)表TEMP1,包含4個(gè)字段:圖書編碼、書名、作者、出版社,并將圖書編號(hào)字段設(shè)置成一個(gè)標(biāo)識(shí)列,列中的數(shù)據(jù)從1開始,每次增加1。2使用Transact-SQL語句設(shè)置IDENTITY屬性使用Transact-SQL語句設(shè)置IDENTITY屬性的語法形式如下:IDENTITY(種子, 遞增量)其中,“種子”是初始值;“遞增量”是每次增加的數(shù)值。說明:必須同時(shí)指定種子和遞增量,或者二者都不指定。如果二者都未指定,則默認(rèn)為(1,1)。2使用Transact-SQL語句設(shè)置IDENTITY屬性例4-4 使用Transact-SQL語

57、句創(chuàng)建一個(gè)新的數(shù)據(jù)表TEMP2,包含4個(gè)字段:圖書編碼、書名、作者、出版社,并將圖書編碼字段設(shè)置成一個(gè)標(biāo)識(shí)列,列中的數(shù)據(jù)從3開始,每次增加2。4.2.3 惟一性約束惟一性約束可以指定一個(gè)或多個(gè)字段列的組合值具有惟一性,即不會(huì)出現(xiàn)重復(fù)的值。在一個(gè)數(shù)據(jù)表中可以為多個(gè)字段或字段的組合設(shè)置惟一性約束。1通過企業(yè)管理器管理惟一性約束例4-5 使用企業(yè)管理器在“圖書基本信息表”中為“書名”和“作者”兩個(gè)字段的組合字段設(shè)置惟一性約束。2使用Transact-SQL語句設(shè)置惟一性約束使用Transact-SQL語句設(shè)置惟一性約束的語法形式如下:CONSTRAINT constraint_name UNIQUE

58、 CLUSTERED|NONCLUSTERED(column_name,n)2使用Transact-SQL語句設(shè)置惟一性約束各參數(shù)說明如下:constraint_name:惟一性約束的名稱。UNIQUE:指定通過惟一索引為給定的一列或多列提供實(shí)體完整性約束。CLUSTERED:指定創(chuàng)建聚集索引。NONCLUSTERED:指定創(chuàng)建非聚集索引。2使用Transact-SQL語句設(shè)置惟一性約束例4-6 使用Transact-SQL語句創(chuàng)建一個(gè)新的數(shù)據(jù)表“圖書基本信息表2”,并為“書名”和“作者”兩個(gè)字段的組合字段設(shè)置惟一性約束。4.3 域完整性的設(shè)計(jì)與實(shí)現(xiàn)域完整性是用來保證在數(shù)據(jù)表中輸入有效的數(shù)據(jù)值

59、。域完整性可以通過定義字段的數(shù)據(jù)類型、設(shè)置字段非空、檢查約束、默認(rèn)約束和規(guī)則來實(shí)現(xiàn)。4.3.1 默認(rèn)約束默認(rèn)約束完成的功能是對(duì)于設(shè)置了默認(rèn)約束的字段,如果在錄入記錄時(shí)沒有提供輸入值,則系統(tǒng)會(huì)自動(dòng)為該字段填入默認(rèn)值。默認(rèn)值可以是常量、函數(shù)或者空值。1使用企業(yè)管理器管理默認(rèn)約束例4-7 在“圖書基本信息表”中為“類別”字段設(shè)置默認(rèn)約束“計(jì)算機(jī)”。2使用Transact-SQL語句設(shè)置默認(rèn)約束可以使用DEFAULT關(guān)鍵字來指定某個(gè)字段的默認(rèn)值。例4-8 創(chuàng)建“圖書基本信息表3”,并為“類別”字段設(shè)置默認(rèn)約束“計(jì)算機(jī)”。4.3.2 檢查約束設(shè)置檢查約束的目的是對(duì)輸入的數(shù)據(jù)值進(jìn)行檢查,滿足條件的數(shù)據(jù)可以

60、保存在數(shù)據(jù)表中,對(duì)于不滿足條件的數(shù)據(jù)則拒絕接受。在某一個(gè)數(shù)據(jù)表中,對(duì)于每一個(gè)字段可以設(shè)置多個(gè)檢查約束。1使用企業(yè)管理器管理檢查約束例4-9 使用企業(yè)管理器在“圖書基本信息表”中為“定價(jià)”字段設(shè)置檢查約束,要求輸入的數(shù)據(jù)必須大于0。2使用Transact-SQL語句設(shè)置檢查約束使用Transact-SQL語句設(shè)置檢查約束的語法形式如下:CONSTRAINT constraint_name CHECK NOT FOR REPLICATION (logical_expression)2使用Transact-SQL語句設(shè)置檢查約束其中,參數(shù)NOT FOR REPLICATION用于指定在把從其他表中復(fù)

溫馨提示

  • 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. 人人文庫(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)論