數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)書_第1頁
數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)書_第2頁
數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)書_第3頁
數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)書_第4頁
數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Experiment Instruction BookOf Database System數(shù)據(jù)庫系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書段華斌計(jì)算機(jī)與信息科學(xué)系20098第1部分 課程簡介一、本實(shí)驗(yàn)課的性質(zhì)、任務(wù)與教學(xué)目標(biāo)數(shù)據(jù)庫原理課程不僅要求學(xué)生掌握數(shù)據(jù)庫技術(shù)的基本理論,更重要的是要培養(yǎng)學(xué)生的數(shù)據(jù)庫技術(shù)實(shí)際應(yīng)用能力,實(shí)驗(yàn)課的安排有利于幫助學(xué)生更好地掌握數(shù)據(jù)庫技術(shù)的知識(shí),培養(yǎng)學(xué)生利用數(shù)據(jù)庫技術(shù)解決實(shí)際管理問題的能力。本實(shí)驗(yàn)課的教學(xué)目的是使學(xué)生在正確理解數(shù)據(jù)庫系統(tǒng)原理的基礎(chǔ)上,熟練掌握主流數(shù)據(jù)庫管理系統(tǒng)(SQL Server 2000)的應(yīng)用技術(shù)進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)。教學(xué)目標(biāo):通過上機(jī)操縱SQL語句,熟練掌

2、握和深入理解SQL SERVER 2000環(huán)境下的基本使用知識(shí)。熟悉 SQL SERVER 2000的環(huán)境;熟練掌握SQL中數(shù)據(jù)庫及表的定義功能;熟練掌握數(shù)據(jù)庫表的操縱功能;理解視圖、索引的創(chuàng)建和使用;了解存儲(chǔ)過程和觸發(fā)器的使用;能運(yùn)用SQL SERVER 2000的完成后臺(tái)數(shù)據(jù)庫的設(shè)計(jì)。二、本實(shí)驗(yàn)課的基本理論該實(shí)驗(yàn)課是在理論思想指導(dǎo)下為達(dá)到某項(xiàng)目標(biāo)而進(jìn)行的實(shí)驗(yàn),實(shí)驗(yàn)的語言是程序、實(shí)驗(yàn)的成功與失敗必須用程序設(shè)計(jì)語句及實(shí)驗(yàn)得到的界面來說明。本課程的基本理論包括:SQL定義功能,熟練掌握SQL操縱功能,了解SQL數(shù)據(jù)控制功能,關(guān)系數(shù)據(jù)庫的規(guī)范化理論,數(shù)據(jù)庫設(shè)計(jì)的過程及方法等。三、實(shí)驗(yàn)基本要求通過本

3、課程的學(xué)習(xí),學(xué)生應(yīng)達(dá)到下列基本要求:1了解數(shù)據(jù)庫的基本概念,掌握數(shù)據(jù)庫設(shè)計(jì)基本知識(shí)和技術(shù)。2熟悉SQL Server安裝和配置。3熟練使用企業(yè)管理器、查詢分析器創(chuàng)建、使用和管理數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象。4熟練掌握Transact-SQL語言的使用,并能進(jìn)行編程。5掌握設(shè)計(jì)開發(fā)數(shù)據(jù)庫系統(tǒng)后臺(tái)數(shù)據(jù)庫的基本過程和方法。6了解本課程的專業(yè)素質(zhì)要求。7熟練掌握課程中涉及到的專業(yè)詞匯。四、實(shí)驗(yàn)項(xiàng)目的設(shè)置與內(nèi)容提要序號(hào)實(shí)驗(yàn)項(xiàng)目名稱學(xué)時(shí)每組人數(shù)實(shí)驗(yàn)類型實(shí)驗(yàn)要求實(shí)驗(yàn)內(nèi)容1熟悉 SQL SERVER 2000的環(huán)境及數(shù)據(jù)庫的管理21驗(yàn)證必修熟悉SQL SERVER 2000企業(yè)管理器、查詢分析器的基本使用方法,掌握在企

4、業(yè)管理器和使用T-SQL語句創(chuàng)建數(shù)據(jù)庫。2表的創(chuàng)建和管理21綜合必修了解SQL SERVER的基本數(shù)據(jù)類型及空值的概念,掌握在企業(yè)管理器中和使用T-SQL語句進(jìn)行表的創(chuàng)建和管理3數(shù)據(jù)查詢41綜合必修重點(diǎn)掌握SELECT語句的使用方法。掌握子查詢(嵌套查詢)、連接查詢的使用。4數(shù)據(jù)更新41驗(yàn)證必修掌握在企業(yè)管理器中和使用T-SQL語句對(duì)表進(jìn)行插入、修改和刪除數(shù)據(jù)的操作。5視圖的創(chuàng)建和使用41綜合必修了解視圖和數(shù)據(jù)表之間的主要區(qū)別,掌握在企業(yè)管理器中和使用T-SQL語句創(chuàng)建視圖、查看視圖修改數(shù)據(jù)表的方法。6索引的創(chuàng)建和使用21綜合必修了解索引的概念、優(yōu)點(diǎn)及分類;掌握在企業(yè)管理器中和使用T-SQL語

