SQL上機指導手冊_第1頁
SQL上機指導手冊_第2頁
SQL上機指導手冊_第3頁
SQL上機指導手冊_第4頁
SQL上機指導手冊_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1目目 錄錄練習 1 sql server 2000 的安裝 .1練習 2 查詢分析器的操作 .2練習 3 sql server 服務器的各種操作 .5練習 4 創(chuàng)建數(shù)據(jù)庫 .7練習 5 創(chuàng)建表 .12練習 6 sql 基本語句.18練習 7 數(shù)據(jù)庫備份及恢復 .21練習 8 用戶及權限管理 .24練習 9 創(chuàng)建視圖 .25練習 10 創(chuàng)建索引 .28練習 11 創(chuàng)建存儲過程 .30練習 12 創(chuàng)建觸發(fā)器 .33練習 13 用 visual basic 開發(fā)數(shù)據(jù)庫應用程序.34練習 14 用 asp 開發(fā)網(wǎng)絡應用程序.46練習 15 通過 arccatalog 進行矢量數(shù)據(jù)的入庫.48練習 1

2、6 shp2sde 命令行方式向 arcsde 導入數(shù)據(jù).48練習 17 使用 shp2sde 命令行方式向 arcsde 批量導入數(shù)據(jù).49練習 18 使用 sderaster 導入柵格數(shù)據(jù).49練習 19 arcsde 中空間數(shù)據(jù)的備份與恢復.51練習 20 arcview gis 與 arcsde 的連接.53附錄 其它 arcsde 連接方式.551練習練習1 sql server 2000 的安裝的安裝1題目題目在 windows 2000 操作系統(tǒng)平臺上安裝 sql server 2000 個人版。 2操作過程操作過程 將 sql server 2000 的安裝光盤放入到光驅中,在

3、彈出的 sql server 自動菜單中,選擇“安裝 sql server 2000 個人版” ,在下一個窗口中選擇“安裝 sql server 2000 組件”選項。安裝程序啟動安裝向導,開始安裝。2設置計算機名。輸入本地計算機名,如:mycomputer,單擊“下一步”按鈕,進入“安裝選擇”窗口。設置安裝選擇。選擇“創(chuàng)建新的 sql server 實例,或安裝客戶端工具”選項,單擊“下 4一步”按鈕,安裝程序要求輸入用戶信息。 設置用戶信息。在“用戶信息”對話框中輸入姓名和公司名輸入。但公司名稱也可以不輸入。單擊“下一步”按鈕,將出現(xiàn)“軟件許可證協(xié)議”對話框。 軟件許可協(xié)議。單擊“是”按鈕

4、,繼續(xù)安裝。 設置安裝定義。安裝程序打開“安裝定義”對話框選擇包含在 sql server 2000 安裝中的組件。選擇“服務器和客戶端工具”默認選項。單擊“下一步”按鈕,打開“實例名”對話框。 設置實例名。選定“默認”選項時,將安裝 sql server 2000 的默認實例,單擊“下一步”按鈕,打開“安裝類型”對話框。 設置安裝類型。選擇默認的“典型安裝” ,典型安裝不安裝 sql 代碼示例文件和部分開發(fā)工具,建議多數(shù)用戶采用此安裝。單擊“下一步”按鈕,打開“服務賬戶”對話框。 使用安裝程序中的“服務賬戶” 。本地系統(tǒng)賬戶不需要設置密碼,也沒有 windows nt的網(wǎng)絡訪問權限。單擊“下

5、一步”按鈕,打開“身份驗證模式”對話框。 身份驗證模式。 “身份驗證模式”對話框可以選擇 windows 身份驗證模式或混合模式11(windows 身份驗證和 sql server 身份驗證模式)。這里,選擇混合模式,允許用戶使用windows 身份驗證和 sql server 身份驗證進行連接。并輸入管理用戶的登錄密碼。完成身份驗證后,單擊“下一步”按鈕,打開“開始復制文件”對話框。 復制文件?,F(xiàn)在,如果您對以上設置滿意,單擊“下一步”按鈕。開始進行文件復制。12 安裝組件、復制文件。安裝程序開始安裝 sql server 2000 的各種組件,并復制所需要13的文件。 安裝完成。復制文件

6、可能會持續(xù)較長的時間,這取決于計算機的配置情況。當這些操作14都結束時,將出現(xiàn)“安裝完畢”對話框,這就表明,sql server 2000 已經(jīng)成功地安裝在計算機上了。單擊“完成”按鈕,結束安裝。2練習練習2 查詢分析器的操作查詢分析器的操作1題目題目查詢分析器的操作。2操作過程操作過程首先在文本編譯器中輸入以下的查詢語句use pubsseclect type, pub_id, pricefrom titleswhere type=businessorder by type, pub_id, pricecompute sum (price) by type, pub_idcompute su

7、m (price) by type選擇“查詢”菜單下的“顯示執(zhí)行計劃”和“顯示客戶統(tǒng)計”選項。接著單擊工具欄上2“執(zhí)行查詢” 。此時在文本編輯器的下半部分的 4 個標簽頁上分別顯示查詢的結果網(wǎng)格、執(zhí)行計劃、統(tǒng)計及其相關信息。查看各標簽頁的內容。3 其中查詢的結果網(wǎng)格標簽頁的顯示結果如圖 a1 所示。 選中執(zhí)行計劃標簽頁如圖 a2 所示,顯示查詢執(zhí)行計劃顯示窗口。 該圖顯示了由查詢優(yōu)化器所決定的查詢數(shù)據(jù)的方法。在這里所使用的圖形化執(zhí)行計劃是使用圖標而不是表格來代表具體某一語句和查詢的執(zhí)行情況。從而有利于理解執(zhí)行的詳細情形。除此之外,查詢分析器還能夠指出還應該在哪些列上建索引以便提高查詢性能,以及

8、給出有關非索引列的統(tǒng)計信息。 選中統(tǒng)計標簽頁如圖 a3 所示,顯示查詢結果的統(tǒng)計窗口。 選中消息標簽頁如圖 a4 所示,顯示查詢結果消息窗口。這些統(tǒng)計信息主要由查詢處理器使用,通過統(tǒng)計信息,其能夠在查詢評估階段來決定最優(yōu)的查詢策略是什么。在表上創(chuàng)建索引之后,sql server 自動將有關索引列分布值的統(tǒng)計信息存儲起來,以備查詢優(yōu)化器以后使用。所以如果某一列的值發(fā)生變化則其最佳的查詢策略也將改變,因查詢優(yōu)化器仍使用其存儲的統(tǒng)計信息來進行查詢決策,從而降低了查詢效率。3圖 a.1 查詢分析器的查詢結果顯示窗口圖 a.2 查詢分析器的執(zhí)行計劃顯示窗口4圖 a.3 查詢分析器的統(tǒng)計顯示窗口圖 a.4

9、 查詢分析器的消息顯示窗口5練習練習3 sql server 服務器的各種操作服務器的各種操作1 題目題目sql server 服務器的各種操作。2 操作過程操作過程(1)用企業(yè)管理器啟動服務器在企業(yè)管理器的 sql server 組中單擊所要啟動的服務器,或在所要啟動的服務器上右擊后,從快捷菜單中選擇“啟動”項,如圖 a.5 所示,即可啟動。圖 a.5 服務器啟動窗口(2)用服務管理器啟動服務器啟動方法如下: 執(zhí)行“開始”/“程序”/“microsoft sql server”/ “服務管理器”命令,打開服務管1理器窗口,如圖 a.6 所示。從服務管理器中選擇要啟動的服務器“服務器”和“服務

10、”選項;2在服務管理器中單擊“開始/繼續(xù)”按鈕啟動服務器,啟動后畫面如圖 a.7 所示。3(3)用操作系統(tǒng)控制面板中的服務管理程序啟動服務器啟動方法如下:在 windows 2000 professional 操作系統(tǒng)中執(zhí)行“我的電腦”/“控制面板”/“管理工具”1/“服務”命令,出現(xiàn)如圖 a.8(a)所示的頁面。右擊所要啟動的服務名稱,從快捷菜單中選擇“啟動”選項就會啟動 mssql server,2啟動后畫面如圖 a.8(b)所示。關閉服務器的方法與啟動服務器的方法類西,只是把“啟動”選項改為“暫停或停止”即可。6 圖 a.6 sql sever 服務管理器對話框 圖 a.7 啟動后的“s

11、ql sever 服務管理器對話框”(a)啟動前(b)啟動后7圖 a.8 用服務管理程序啟動(4)連接與斷開服務器在企業(yè)管理器的 sql server 組中單擊右鍵后從快捷菜單中選擇“連接”選項,即可啟動。在企業(yè)管理器的 sql server 組在所要斷開的服務器上右擊后從快捷菜單中選擇“斷開”選項就可以斷開,另外,服務器在關閉企業(yè)管理器時也會自動斷開服務器。(5)配置服務器配置服務器的屬性對于管理 sql server 來說很重要,可以使用企業(yè)管理器進行配置。在企業(yè)管理器中在要進行配置的服務器上右擊后,從快捷菜單中選擇“屬性”選項,即會出現(xiàn)如圖 a.9 所示的對話框,可進行服務器的屬性設置。

12、圖 a.9 sql server 服務器屬性設置對話框練習練習4 創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫 1題目題目 分別使用 sql server 2000 企業(yè)管理器和 transactsql 語句,按下列要求創(chuàng)建、修改和刪除用戶數(shù)據(jù)庫。 (1)按要求創(chuàng)建數(shù)據(jù)庫 數(shù)據(jù)庫名為 mydb; 數(shù)據(jù)庫中包含一個數(shù)據(jù)文件,邏輯文件名為 my_db_data,操作系統(tǒng)文件名為my_db_data.mdf,文件的初始容量為 5mb,最大容量為 15mb,文件容量遞增值為2mb;8 事務日志文件的邏輯文件名為 my_db_log,操作系統(tǒng)文件名為 my_db_log.ldf,文件的初始容量為 3mb,最大容量為 10mb,

13、文件容量遞增值為 lmb。 (2)按要求對數(shù)據(jù)庫進行修改 添加一個數(shù)據(jù)文件,邏輯文件名為 my_db_data1,操作系統(tǒng)文件名為my_db_data1.ndf,文件的初始容量為 3mb,最大容量為 15mb,文件容量遞增值為2mb; 將事務日志文件的最大容量改為 20mb,文件容量遞增值改為 2mb。 (3)刪除上面創(chuàng)建的數(shù)據(jù)庫 將所創(chuàng)建的數(shù)據(jù)庫刪除。2操作過程操作過程(1)用企業(yè)管理器完成創(chuàng)建數(shù)據(jù)庫具體步驟如下: 打開企業(yè)管理器并展開服務器,右擊其中的“數(shù)據(jù)庫”節(jié)點,在彈出的快捷菜單中執(zhí)行“新建數(shù)據(jù)庫”命令,彈出如圖 a10 所示的“數(shù)據(jù)庫屬性”對話框; 選擇“常規(guī)”選項卡,在“名稱”文本