5、句創(chuàng)建、修改和刪除索引的操作。7存儲(chǔ)過程的創(chuàng)建和使用41綜合必修了解存儲(chǔ)過程的概念;了解使用存儲(chǔ)過程的特點(diǎn)及用途;掌握創(chuàng)建存儲(chǔ)過程的方法;掌握?qǐng)?zhí)行存儲(chǔ)過程的方法;了解查看、修改和刪除存儲(chǔ)過程的方法8觸發(fā)器的創(chuàng)建和使用21綜合必修了解觸發(fā)器和一般存儲(chǔ)過程的主要區(qū)別;了解使用觸發(fā)器的優(yōu)點(diǎn);掌握創(chuàng)建觸發(fā)器的方法;掌握查看觸發(fā)器信息的方法;了解刪除觸發(fā)器的方法9數(shù)據(jù)庫的安全性21驗(yàn)證選修掌握SQL Server 2000中用戶管理、權(quán)限管理和角色管理。10游標(biāo)管理21綜合選修了解游標(biāo)的基本概念,掌握游標(biāo)的聲明、打開、讀取、關(guān)閉、刪除。11數(shù)據(jù)的導(dǎo)入導(dǎo)出21驗(yàn)證選修理解導(dǎo)入導(dǎo)出數(shù)據(jù)方法的概述,掌握DTS

6、導(dǎo)入導(dǎo)出方法。12代理服務(wù)21綜合選修配置SQL Server代理服務(wù)。了解操作員管理、作業(yè)管理和警報(bào)管理。五、實(shí)驗(yàn)環(huán)境介紹本課程選用SQL Server 2000系統(tǒng)作為實(shí)驗(yàn)環(huán)境。SQL Server是使用客戶機(jī)/服務(wù)器(C/S)體系結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。(一)安裝SQL Server 2000的環(huán)境需求 一、硬件和操作系統(tǒng)要求下表說明安裝 Microsoft SQL Server 2000 或 SQL Server 客戶端管理工具和庫的硬件要求。硬件最低要求計(jì)算機(jī)Pentium 166 MHz 或更高。內(nèi)存 (RAM)至少 64 MB,建議 128 MB 或更多。根據(jù)筆

7、者的經(jīng)驗(yàn),內(nèi)存容量可以和數(shù)據(jù)容量保持1:1的比例,這樣可以更好的發(fā)揮其效能。硬盤空間需要約500MB的程序空間,以及預(yù)留500M的數(shù)據(jù)空間顯示器需要設(shè)置成800x600模式,才能使用其圖形分析工具下表說明為使用 Microsoft SQL Server 2000 各種版本或組件而必須安裝的操作系統(tǒng)。SQL Server 版本或組件操作系統(tǒng)要求企業(yè)版Microsoft Windows NT Server 4.0、Microsoft Windows NT Server 4.0 企業(yè)版、Windows 2000 Server、Windows 2000 Advanced Server 和 Window

8、s 2000 Data Center Server。(所有版本均需要安裝IE5.0以上版本瀏覽器)標(biāo)準(zhǔn)版Microsoft Windows NT Server 4.0、Windows 2000 Server、Microsoft Windows NT Server 企業(yè)版、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。個(gè)人版Microsoft Windows Me、Windows 98、Windows NT Workstation 4.0、Windows 2000 Professional、Microsoft Win

9、dows NT Server 4.0、Windows 2000 Server 和所有更高級(jí)的 Windows 操作系統(tǒng)。注:SQL Server 2000 的某些功能要求在Microsoft Windows 2000 Server以上的版本才能運(yùn)行。因此大家安裝Windows Server 2000(建議為Advanced版本),可以學(xué)習(xí)和使用到SQL Server 2000的更多功能,以及享受更好的性能。二、詳細(xì)的安裝過程本文將在Windows 2000 Advanced Server操作系統(tǒng)作為示例,詳細(xì)介紹安裝SQL Server 2000企業(yè)版的過程。大家清首先安裝Windows 20

10、00 Advanced Server。如果手頭上沒有SQL Server 2000企業(yè)版,可以到微軟公司的這個(gè)網(wǎng)址下載試用版: 或者到軟件公司購買產(chǎn)品。將企業(yè)版安裝光盤插入光驅(qū)后,出現(xiàn)以下提示框。請(qǐng)選擇 "安裝 SQL Server 2000 組件",出現(xiàn)下一個(gè)頁面后,選擇 "安裝數(shù)據(jù)庫服務(wù)器" 。圖1圖2 選擇 "下一步",然后選擇 "本地計(jì)算機(jī)" 進(jìn)行安裝。圖3 圖4在 "安裝選擇" 窗口,選擇 "創(chuàng)建新的SQL Server實(shí)例."。對(duì)于初次安裝的用

11、戶,應(yīng)選用這一安裝模式,不需要使用 "高級(jí)選項(xiàng)" 進(jìn)行安裝。 "高級(jí)選項(xiàng)" 中的內(nèi)容均可在安裝完成后進(jìn)行調(diào)整。圖5 在 "用戶信息" 窗口,輸入用戶信息,并接受軟件許可證協(xié)議。圖6 圖7在 "安裝定義"窗口,選擇 "服務(wù)器和客戶端工具" 選項(xiàng)進(jìn)行安裝。我們需要將服務(wù)器和客戶端同時(shí)安裝,這樣在同一臺(tái)機(jī)器上,我們可以完成相關(guān)的所有操作,對(duì)于我們學(xué)習(xí)SQL Server很有用處。如果你已經(jīng)在其它機(jī)器上安裝了SQL Server,則可以只安裝客戶端工具,用于對(duì)其它機(jī)器上SQL Ser