14、框中鍵人數(shù)據(jù)庫名稱“mydb”; 選擇“數(shù)據(jù)文件”選項卡,在“文件名”列輸入 my_db_data,在“位置”列將文件名改為my_db_datamdf,在“初始大小”列輸入 5; 選中“文件屬性”復選框, 在“文件增長”框中選中“按兆字節(jié)”單選框,并將其值改為 2; 在“最大文件大小”框中選中“將文件增長限制為”單選鈕,并將其值改為 l5,如圖 a11所示; 選擇“事務日志”選項卡,在“文件名”列輸入 my_db_log,在“位置”列將文件名改為my_db_logldf,在“初始大小”列輸入 3; 選中“文件屬性”中的“文件自動增長”復選框;在“文件增長”框中選中“按兆字節(jié)”單選框,并將其值設

15、為 1;在“最大文件大小”欄中選中“將文件增長限制為”單選紐,并將其值改為 10,如圖 a.1210所示。(2)用企業(yè)管理器完成修改數(shù)據(jù)庫具體步驟如下:在企業(yè)管理器中選擇“數(shù)據(jù)庫”節(jié)點,右擊剛剛創(chuàng)建的 mydb 數(shù)據(jù)庫,在彈出的快捷菜1單中選擇“屬性”命令;選擇“數(shù)據(jù)文件”選項卡,在“數(shù)據(jù)庫文件”網(wǎng)格中的第二行添加數(shù)據(jù)文件,在其中的“文2件名”列輸入 my_db_data1,在“位置”列將文件名改為 my_db_data1.ndf 在“分配的空間”列添入 3,表示新添的文件的初始大小為 3mb;選中“文件屬性”中的“文件自動增長”復選框;3在“文件增長”框中選中“按兆字節(jié)”單選框,并將其值改為

16、 2;4在“最大文件大小”欄中選中“將文件增長限制為”單選框,并將其值改為 15,如圖5a.13 所示;選擇“事物日志”選項卡,在“文件增長”框中選中“按兆字節(jié)”單選框,并將其值6改為 2,在“最大文件大小”欄中選中“將文件增長限制為”單選紐,并將其值改為 20。9(3)用企業(yè)管理器刪除上面創(chuàng)建的數(shù)據(jù)庫具體步驟如下: 在企業(yè)管理器中選擇“數(shù)據(jù)庫”節(jié)點,右擊剛剛建立的 mydb 數(shù)據(jù)庫,在彈出的快1捷菜單中選擇“刪除”命令,彈出如圖 a.14 所示的對話框;圖 a.10 “數(shù)據(jù)庫屬性”對話框10圖 a.11 設置“數(shù)據(jù)文件”選項卡圖 a.12 設置“事務日志”選項卡11單擊“是”按鈕,即刪除了數(shù)

17、據(jù)庫。2(4)用 tsql 語句完成創(chuàng)建數(shù)據(jù)庫的操作語句如下:create database mydbon(name = my_db_data,filename= c:program filesmicrosoft sql servermssqldata my_db_data.mdf,size = 5, maxsize = 15, filegrowth = 2)log on(name = my_db_log,filename = c:program filesmicrosoft sql servermssqldata my_db_log.ldf,size = 3, maxsize = 10, f

18、ilegrowth = 1) go(5)用 tsql 語句完成修改數(shù)據(jù)庫的操作語句如下:alter database mydbadd file(name = my_db_data1,filename= c:program filesmicrosoft sql servermssqldata my_db_data1.ndf,size = 3, maxsize = 15, filegrowth = 2)goalter database mydbmodify file(name = my_db_log,maxsize = 20, filegrowth = 2) go(6)用 tsql 語句完成刪除數(shù)

19、據(jù)庫的操作語句如下:drop database mydbgo12圖 a.13 添加一個數(shù)據(jù)文件圖 a.14 刪除數(shù)據(jù)庫對話框13練習練習5 創(chuàng)建表創(chuàng)建表1 題目題目 分別使用 sql sever 2000 企業(yè)管理器和 tsql 語句,按下列要求創(chuàng)建、修改和刪除用戶表。 (1)創(chuàng)建一個包含如下各字段的員工信息表 employees 創(chuàng)建的表如表 a1 所示。表 a.1 員工信息表 employees字段名數(shù)據(jù)類型注釋empidchar主鍵,非空,長度 10namechar非空,長度 20departmenttinyint非空agetinyintmemovarchar長度 60(2)創(chuàng)建一個包含

20、如下各字段的部門信息表 departments創(chuàng)建的表如表 a2 所示。表 a.2 部門信息表 departments字段名數(shù)據(jù)類型注釋depidtinyint非空depnamechar非空,長度 10memovarchar長度 60(3)創(chuàng)建個包含如各字段的表 tmp創(chuàng)建的表如表 a3 所示。表 a.3 表 tmp字段名數(shù)據(jù)類型注釋iduniqueidentifier(4)對上面的表作如下修改為 employees 表添加一個日期型的出生日期字段,添加一個浮點型的工資字段,刪除年齡字段。將 departments 表的 depid 字段設為主鍵。將 employees 表中的 departm