12、ver的存取。圖8在 "實(shí)例名" 窗口,選擇 "默認(rèn)" 的實(shí)例名稱。這時(shí)本SQL Server的名稱將和Windows 2000服務(wù)器的名稱相同。例如筆者的Windows服務(wù)器名稱是 "Darkroad",則SQL Server的名字也是 "Darkroad"。SQL Server 2000可以在同一臺(tái)服務(wù)器上安裝多個(gè)實(shí)例,也就是你可以重復(fù)安裝幾次。這時(shí)您就需要選擇不同的實(shí)例名稱了。建議將實(shí)例名限制在 10 個(gè)字符之內(nèi)。實(shí)例名會(huì)出現(xiàn)在各種 SQL Server 和系統(tǒng)工具的用戶界面中,因此,名稱越短越容易讀取。另外

13、,實(shí)例名稱不能是 "Default" 或 "MSSQLServer" 以及SQL Server的保留關(guān)鍵字等。圖9在 "安裝類型" 窗口,選擇 "典型" 安裝選項(xiàng),并指定 "目的文件夾"。程序和數(shù)據(jù)文件的默認(rèn)安裝位置都是 "C:Program FilesMicrosoft SQL Server"。筆者因?yàn)镃盤是系統(tǒng)區(qū)、D盤是應(yīng)用區(qū),因此選擇了D盤。注意,如果您的數(shù)據(jù)庫數(shù)據(jù)有10萬條以上的話,請(qǐng)預(yù)留至少1G的存儲(chǔ)空間,以應(yīng)付需求龐大的日志空間和索引空間。圖10在 "服

14、務(wù)賬號(hào)" 窗口,請(qǐng)選擇 "對(duì)每個(gè)服務(wù)使用統(tǒng)一賬戶." 的選項(xiàng)。在 "服務(wù)設(shè)置" 處,選擇 "使用本地系統(tǒng)賬戶"。如果需要 "使用域用戶賬戶" 的話,請(qǐng)將該用戶添加至Windows Server的本機(jī)管理員組中。圖11在 "身份驗(yàn)證模式" 窗口,請(qǐng)選擇 "混合模式." 選項(xiàng),并設(shè)置管理員"sa"賬號(hào)的密碼。如果您的目的只是為了學(xué)習(xí)的話,可以將該密碼設(shè)置為空,以方便登錄。如果是真正的應(yīng)用系統(tǒng),則千萬需要設(shè)置和保管好該密碼?。海┤绻枰叩陌踩裕瑒t

15、可以選擇 "Windows身份驗(yàn)證模式" ,這時(shí)就只有Windows Server的本地用戶和域用戶才能使用SQL Server了。圖12在 "選擇許可模式" 窗口,根據(jù)您購買的類型和數(shù)量輸入(0表示沒有數(shù)量限制)。 "每客戶"表示同一時(shí)間最多允許的連接數(shù),"處理器許可證"表示該服務(wù)器最多能安裝多少個(gè)CPU。筆者這里選擇了 "每客戶" 并輸入了100作為示例。(嘻嘻,別選得太多,越多越貴呀?。海﹫D13然后就是約10分鐘左右的安裝時(shí)間,安裝完畢后,出現(xiàn)該界面,并新增了以下的菜單。如果您是個(gè)初學(xué)者,

16、就可以先打開 "聯(lián)機(jī)叢書",做一個(gè)簡單的學(xué)習(xí)啦!圖14 圖15六、教學(xué)方法的建議1、通過基礎(chǔ)實(shí)驗(yàn)(實(shí)驗(yàn)1實(shí)驗(yàn)8)上機(jī)實(shí)踐,輔助學(xué)生進(jìn)一步理解、應(yīng)用課程理論知識(shí)。建議采用“教師簡單講解學(xué)生上機(jī)驗(yàn)證教師答疑學(xué)生上機(jī)習(xí)題教師抽查” 的形式,督促學(xué)生在SQL SERVER 2000環(huán)境下的熟練使用SQL程序設(shè)計(jì)語言;2、課程設(shè)計(jì)使學(xué)生系統(tǒng)的理解掌握整門課程的知識(shí),能應(yīng)用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)和軟件開發(fā)工具,培養(yǎng)一定的數(shù)據(jù)庫應(yīng)用設(shè)計(jì)能力。建議采用教師案例講解學(xué)生選題、設(shè)計(jì)教師答疑學(xué)生設(shè)計(jì)、實(shí)施的形式。第2部分 實(shí)驗(yàn)內(nèi)容及操作方法實(shí) 驗(yàn) 一實(shí)驗(yàn)名稱:熟悉 SQL SERVER

17、2000的環(huán)境及數(shù)據(jù)庫的管理實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)?zāi)康模?)熟悉SQL SERVER 2000企業(yè)管理器、查詢分析器的基本使用方法。2)了解SQL SERVER 2000數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)及其結(jié)構(gòu)特點(diǎn)。3)掌握在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫。4)掌握使用T-SQL語句創(chuàng)建數(shù)據(jù)庫實(shí)驗(yàn)內(nèi)容及步驟:(一) SQL SERVER 2000管理工具介紹a. 企業(yè)管理器介紹企業(yè)管理器是基于一種新的被稱為微軟管理控制臺(tái)(Microsoft Management Console)的公共服務(wù)器管理環(huán)境,它是SQL Server中最重要的一個(gè)管理工具。企業(yè)管理器不僅能夠配置系統(tǒng)環(huán)境和管理SQL Server,而且由于

18、它能夠以層疊列表的形式來顯示所有的SQL Server對(duì)象,因而所有SQL Server對(duì)象的建立與管理都可以通過它來完成。利用企業(yè)管理器可以完成的操作有: 管理SQL Server 服務(wù)器;建立與管理數(shù)據(jù)庫;建立與管理表、視圖、存儲(chǔ)過程、觸發(fā)程序、角色、規(guī)則、默認(rèn)值等數(shù)據(jù)庫對(duì)象,以及用戶定義的數(shù)據(jù)類型;備份數(shù)據(jù)庫和事務(wù)日志、恢復(fù)數(shù)據(jù)庫;復(fù)制數(shù)據(jù)庫;設(shè)置任務(wù)調(diào)度;設(shè)置警報(bào);提供跨服務(wù)器的拖放控制操作;管理用戶帳戶;建立Transact-SQL命令語句以及管理和控制SQL Mail。b. 服務(wù)管理器(Service Manager)SQL Server 服務(wù)管理器是在服務(wù)器端實(shí)際工作時(shí)最有用的實(shí)

19、用程序。服務(wù)管理器用來啟動(dòng)、暫停、繼續(xù)和停止數(shù)據(jù)庫服務(wù)器的實(shí)時(shí)服務(wù),其提供的服務(wù)包括:SQL Server、SQL Server Agent、MSDTC(Microsoft Distributed Transaction Coordinator,微軟分布式事務(wù)協(xié)調(diào)器)。 c. 查詢分析器(Query Analyzer)SQL Server 2000新的圖形化查詢分析器用于輸入和執(zhí)行Transaction-SQL語句,并且迅速查看這些語句的結(jié)果,以分析和處理數(shù)據(jù)庫中的數(shù)據(jù)。這是一個(gè)非常實(shí)用的工具,對(duì)掌握SQL語言,深入理解SQL Server的管理工作有很大幫助。(二) 創(chuàng)建數(shù)據(jù)庫a.在企業(yè)管理

20、器中創(chuàng)建數(shù)據(jù)庫。()在企業(yè)管理器中,單擊工具欄中的 圖標(biāo),或在數(shù)據(jù)庫文件夾或其下屬任一數(shù)據(jù)庫圖標(biāo)上單擊右鍵,選擇新建數(shù)據(jù)庫選項(xiàng),就會(huì)出現(xiàn)數(shù)據(jù)庫屬性對(duì)話框。()在常規(guī)(General)頁框中,要求用戶輸入數(shù)據(jù)庫名稱以及排序規(guī)則名稱。 ()點(diǎn)擊數(shù)據(jù)文件(Data Files)頁框,該頁框用來輸入數(shù)據(jù)庫文件的邏輯名稱、存儲(chǔ)位置、初始容量大小和所屬文件組名稱。 ()點(diǎn)擊事務(wù)日志(Transaction Log)頁框,該頁框用來設(shè)置事務(wù)日志文件信息, ()單擊“確定”按鈕,則開始創(chuàng)建新的數(shù)據(jù)庫。 b.使用T-SQL語句創(chuàng)建數(shù)據(jù)庫語法如下:CREATE DATABASE database_nameON P

21、RIMARY <filespec> ,n ,<filegroupspec> ,n LOG ON <filespec> ,n FOR RESTORE<filespec>:=(NAME=logical_file_name,F(xiàn)ILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,F(xiàn)ILEGROWTH=growth_increment ) ,n<filegroupspec>:=FILEGROUP filegroup_name <filespec> ,n各參數(shù)說明如下:&

22、#216;database_name:數(shù)據(jù)庫的名稱,最長為128個(gè)字符。ØPRIMARY:該選項(xiàng)是一個(gè)關(guān)鍵字,指定主文件組中的文件。 ØLOG ON:指明事務(wù)日志文件的明確定義。 ØNAME:指定數(shù)據(jù)庫的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標(biāo)識(shí)符。ØFILENAME:指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對(duì)應(yīng)。ØSIZE:指定數(shù)據(jù)庫的初始容量大小。 ØMAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。 ØFILEGROWTH

23、:指定文件每次增加容量的大小,當(dāng)指定數(shù)據(jù)為0時(shí),表示文件不增長。例1:使用CREATE DATABASE創(chuàng)建一個(gè)student數(shù)據(jù)庫,所有參數(shù)均取默認(rèn)值。Create database student 例2:創(chuàng)建一個(gè)gzgl數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為gzgl,物理文件名為gzgl_data.mdf,初始大小為10MB,最大尺寸為無限大,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為gzgl_log,物理文件名為gzgl_log.ldf,初始大小為1MB,最大尺寸為5MB,增長速度為1MB。 Create database gzglOn primary(name= gzgl _data,f

24、ilename=e:datagzgl_data.mdf,size=10,maxsize=unlimited,filegrowth=10%)log on(name= gzgl _log,filename=e:datagzgl_log.ldf,size=1,maxsize=5,filegrowth=1)(三) 刪除數(shù)據(jù)庫a. 利用企業(yè)管理器刪除數(shù)據(jù)庫 在企業(yè)管理器中,右擊要?jiǎng)h除的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“刪除”或按下“delete”鍵。b. 利用Drop語句刪除數(shù)據(jù)庫語法格式:Drop database database_name,n 說明:只有處于正常狀態(tài)下的數(shù)據(jù)庫,才能使用DROP語句刪