21、ent 字段設為外鍵。與 departments 表中的主鍵關聯(lián),名為3fk_emp_dep。將 departments 表中的 depname 字段長度改為 20。414將 employees 表中的 salary 字段的值限定在 0 至 10000 之間。5(5)刪除表 tmp將表 tmp 刪除。2 操作過程操作過程(1)用企業(yè)管理器完成創(chuàng)建表的操作具體步驟如下: 打開企業(yè)管理器并展開服務器,單擊其中的“數(shù)據(jù)庫”節(jié)點,展開其中的一個數(shù)據(jù)庫,并選擇其下級節(jié)點“表” 。 右擊“表” ,在彈出的快使菜單中執(zhí)行“新建表”命令,打開表設計窗口,在窗口中按照 employees 表的要求輸入字段名及類

22、型,并將“empid”設為主鍵,如圖 a.15 所示。 單擊“保存”按鈕,在彈出的“選擇名稱”對話框中輸入表名 employees,單擊“確定”3按鈕關閉窗口,完成了 employees 表的創(chuàng)建。 重復步驟 1 至 3,但省去創(chuàng)建主鍵的步驟,建立 departments 表和 tmp 表,分別如圖a16 和圖 a17 所示。 (2)用企業(yè)管理器完成修改表的操作 具體步驟如下: 打開企業(yè)管理器并展開服務器,單擊其中的“數(shù)據(jù)庫”節(jié)點,展開其中的一個數(shù)據(jù)庫,并單擊其下一級節(jié)點“表” 。在企業(yè)管理器右側表格中選擇 employees 表,右擊后,在彈出的快捷菜單中選擇“設計表”命令,打開表設計窗口,

23、添加個日期型的出生日期字段及個浮點型的工資字段,并刪除原有的年齡字段,修改后的 employees 表結構如圖 a18 所示保存后關閉窗口。圖 a.15 創(chuàng)建 employees 表15圖 a.16 創(chuàng)建 departments 表圖 a.17 創(chuàng)建 tmp 表16圖 a.18 修改后的 employees 表在企業(yè)管理庫右側窗格中選擇 departments 表,右擊后,在彈出的快捷菜單中選擇 “設計表”命令,打開表設計窗口。單擊 depid 所在行,單擊工具條上的“設置主鍵”按鈕,則向 departments 表中添加了4一個主鍵。將 depname 所在行的“長度”一列的值改為 20,保

24、存后關閉窗口5在企業(yè)管理器右側窗格中選擇 employees 表,右擊后,在彈出的快捷菜單中選擇“設計6表”命令,打開表設計窗口。單擊表設計窗口上的“表和索引屬性”按鈕,在彈出的菜單中選擇“關系”選項卡,并7單擊“新建”按鈕。在“關系名”文本框中輸入 fk_emp_dep,在“主鍵表”列中選中 departments 表及其8中的“dep_id”字段,在“外鍵表”列中選中 employees 表及其中的 departments 字段,操作完成后界面如圖 a.19 所示,然后按“關閉”按鈕。單擊圖 a.19 中的“約束”選項卡,彈出如圖 a.20 所示的對話框。在其中單擊“新建”9按鈕,在“關系

25、名”文本框中輸入 ck_emp_salary,在“約束表達式”文本框中輸入表達式salary=0 and salary=0 and salary 2000查詢 employees 表中工資超過 1500,并且屬于開發(fā)部的人員,并用 departments 表中的7部門名稱來取代其編號顯示出來,語句如下:select employees.empid, , departments.depname, employees.birthdate, employees.salaryfrom departments inner join employeeson department

26、s.depid = employees.departmentwhere departments.depname = 開發(fā)部 and employees.salary1500查詢 employees 表中姓王的職工的所有數(shù)據(jù)。語句如下:8select * from employees where name like 王%查詢 employees 表中姓名只含有兩個字的職工。語句如下:9select * from employees where name like _找出 employees 表中所有 20 世紀 60 年代出生的職工。語句如下:10select * from employees

27、where year(birthdate) like 1960-9 找出 employees 表中所有未添寫出生日期的職工。語句如下:11select * from employees where birthdate is null查詢所有開發(fā)部員工的工資總額。語句如下:12select sum ( employees. salary) as 工資和, departments.depname as 部門21from departments inner join employees on departments.depid = employees.departmentwhere(departme

28、nts.depname =開發(fā)部)group by departments.depname查詢所有不屬于開發(fā)部的員工的基本信息。語句如下:13select e.empid, , e.birthdate,e.salary, departments.depname as 部門from departments inner joinemployees as e on departments.depid = e.departmentwhere not(departments.depname = 開發(fā)部)顯示工資最高的三位員工的信息。語句如下:14select top 3 employees.

29、*from employeesorder by employees.salary desc在所有填寫了出生日期的數(shù)據(jù)中,找出年齡最大的三位員工的信息。語句如下:15select top 3 employees.*from employeeswhere birthdate is not nullorder by birthdate找出所有工資介于 2000 到 3000 之間的職工,語句如下:16select * from employees where salary=2000 and salary3000查詢各部門的平均工資,并將結果排序。語句如下:21select departments.d

30、epname, avg (salary)from employeesinner join departments on employees.department = departments.depid22group by departments.depname order by avg (salary)向 employees 表中添加一條數(shù)據(jù)。語句如下:22insert into employeesvalues (0010, 趙月, 4, null, 1980-12-10 , null)將所有“工資”一項為空的職員,工資定為 600。語句如下:23update employees set sa

31、lary 600where salary is null將所有工資低于 1500 的職員漲 200。語句如下:24update employees set salary salary200where salary 50刪除屬于銷售部的所有員工。語句如下:27delete employeesfrom employees inner join departmentson employees.department = departments.depidwhere departments.depname = 銷售部刪除所有員工的數(shù)據(jù)。語句如下:28truncate table employees練習練

32、習7 數(shù)據(jù)庫備份及恢復數(shù)據(jù)庫備份及恢復1題目題目使用 sql server 2000 企業(yè)管理器備份和恢復數(shù)據(jù)庫 mydb。2操作過程操作過程 (1)創(chuàng)建備份設備 步驟如下: 打開企業(yè)管理器并展開服務器,展開其中的“管理”節(jié)點,右擊“備份” ,在快捷菜單中選擇“新建備份設備”命令。23 在彈出的“備份設備屬性新設備”對話框中,在“名稱”文本框中鍵入“mydb備份設備” ,如圖 a22 所示。 單擊“確定”按鈕。 (2)備份數(shù)據(jù)庫 步驟如下:在企業(yè)管理器的服務器中,右擊其中的數(shù)據(jù)庫 mydb,在彈出的快捷菜單中執(zhí)行“所有任務”/“備份數(shù)據(jù)庫”命令。在出現(xiàn)的“sql server 備份”對話框中選

33、擇“常規(guī)”選項卡。在該選項卡的“名稱”文本框中鍵入“mydb 數(shù)據(jù)庫備份” 。在“備份”單選鈕中選擇“數(shù)據(jù)庫一完全”選項。單擊“添加”按鈕,在彈出的對話框中選擇“備份設備” ,然后從下拉列表中選擇“mydb 備份設備” ,如圖 a23 所示。圖 a.22 備份設備屬性對話框單擊“選項”選項卡,在該選項卡中選中“完成后驗證備份”復選框。6單擊“確定”按鈕。7出現(xiàn)“備份進度”對話框,備份完成后,將彈出消息框“備份操作及其驗證已成功完8成” 。單擊“確定”完成數(shù)據(jù)庫備份。9(3)恢復數(shù)據(jù)庫步驟如下:在企業(yè)管理器的服務器中,右擊要還原的數(shù)據(jù)庫 mydb,在彈出的快捷菜單中執(zhí)行1“所有任務”/“還原數(shù)據(jù)

34、庫”命令。在出現(xiàn)的“還原數(shù)據(jù)庫”對話框的“還原”單選紐組中選中“從設備”單選紐。2單擊“選擇設備”按鈕,從彈出的對話框中選擇備份設備“mydb 備份設備” 。3單擊單選紐“還原備份集” ,選擇其中的單選紐“數(shù)據(jù)庫完全” ,如圖 a.24 所示。4 單擊“確定”按鈕,執(zhí)行還原操作。5出現(xiàn)“還原進度”對話框,還原完成后,將彈出消息框“數(shù)據(jù)庫 mydb 的還原已順利6完成” 。單擊“確定”按鈕。724圖 a.23 數(shù)據(jù)備份對話框圖 a.24 數(shù)據(jù)還原對話框25練習練習8 用戶及權限管理用戶及權限管理1 題目題目分別使用 sql server 2000 企業(yè)管理器和 transactsql 語句完成下

35、列任務:創(chuàng)建一個用戶名為 newuser1,口令是pswd1的登錄賬戶。創(chuàng)建一個數(shù)據(jù)庫用戶。為數(shù)據(jù)庫用戶設置權限。2 操作過程操作過程(1)用 sql 企業(yè)管理器來創(chuàng)建登錄賬戶。步驟如下:打開企業(yè)管理器并展開服務器,展開其中的“安全性”節(jié)點。右擊“登錄”圖標,從彈出的快捷菜單中選擇“新建登錄”命令,彈出“新建登錄”對話框。在“常規(guī)”選項卡的“名稱”文本框中輸入 newuser1。在“身份驗證”區(qū)域選中“sql server 身份驗證”單選鈕,在“密碼”文本框中輸入pswd1。單擊“確定”按鈕,在彈出的“確認密碼”對話框中再輸入一次 pswd1。單擊“確定”按鈕創(chuàng)建登錄。(2)用企業(yè)管理器創(chuàng)建數(shù)

36、據(jù)庫用戶步驟如下:打開企業(yè)管理器并展開服務器,展開其中的“數(shù)據(jù)庫”節(jié)點。打開要創(chuàng)建新用戶的數(shù)據(jù)庫,右擊“用戶”圖標,從彈出的快捷菜單中選擇“新建用戶”對話框。在“登錄名”下拉框內選擇已經(jīng)創(chuàng)建的登錄帳號,在“用戶名”文本框內輸入數(shù)據(jù)庫用戶名稱。在“數(shù)據(jù)庫角色成員”下的選項框中為該用戶選擇數(shù)據(jù)庫角色。單擊“確定”按鈕。(3)用企業(yè)管理器管理用戶權限步驟如下:打開企業(yè)管理器并展開服務器,展開其中的“數(shù)據(jù)庫”節(jié)點。展開其中的某一數(shù)據(jù)庫,單擊“用戶”圖標,則將在右側窗格中顯示該數(shù)據(jù)庫的所有用戶。在數(shù)據(jù)庫用戶清單中選擇要進行權限設置的用戶,右擊用戶名后在彈出的快捷菜單中選擇“屬性” ,彈出“數(shù)據(jù)庫用戶屬性