25、除。當(dāng)數(shù)據(jù)庫處于以下狀態(tài)時(shí)不能被刪除:數(shù)據(jù)庫正在使用;數(shù)據(jù)庫正在恢復(fù);數(shù)據(jù)庫包含用于復(fù)制的已經(jīng)出版的對(duì)象。例1:刪除已創(chuàng)建的數(shù)據(jù)庫student drop database student(四) 修改數(shù)據(jù)庫a. 利用企業(yè)管理器修改數(shù)據(jù)庫 數(shù)據(jù)庫創(chuàng)建以后,可以在企業(yè)管理器中利用數(shù)據(jù)庫的屬性設(shè)置,來更改數(shù)據(jù)庫創(chuàng)建的某些設(shè)置,以及創(chuàng)建時(shí)無法設(shè)置的屬性。在企業(yè)管理器中,右擊要修改的數(shù)據(jù)庫,選擇“屬性”選項(xiàng),在彈出的數(shù)據(jù)庫屬性窗口中進(jìn)行修改。b. 利用Drop語句修改數(shù)據(jù)庫Alter database databasenameadd file<filespec>,n to filegroup

26、 filegroupname|add log file <filespec>,n|remove file logical_file_name |remove filegroup filegroup_name |modify file <filespec>|modify name=new_databasename|add filegroup filegroup_name|modify filegroup filegroup_namefilegroup_property|name=new_filegroup_name 參數(shù)說明:add file<filespec>

27、;,n to filegroup filegroupname:表示向指定的文件組中添加新的數(shù)據(jù)文件。add log file <filespec>,n:增加新的日志文件。remove file logical_file_name:刪除指定的操作系統(tǒng)文件。remove filegroup filegroup_name:刪除指定的文件組。modify file <filespec>:修改某個(gè)操作系統(tǒng)文件。modify name=new_databasename:重命名數(shù)據(jù)庫。add filegroup filegroup_name:增加一個(gè)文件組。modify filegr

28、oup filegroup_name:修改某個(gè)指定文件組的屬性。 例1:將gzgl數(shù)據(jù)庫的日志文件初始大小改為10MBAlter database gzgl MODIFY FILE (NAME = gzgl_log, SIZE = 10MB)例2:為gzgl數(shù)據(jù)庫添加一個(gè)次要數(shù)據(jù)文件gzgl_data2.ndf,初始大小為5MB,最大尺寸為100MB,增長速度為5MB。ALTER DATABASE gzglADD FILE ( NAME = gagl_data2, FILENAME = 'e:dhbgzgl_data2.ndf', SIZE = 5MB, MAXSIZE = 1

29、00MB, FILEGROWTH = 5MB)注釋:SQL Server 2000 數(shù)據(jù)庫有三種類型的文件: (1)主要數(shù)據(jù)文件:是數(shù)據(jù)庫的起點(diǎn),指向數(shù)據(jù)庫中文件的其它部分。每個(gè)數(shù)據(jù)庫都有一個(gè)主要數(shù)據(jù)文件。主要數(shù)據(jù)文件的推薦文件擴(kuò)展名是 .mdf。(2)次要數(shù)據(jù)文件:包含除主要數(shù)據(jù)文件外的所有數(shù)據(jù)文件。有些數(shù)據(jù)庫可能沒有次要數(shù)據(jù)文件,而有些數(shù)據(jù)庫則有多個(gè)次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的推薦文件擴(kuò)展名是 .ndf。(3)日志文件:包含恢復(fù)數(shù)據(jù)庫所需的所有日志信息。每個(gè)數(shù)據(jù)庫必須至少有一個(gè)日志文件,但可以不止一個(gè)。日志文件的推薦文件擴(kuò)展名是 .ldf。實(shí)驗(yàn)習(xí)題:分別用企業(yè)管理器和查詢分析器創(chuàng)建“學(xué)生”

30、數(shù)據(jù)庫,要求數(shù)據(jù)庫student初始大小為10MB,最大尺寸為40MB,增長速度為5%;數(shù)據(jù)庫的日志文件邏輯名稱為Student_log,物理文件名為Student_log.ldf,初始大小為2MB,最大尺寸為10MB,增長速度為1MB。實(shí)驗(yàn)報(bào)告要求:l 實(shí)驗(yàn)?zāi)康膌 實(shí)驗(yàn)內(nèi)容及步驟l 實(shí)驗(yàn)習(xí)題的源程序清單l 寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法l 要求字跡端正、條理清晰、概念正確實(shí) 驗(yàn) 二實(shí)驗(yàn)名稱:表的創(chuàng)建和管理實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)?zāi)康模?) 了解SQL SERVER的基本數(shù)據(jù)類型及空值的概念2) 掌握在企業(yè)管理器中進(jìn)行表的創(chuàng)建和管理。3) 掌握使用T-SQL語句進(jìn)行表的創(chuàng)建和管理。實(shí)驗(yàn)內(nèi)容及步驟