37、”對話框。單擊對話框中的“權限”按鈕,在彈出的對話框中進行對象權限設置。單擊“確定”按鈕完成權限設置。(4)用 tsql 語句來創(chuàng)建登錄賬戶26語句如下:sp_addlogin newuser2,pswd2(5)用 tsql 語句來創(chuàng)建數(shù)據(jù)庫用戶語句如下:use northwindgoexec sp_adduser newuser2,lsgo(6)用 tsql 語句來設置用戶權限語句如下:use mydbgogrant insert, update, delete, selecton employeesto newuser1go練習練習9 創(chuàng)建視圖創(chuàng)建視圖1題目題目使用企業(yè)管理器和 trans

38、actsql 語句,在數(shù)據(jù)庫 mydb 中基于表 employees 和 department完成如下操作。(1)按要求創(chuàng)建視圖視圖名為 empinfo包含字段 empid、name、depname、birthdate 和 salary。字段別名分別是“雇員編號” 、 “雇員姓名” 、 “部門” 、 “出生日期”和“工資” 。(2)使用 insert 語句通過視圖向雇員數(shù)據(jù)表中添加一條記錄,要求“姓名”為“張明” 、“工資”為“2000” 。(3)使用 update 語句通過視圖將插入記錄的雇員工資改為 2100。(4)執(zhí)行系統(tǒng)存儲過程 sp_rename 將視圖改名為“雇員信息” 。2操作過

39、程操作過程(1)使用企業(yè)管理器創(chuàng)建視圖步驟如下:在 sql server 2000 企業(yè)管理器中,展開服務器組,然后展開服務器實例。展開“數(shù)據(jù)庫”文件夾,再展開數(shù)據(jù)庫 mydb。在該數(shù)據(jù)庫下面右擊“視圖”目錄,然后單擊“新建視圖”命令。右擊關系圖窗格,然后選擇“添加表”命令,如圖 a.25 所示。當出現(xiàn) a.26 所示的“添加表”對話框時,選擇 department 和 employees,使其出現(xiàn)在27關系圖窗格中,然后單擊“關閉”按鈕。操作網(wǎng)格,選擇視圖中各列,如圖 a.27 所示。在工具欄上單擊“運行”按鈕,在數(shù)據(jù)結果區(qū)將顯示包含在視圖中的數(shù)據(jù)行。在工具欄上單擊“保存”按鈕,彈出如圖 a

40、.28 所示的對話框,在該對話框中輸入視圖名 empinfo,單擊“確定”按鈕完成視圖的創(chuàng)建。(2)使用 transactsql 語句完成下列操作打開查詢分析器,在查詢窗口輸入 create view 語句創(chuàng)建視圖,并指定字段別名,語句如下:use mydbgo創(chuàng)建視圖create view empinfo (雇員編號,雇員姓名,部門,出生日期,工資)asselect employees.empid, , departments.depname, employees.birthdate, employees.salaryfrom departments inner

41、joinemployees on departments.depid = employees.departmentgo 查看視圖信息exec sp_helptext empinfogo圖 a.25 選擇添加表的菜單命令28圖 a.26 “添加表”對話框(3)使用 insert 語句完成下列操作通過視圖向雇員數(shù)據(jù)表中添加一條記錄,要求姓名為“張明” ,工資為“2000” 。語句如下:use my_dbgoinsert into empinfo(雇員姓名,工資)values(張明, 2000)go(4)使用 update 語句完成下列操作通過視圖將插入記錄的雇員工資改為 2100。語句如下:use

42、 mydbgoupdate empinfoset 工資 = 2100where 雇員姓名= 張明go(5)執(zhí)行系統(tǒng)存儲過程 sp_rename 將視圖改名為“雇員信息”語句如下:use mydbgoexec sp_rename empinfo, 雇員信息29圖 a.27 預覽視圖返回的結果集圖 a.28 視圖保存對話框練習練習10 創(chuàng)建索引創(chuàng)建索引1題目題目分別使用 sql server 2000 企業(yè)管理器 transactsql 語句,在數(shù)據(jù)庫 mydb 中基于表employees 和 department 按下列要求創(chuàng)建索引。為表 employees 中的 name 創(chuàng)建索引,要求索引名

43、為 idx_name,索引類型為非聚集索引。1為表 departments 中的 depid 創(chuàng)建索引,要求索引名為 idx_depid,索引類型為非聚集索引。22操作過程操作過程用企業(yè)管理器完成創(chuàng)建索引30創(chuàng)建 idx_name 索引文件的操作如下: 在 sql server 2000 企業(yè)管理器中,展開服務按鈕,然后展開服務器實例。 展開“數(shù)據(jù)庫”文件夾,再展開要在其中創(chuàng)建索引的數(shù)據(jù)庫 mydb。 單擊“表”目錄右擊目標表 employees,然后執(zhí)行“所有任務”/“管理索引”命令,單擊“新建”按鈕,此時出現(xiàn)如圖 a.29 所示的“新建索引”對話框。 選擇 name 列,在索引文件名中輸入