31、:(一) 創(chuàng)建表a.利用企業(yè)管理器創(chuàng)建表在企業(yè)管理器中,展開指定的服務(wù)器和數(shù)據(jù)庫,打開想要?jiǎng)?chuàng)建新表的數(shù)據(jù)庫,右擊表對(duì)象,并從彈出的快捷菜單中選擇“新建表”,出現(xiàn)對(duì)話框。在對(duì)話框,定義的屬性說明如下:n默認(rèn)值:指定列的默認(rèn)值。除定義為timestamp或帶IDENTITY屬性的列以外的任何列。刪除表時(shí),將刪除默認(rèn)值定義。只有常量值(如字符串)、SQL Server內(nèi)部函數(shù)(如SYSTEM_USER()或NULL值可以用作默認(rèn)值。n精度和小數(shù)位數(shù):精度是列的總長度,包括整數(shù)部分和小數(shù)部分的長度之和,但不包括小數(shù)點(diǎn);小數(shù)位數(shù)指定小數(shù)點(diǎn)后面的長度。n標(biāo)識(shí):指定列是否是標(biāo)識(shí)列。一個(gè)表只能創(chuàng)建一個(gè)標(biāo)識(shí)列。

32、不能對(duì)標(biāo)識(shí)列使用綁定默認(rèn)值和DEFAULT約束。必須同時(shí)指定種子和增量,或者兩者都不指定。默認(rèn)值(1,1)。能夠成為標(biāo)識(shí)列的數(shù)據(jù)類型有int、smallint、tinyint、numeric和decimal等系統(tǒng)數(shù)據(jù)類型;如果其數(shù)據(jù)類型為numeric和decimal,不允許出現(xiàn)小數(shù)位數(shù)。n標(biāo)識(shí)種子:指定標(biāo)識(shí)列的初始值。n標(biāo)識(shí)遞增量:指定標(biāo)識(shí)列的增量值。n是RowGuid:指定列是否使用全局唯一標(biāo)識(shí)符。n公式:用于指定計(jì)算列的列值表達(dá)式。n排序規(guī)則:指定列的排序規(guī)則。 注意:在數(shù)據(jù)庫中表名必須是唯一的,但是如果為表指定了不同的用戶,就可以創(chuàng)建多個(gè)相同名稱的表。b.利用T-SQL語句創(chuàng)建表CRE

33、ATE TABLE database_name. owner .| owner. table_name( < column_definition >| column_name AS computed_column_expression|< table_constraint > ,n) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT < column_definition > := column_name data_type COLLATE < collation_name > DEF

34、AULT constant_expression | IDENTITY ( seed , increment ) NOT FOR REPLICATION ROWGUIDCOL < column_constraint > .n < column_constraint > := CONSTRAINT constraint_name NULL | NOT NULL | PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT |FOREIG

35、N KEY (column ,n)REFERENCES ref_table ( ref_column ,n) NOT FOR REPLICATION| CHECK NOT FOR REPLICATION ( logical_expression )例1:在GZGL中創(chuàng)建一個(gè)JBXX的數(shù)據(jù)庫表use GZGLgocreate table jbxx1(employee_id char(6) not null,name char(10) not null,birthday datetime not null,sex char(2) default男)go(二) 創(chuàng)建、刪除和修改約束a.利用企業(yè)管理器

36、在企業(yè)管理器中,右擊要操作的數(shù)據(jù)表,從彈出的快捷菜單中選擇“設(shè)計(jì)表”選項(xiàng),出現(xiàn)設(shè)計(jì)表對(duì)話框,選擇要設(shè)定為主鍵的字段,如果有多個(gè)字段,按住Ctrl鍵的同時(shí),用鼠標(biāo)單擊選中的某個(gè)字段,從彈出的快捷菜單中選擇“設(shè)置主鍵”選項(xiàng);在屬性對(duì)話框中的“索引/鍵”選項(xiàng)卡中設(shè)置。b.利用T-SQL語句CONSTRAINT constraint_name PRIMARY KEY/UNIQUE CLUSTERED|NONCLUSTERED (column_name,n)參數(shù)說明:constraint_name約束名稱,在數(shù)據(jù)庫中應(yīng)該唯一,不指定,系統(tǒng)會(huì)自動(dòng)生成一個(gè)約束名。CLUSTERED|NONCLUSTERED

37、索引類型,聚族索引或非聚族索引,CLUSTERED為默認(rèn)值。column_name用于指定主鍵的列名。最多由16個(gè)列組成。例1:在GZGL中創(chuàng)建一個(gè)JBXX的數(shù)據(jù)庫表,字段employee_id具有唯一性u(píng)se GZGLgocreate table jbxx2(employee_id char(6) not null primary key,name char(10) not null,birthday datetime not null,sex char(2) default男constraint uk_name unique(employee_id)constraint chk_sex c

38、heck(sex in (男,女)go(三) 增加、刪除和修改字段a.利用企業(yè)管理器在企業(yè)管理器中,右擊要操作的數(shù)據(jù)表,從彈出的快捷菜單中選擇“設(shè)計(jì)表”選項(xiàng),出現(xiàn)設(shè)計(jì)表對(duì)話框,在對(duì)話框可完成增加、刪除和修改字段的操作。c.利用T-SQL語句ALTER TABLE table ALTER COLUMN column_name new_data_type ( precision , scale ) COLLATE < collation_name > NULL | NOT NULL | ADD | DROP ROWGUIDCOL   | ADD < column_def

39、inition > | column_name AS computed_column_expression ,.n | WITH CHECK | WITH NOCHECK ADD < table_constraint > ,.n | DROP CONSTRAINT constraint_name | COLUMN column ,.n | CHECK | NOCHECK CONSTRAINT ALL | constraint_name ,.n | ENABLE | DISABLE TRIGGER ALL | trigger_name ,.n 例如:alter table jb

40、xx2 alter column name char(8)alter table jbxx2 drop column birthdayalter table jbxx2 add memo varchar(200)alter table jbxx1 add constraint PK_em_id primary key(employee_id)alter table jbxx1 add constraint sex default男for sex(四) 查看表格a.利用企業(yè)管理器在企業(yè)管理器中,右擊要操作的數(shù)據(jù)表,從彈出的快捷菜單中選擇“屬性”選項(xiàng),出現(xiàn)表屬性對(duì)話框,在對(duì)話框可顯示對(duì)表格的定義。

41、在企業(yè)管理器中,右擊要操作的數(shù)據(jù)表,從彈出的快捷菜單中選擇“打開表”選項(xiàng),該選項(xiàng)有三個(gè)子項(xiàng):“返回所有行”:顯示所有記錄;“返回首行”:顯示前N條記錄,N可自己輸入;“查詢”:查詢具體某行記錄。b.利用T-SQL語句語法:sp_help objname=name系統(tǒng)存儲(chǔ)過程Sp_help可以提供指定數(shù)據(jù)庫對(duì)象的信息,只用于當(dāng)前數(shù)據(jù)庫。其中objname=name字句用于指定對(duì)象的名稱,如果不指定對(duì)象名稱,sp_help存儲(chǔ)過程就會(huì)列出當(dāng)前數(shù)據(jù)庫中的所有對(duì)象名稱、對(duì)象的所有者和對(duì)象的類型。例1:顯示當(dāng)前數(shù)據(jù)庫中所有對(duì)象的信息use gzglgoexec sp_help例2:顯示表jbxx的信息u

42、se gzglgoexec sp_help jbxx1(五) 更改表的名稱語法:sp_rename objname=object_name,newname= new_name,objtype= object_typeobjtype= object_type指定要改名的對(duì)象的類型,其值可以為COLUMN,DATABASE,INDEX,USERDATATYPE,OBJECT。值OBJECT指代系統(tǒng)表中的所有對(duì)象,OBJECT值為默認(rèn)值。例1:sp_rename jbxx1,基本信息 /將jbxx1的名稱改為基本信息 (六) 刪除表a.利用企業(yè)管理器在企業(yè)管理器中,右擊要?jiǎng)h除的數(shù)據(jù)表,從彈出的快捷菜

43、單中選擇“刪除”選項(xiàng),出現(xiàn)“除去對(duì)象”對(duì)話框,在對(duì)話框完成操作。b.利用T-SQL語句DROP TABLE table_name實(shí)驗(yàn)習(xí)題:分別用企業(yè)管理器和查詢分析器在“學(xué)生”數(shù)據(jù)庫中創(chuàng)建學(xué)生表、課程表、選課表,表中字段如下:S(Sno,Sname,Sage,Ssex,Sdept),C(Cno,Cname, Teacher),SC(Sno,Cno,Grade),類型自定。實(shí)驗(yàn)報(bào)告要求:l 實(shí)驗(yàn)?zāi)康膌 實(shí)驗(yàn)內(nèi)容及步驟l 實(shí)驗(yàn)習(xí)題的源程序清單l 寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法l 要求字跡端正、條理清晰、概念正確實(shí) 驗(yàn) 三實(shí)驗(yàn)名稱:數(shù)據(jù)查詢實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)?zāi)康模?) 掌握在企業(yè)管理器中對(duì)表的查

44、詢操作。2) 掌握使用T-SQL語句對(duì)表的查詢操作。3) 重點(diǎn)掌握 SELECT語句的使用方法。4) 掌握子查詢(嵌套查詢)、連接查詢的使用。實(shí)驗(yàn)內(nèi)容及步驟:(一) 在企業(yè)管理器中查詢數(shù)據(jù)在企業(yè)管理器中,用鼠標(biāo)右擊要查詢數(shù)據(jù)的表,在彈出的快捷菜單中選擇“打開表查詢”,打開“查詢?cè)O(shè)計(jì)器”窗口。在該窗口構(gòu)建并執(zhí)行查詢。(二) SELECT語句的使用方法?;靖袷饺缦拢篠ELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search

45、_condition ORDER BY order_expression ASC | DESC 例1:對(duì)學(xué)生成績的查詢。/*方法一*/select s.sname,sc.gradefrom s,scwhere s.sno=sc.sno/*方法二*/select s.sname,sc.gradefrom s JOIN scon s.sno=sc.sno例2:查詢結(jié)果只顯示前n條記錄*select top 3 sno,sname,sdeptfrom s例3:分組查詢、并改名select sage as 學(xué)生年齡,count(*)as 學(xué)生數(shù)from sgroup by sage例4:使用CASE函

46、數(shù)分類查詢select * , case cno when 1 then round(grade*1.03),-1) when 2 then round(grade*1.04),-1) when 3 then round(grade*1.05),-1) else round(grade*1.01),-1) end as 期望成績from sc例5:使用LIKE運(yùn)算符SELECT * FROM 學(xué)生 WHERE 姓名 LIKE '%李%'例6:使用BETWEEN運(yùn)算符SELECT * FROM 學(xué)生 WHERE 入學(xué)成績 BETWEEN 550 AND 580例7:對(duì)查詢結(jié)果分組

47、在“學(xué)生”表中按性別統(tǒng)計(jì)所有學(xué)生的最高成績。 USE 學(xué)生管理 SELECT CASE 性別 WHEN 0 THEN '女' ELSE '男' END AS 性別, MAX(入學(xué)成績) AS 最高成績 FROM 學(xué)生 GROUP BY 性別 注意:在使用GROUP BY子句時(shí),SELECT子句中每一個(gè)非聚合表達(dá)式內(nèi)的所有列都應(yīng)包含在GROUP BY列表中。否則將會(huì)返回錯(cuò)誤信息。a.基本select語句使用例:查詢employee_id為000001職工地址和電話use gzglgoselect address,phone_id from jbxx where e