44、“idx_name” ,單擊“確定”按鈕,關閉“新建索引”對話框,返回“管理索引”對話框,單擊“關閉”按鈕,結束索引建立過程。創(chuàng)建 idx_depid 索引文件的操作,與上述方法相同。用 tsql 語句創(chuàng)建索引操作 為表 employees 中的 name 創(chuàng)建索引,要求索引名為 idx_name,索引類型為非聚集索引。語句如下:use mydbgocreate index idx_name on employees(name)go 為表 departments 中的 depid 創(chuàng)建索引,要求索引名為 idx_depid,索引類型為非聚集索引。語句如下:use mydbgocreate in

45、dex idx_depid on departments (depid)go圖 a.29 “新建索引”對話框31練習練習11 創(chuàng)建存儲過程創(chuàng)建存儲過程1、題目題目分別使用 sol server 2000 企業(yè)管理器的向導和 transact-sol 語句,按下列要求創(chuàng)建、修改和刪除存儲過程。2、操作過程操作過程用存儲過程向導在數(shù)據(jù)庫 my_db 中為表 department 創(chuàng)建一個插入存儲過程1insert_department。企業(yè)管理器中,選擇工具菜單中的向導選項,在彈出的對話框窗口中,雙擊“數(shù)據(jù)庫” ,選擇“創(chuàng)建存儲過程向導” ,則出現(xiàn)歡迎使用創(chuàng)建存儲過程向導對話框,如圖 a.30 所

46、示。單擊圖 a.30 中的“下一步”按鈕,在如圖 a.31 所示中,選擇希望存儲過程保存的數(shù)據(jù)庫。在下拉列表中選擇 my_db 數(shù)據(jù)庫,單擊“下一步”按鈕,顯示出當前數(shù)據(jù)庫中的所有表,如圖 a.32 所示。在圖 a.32 中選擇 departments 表創(chuàng)建一個插入的存儲過程,然后單擊“下一步”按鈕,出現(xiàn)如圖 a.33 所示的對話框,單擊“完成”按鈕,表示一個插入存儲過程創(chuàng)建完畢。如果需要對某個存儲過程進行設置,可以在該對話框內選定該存儲過程,然后單擊“編輯”按鈕,彈出“編輯存儲過程屬性”對話框,在該對話框內可完成對該存儲過程的設置,如圖 a.34 所示。圖 a.30 創(chuàng)建存儲過程向導對話框

47、逐步完成對每一個存儲過程的設置以后,返回到對話框“正在完成存儲過程向導”單擊“完成”按鈕,至此成功完成了一個存儲過程的創(chuàng)建。用 transact-sql 語句在數(shù)據(jù)庫 my_db 中創(chuàng)建存儲過程 salary_dept,要求返回指定部門所2有雇員的工資總和,其中指定部門的名稱以存儲過程度輸入?yún)?shù)進行傳遞。步驟如下:.打開查詢分析器。32.在查詢窗口中書寫如下命令:use my_db gocreate procedure salary_dept dept tinyint, total money outputasselect total = sum(salary)from employeeswh

48、ere department = depprint 該部門的工資總和convert(varchar, total)go圖 a.31 選擇保存存儲過程的數(shù)據(jù)庫圖 a.32 “選擇存儲過程”對話框.執(zhí)行這個存儲過程,語句如下:33use mydbgodeclare total floatexecute salary_dept 1,total output執(zhí)行系統(tǒng)存儲過程 sp_help 查看 salary_dept 存儲過程度一般信息。語句如下:3execute sp_help salary_dept用 alter procedure 語句將存儲過程 salary_dept 加密。4with en

49、cryption用 drop procedure 語句刪除 salary_dept 存儲過程。5圖 a.33 “正在完成創(chuàng)建存儲過程向導”對話框圖 a.34 編輯存儲過程屬性34練習練習12 創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器1. 題目題目使用 transact-sql 語句,按下列要求對數(shù)據(jù)庫 my_db 的表 employees 創(chuàng)建,刪除觸發(fā)器。2. 操作過程操作過程步驟如下:打開查詢分析器1在查詢窗口中書寫 create trigger 語句,基于表 employees 創(chuàng)建 after insert2觸發(fā)器 newemp,將插入員工的高能工資額限制在 1000 以內。語句如下:use my_dbg