48、mployee_id=000001gob.連接查詢使用例:查詢每個(gè)職工的情況及其薪水的情況use gzglgoselect jbxx.*,gzxx.* from jbxx,gzxx where jbxx.employee_id=gzxx. employee_idgoc.統(tǒng)計(jì)函數(shù)group by、order by 子句的使用例:查詢職工的平均收入use gzglgoselect employee_id,avg(realcome) from gzxxgod.子查詢(嵌套)的使用實(shí)驗(yàn)習(xí)題:對(duì)于“Student”數(shù)據(jù)庫的三個(gè)基本表:S(Sno,Sname,Sage,Ssex,Sdept),C(Cno,

49、Cname,Teacher),SC(Sno,Cno,Grade)1. 使用企業(yè)管理器中為 “學(xué)生”數(shù)據(jù)庫的學(xué)生表(student)、課程表(course)、選課表(sc)添加記錄。2. 完成如下查詢語句:(1) 查詢LIU老師所授課程的課程號(hào)和課程名。(2) 查詢年齡大于23歲的男生的學(xué)號(hào)和姓名。(3) 查詢學(xué)號(hào)為S3學(xué)生所學(xué)課程的課程名與任課教師名。(4) 查詢至少選修LIU老師所授課程中一門課程的女學(xué)生姓名。(5) 查詢Wang同學(xué)不學(xué)的課程的課程號(hào)。(6) 查詢至少選修兩門課程的學(xué)生學(xué)號(hào)。(7) 查詢?nèi)繉W(xué)生都選修的課程的課程號(hào)與課程名。(8) 查詢選修課程包含LIU老師所授課程的學(xué)生學(xué)

50、號(hào)。(9) 統(tǒng)計(jì)有學(xué)生選修的課程門數(shù)。(10) 求選修C4課程的女學(xué)生的平均年齡。(11) 求LIU老師所授課程的每門課程的平均成績。(12) 統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計(jì))。要求顯示課程號(hào)和人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號(hào)升序排列。(13) 檢索學(xué)號(hào)比Wang同學(xué)打,而年齡比他小的學(xué)生姓名。(14) 在表SC中查詢成績?yōu)榭罩档膶W(xué)生學(xué)號(hào)和課程號(hào)。(15) 查詢姓名以L打頭的所有學(xué)生的姓名和年齡。(16) 求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡。(17) 求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。實(shí)驗(yàn)報(bào)告要求:l 實(shí)驗(yàn)?zāi)康膌 實(shí)驗(yàn)習(xí)題的源程序清單l

51、寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法l 要求字跡端正、條理清晰、概念正確實(shí) 驗(yàn) 四實(shí)驗(yàn)名稱:數(shù)據(jù)更新實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)?zāi)康模?) 掌握在企業(yè)管理器中對(duì)表進(jìn)行插入、修改和刪除數(shù)據(jù)的操作。2) 掌握使用T-SQL語句對(duì)表進(jìn)行插入、修改和刪除數(shù)據(jù)的操作。3) 重點(diǎn)掌握帶查詢的更新方法。實(shí)驗(yàn)內(nèi)容及步驟:(一) 在企業(yè)管理器中對(duì)數(shù)據(jù)庫中的表進(jìn)行插入、修改和刪除數(shù)據(jù)例1:在企業(yè)管理器中向數(shù)據(jù)庫gzgl中的表輸入數(shù)據(jù)在企業(yè)管理器中向jbxx表插入記錄,選擇并用鼠標(biāo)右擊表jbxx 選擇“返回所有行” 逐字段輸入各記錄值,輸入完后關(guān)閉窗口。例2:在企業(yè)管理器中將表jbxx中編號(hào)為020805的記錄的部門號(hào)改為00

52、3在企業(yè)管理器中選擇表并用鼠標(biāo)右擊表jbxx 選擇“返回所有行” 將光標(biāo)定位至employee_id為020805的記錄的department_id字段,改為003。例3:在企業(yè)管理器中刪除數(shù)據(jù)庫gzgl表數(shù)據(jù)在企業(yè)管理器中刪除表jbxx的第3、6行操作步驟:在企業(yè)管理器中選擇表并用鼠標(biāo)右擊表jbxx 選擇“返回所有行” 選擇要?jiǎng)h除的行 單擊鼠標(biāo)右鍵 刪除 關(guān)閉表窗口。(二) 使用T-SQL語句對(duì)表進(jìn)行插入、修改和刪除數(shù)據(jù)的操作a. 使用INSERT語句插入數(shù)據(jù)語法:INSERT INTO table_name| view_name ( column_list ) VALUES ( DEFAU

53、LT | NULL | expression ,.n ) | derived_table 例1:向數(shù)據(jù)庫gzgl中的表輸入數(shù)據(jù)use gzglgo insert into jbxxvalues(0111112,李子林,1973_5_3,1交通路5號(hào),sql)go單擊快捷工具欄的執(zhí)行圖標(biāo)或按F5,執(zhí)行上述語句。b. 使用UPDATE語句更新數(shù)據(jù)語法:UPDATE table_name | view_name FROM < table_source > ,.n SETcolumn_name = expression | DEFAULT | NUL

54、L ,.n WHERE search_condition > 例2:將表jbxx中編號(hào)為020805的記錄的部門號(hào)改為003use gzglgoupdate jbxxset department_id=003where employee_id=020805go例3:將表jbxx中的年齡增加1歲。use gzglgoupdate jbxxset age=age+1go例4:將表jbxx中所有記錄的黨員屬性改為“黨員”use gzglgoupdate jbxxset polity= 黨員 &&如果沒有where子句,則將修改表中的每一行數(shù)據(jù)單擊快捷工具欄的執(zhí)行圖標(biāo)或按F5,執(zhí)行上述語句。c. 使用DELETE語句刪除數(shù)據(jù)語法:DELETE FROM table_name WITH ( < table_hint_limited > .n ) | view_name WHERE < search_condition > 例4:刪除jbxx表中編號(hào)為020805的記錄。use gzglgodelete from jbxx where

溫馨提示

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