50、ocreate trigger newemp on employees after insert as if(select salary from inserted)1000 beginprint 新員工工資不能超過 1000 rollbackendgo在查詢窗口書寫 create trigger 語句,基于表 employees 創(chuàng)建 after update 觸3發(fā)器 changemp,將員工的工資變動額限制在 1500 以內。語句如下:use my_dbgocreate trigger changemp on employees after update as if (update sa

51、lary) begin if (select max (abs(inserted.salary-deleted.salary) from inserted join deletedon inserted.empid=deleted.empid)1500 begin print 員工工資變動不能超過 1500 rollback end35 endgo 使用 drop trigger 語句刪除用戶創(chuàng)建的觸發(fā)器。4練習練習13 用用visual basic開發(fā)數(shù)據(jù)庫應用程序開發(fā)數(shù)據(jù)庫應用程序1 題目題目在 visual basic 中創(chuàng)建一個工程,此工程的主要功能是以列表形式顯示數(shù)據(jù)庫book_ma

52、nage 中表 tb_authorinfo 的數(shù)據(jù),并在一個新的窗口中對指定作者的記錄進行添加、修改和刪除。工程包含兩個窗體;一個是使用 datagrid 控件顯示數(shù)據(jù)的 frim_emplist 窗體,這也是工程的主窗體;另一個是 frim_empedit 窗體,它用來顯示和編輯指定作者的信息,并將編輯號的信息插入到表中,或更新指定的記錄。程序運行的界面如圖 a.35 所示。圖 a.35 工程 dbproj 的程序界面2 操作過程操作過程(1)數(shù)據(jù)庫準備在此工程中使用的數(shù)據(jù)庫是 book_manage,操作對象為表 tb_authorinfo。(2)創(chuàng)建并保存工程在創(chuàng)建工程之前,首先應該創(chuàng)建

53、數(shù)據(jù)源。然后按照以下步驟創(chuàng)建并保存工程。 創(chuàng)建新工程 運行 visual basic 6.0 主程序,并選擇新建“標準 exe”工程。1 1 將 ado 數(shù)據(jù)控件添加到工程中 如果 ado 數(shù)據(jù)控件沒出現(xiàn)在工具箱,請將其添加到2 2工程中,選擇“工程”菜單中的“部件”命令,打開“部件”屬性對話框。在控件列表中,查找選擇 microsoft ado data controls 6.0(oledb)。如果在列表中沒有此選項,請下載并安裝visual basic 6.0 的升級補丁。將 datagrid 控件添加到工程中 如果 datagrid 控件沒出現(xiàn)在工具箱,請將其添加到工3 3程中,執(zhí)行“工

54、程”|“部件”命令,打開“部件”對話框。在控件列表中,查找選擇microsoft ado datagrid controls 6.0(oledb)。如果在列表中沒有此選項,請下載并安裝visual basic 6.0 的升級補丁。36 設置工程屬性 執(zhí)行“工程”|“工程 1 屬性”命令,打開“工程屬性”對話框。將工4 4程名設置為 dbproj,然后單擊確定按扭。 保存工程 單擊工具欄中的“保存”圖表,將窗體 form1 保存為 frm_enplist.frm,將5 5工程保存為 dbproj.vbp。(3)添加類模塊創(chuàng)建一個類模塊 author。它的作用是將所有針對表 tb_authorin

55、fo 的數(shù)據(jù)庫操作封裝在此類中。類 author 的內容如下:public emp_ id as stringpublic emp_ name as stringpublic sex as stringpublic age as integerpublic wage as string初始化成員變量public sub init()emp_id=emp_name=sex =age = 0wage =end sub刪除數(shù)據(jù)函數(shù)功能是從表 tb_authorinfo 中刪除指定的記錄public sub delete(byval tmpempid as string)dim sqlstmt as

56、string 存放 sql 語句的字符串連接數(shù)據(jù)庫db_connect執(zhí)行 sql 語句sqlstmt=delete from tb_authorinfo where authorid=+trim(tmpempid)+ odbcext(sqlstmt) 釋放語句句柄rc = sqlfreestmt(hstmt, sql_drop) 斷開連接db_disconnectend sub 添加記錄函數(shù)的功能是向表 tb_authorinfo 中插入記錄public sub insert()dim sqlstmt as string 存放 sql 語句的字符串連接數(shù)據(jù)庫db_connect執(zhí)行 sql

57、語句 sqlstmt=insert tb_authorinfo(authorid, authorname, sex, age, authaddress)_37values(+trim(emp_id)+ + , trim(emp_name)+ +, _+ +trim(sex)+ +, +trime(str(age)+ , +trim(wage)_+ +) odbcext(sqlstmt)釋放語句句柄rcsqlfreestmt(hstmt, sql_drop)斷開連接db_disconnectend sub修改函數(shù)的功能是修改表 tb_authorinfo 中指定的記錄public sub upd

58、ate(byval oriempid as string)dim sqlstmt as string 存放 sql 語句的字符串連接數(shù)據(jù)庫db_connect執(zhí)行 sql 語句sqlstmt=update tb_authorinfo set authorid=+trim(emp_id)+ _+.authorname=+trim(emp_name)+ +, sex=_+trim(sex)+ +, age=+trim(str(age)+ , authaddress=+trim(wage)_+ +where authorid=+trim(oriempid)+ odbcext(sqlstmt)釋放語句

59、句柄rcsqlfreestmt(hstmt, sql_drop)斷開連接db_disconnectend sub在應用程序目錄下創(chuàng)建類目錄,然后單擊“保存”按鈕,將類模塊保存為 author.cls。類author.cls 創(chuàng)建完成后,就可以通過調用他對表 tb_authorinfo 進行操作了。在對表 tb_authorinfo進行操作時,無需考慮 sql 語句的使用,因為 author 類中已經(jīng)完成了一切。(4)添加模塊根據(jù) visual basic 功能模塊的劃分原則,將分別創(chuàng)建以下幾個模塊: const 用來管理工程中的常量,內容如下:1 數(shù)據(jù)庫訪問常量public const sql

60、_c_char as long=1public const sql_column_label as long=18public const sql_drop as long=1public const sql_drror as long=-1public const sql_no_data_found as long=100public const sql_success as long=0public const sql_success_with_info as long=1public const sql_attr_max_length as long=100版本號38public const vernum as string =版本 1.0.01 生成日期public const gendate as string= 日期

溫馨提示

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

最新文檔

評論

0/150

提交評論