《SQL Server 2000中文版基礎教程(第2版)》以創建一個“教學管理數據庫”為例,循序漸進地講解MicrosoftSQLServer2000管理和使用的基礎知識,以及數據庫定義語句和數據庫查詢語句的語法!禨QL Server 2000中文版基礎教程(第2版)》采用項目式編寫體例,將教學內容分解為10個前后有關聯的項目,每個項目分解為若干簡單的任務,每個任務又包含幾個知識點,并且給出圖文并茂的示例加以說明,充分考慮SQLServer數據庫初學者的實際需要,保證初學者從基礎開始,逐步掌握SQLServer數據庫創建、管理和使用的基礎知識!禨QL Server 2000中文版基礎教程(第2版)》每一個項目的最后都有相應的思考和練習題,幫助讀者檢驗對所學內容的掌握程度。
《SQL Server 2000中文版基礎教程(第2版)》的內容以SQLServer數據庫管理軟件為主,同時也兼顧了數據庫基礎知識的介紹,適合作為中等職業學校的“SQLServer數據庫應用”課程的教材,也可作為SQLServer初學者的學習指導書。
項目一 創建和使用SQL Server實例
任務一 創建“教學管理實例”
(一) 創建命名實例
(二) 在【服務管理器】中啟動實例
(三) 在【服務管理器】中停止實例
任務二 使用“教學管理實例”
(一) 在【企業管理器】中創建“教學管理組”
(二) 注冊“教學管理實例”
(三) 在【查詢分析器】中連接“教學管理實例”
實訓
思考與練習
項目二 創建和管理數據庫
任務一 創建“教學管理數據庫”
(一) 在【數據庫屬性】窗口中創建數據庫
(二) 用create database語句創建數據庫
任務二 修改數據庫
(一) 在【數據庫屬性】對話框中增加文件組和文件
(二) 用alter database語句增加文件組和文件
(三) 在【數據庫屬性】對話框中增加日志文件
(四) 用alter database語句增加日志文件
(五) 用alter database語句修改排序規則
任務三 刪除數據庫
(一) 在【企業管理器】中刪除數據庫
(二) 用drop database語句刪除數據庫
實訓
思考與練習
項目三 創建與管理表
任務一 創建“學生表”
(一) 在【表設計器】中創建表
(二) 用create table語句創建表
任務二 修改表的數據結構
(一) 在【表設計器】中修改表結構
(二) 用alter table語句修改表結構
任務三 向“學生表”插入記錄
(一) 在【表編輯器】中插入記錄
(二) 用insert語句插入記錄
任務四 修改“學生表”的記錄
(一) 在【表編輯器】中修改記錄
(二) 用update語句修改記錄
任務五 刪除“學生表”的記錄
(一) 在【表編輯器】中刪除記錄
(二) 用delete語句刪除記錄
任務六 刪除表
(一) 在【企業管理器】中刪除表
(二) 用drop table語句刪除表
實訓一 用create table語句創建“教師表”
實訓二 用alter table語句修改“教師表”數據類型
實訓三 用alter table語句為“教學授課表”增加列
實訓四 用insert語句為“教師表”添加記錄
實訓五 用update語句為“教師表”修改記錄
實訓六 用delete語句刪除“教師表”中的記錄
項目拓展
思考與練習
項目四 設置主鍵、外鍵和索引
任務一 為“學生表”設置主鍵
(一) 在【表設計器】中設置主鍵
(二) 在表的【屬性】窗口中移除主鍵
(三) 在create table語句中設置主鍵
(四) 在alter table語句中設置主鍵
(五) 在alter table語句中移除主鍵
任務二 定義“學生表”與“專業表”的關系
(一) 在表的【屬性】窗口中定義關系
(二) 在create table語句中定義關系
(三) 在alter table語句中定義關系
(四) 在表的【屬性】窗口中刪除關系
(五) 在alter table語句中刪除關系
任務三 為“學生表”定義索引
(一) 在表的【屬性】窗口中定義索引
(二) 用create index語句定義索引
(三) 用drop index語句刪除索引
實訓一 為“專業表”、“班級表”和“教師表”設置主鍵
實訓二 定義“班級表”與“專業表”的關系
實訓三 將“學生編號”設置為“成績表”的索引
實訓四 將“選修課程編號”設置為“成績表”的索引
項目拓展
思考與練習
項目五 對表查詢實現學籍管理
任務一 簡單查詢
(一) 用select子句查詢指定列
(二) 用表達式計算學生年齡
(三) 用where子句限制查詢結果
(四) 用like實現模糊查詢
(五) 用between…and…設置閉合區間
(六) 使用order by對查詢結果排序
任務二 查詢中的常用處理
(一) 用distinct消除相同行
(二) 用case…when…分類處理
(三) 用convert轉換數據類型
(四) 用substring截取字符串
實訓一 顯示教師工齡
實訓二 對教師按工齡由長到短排列
實訓三 顯示入學時間并按時間長短劃分年級
項目拓展
思考與練習
項目六 用聚合函數統計成績
任務一 統計成績
(一) 用max和min查詢最高成績和最低成績
(二) 用sum計算總成績
(三) 用count計算參與考試的學生總數
(四) 用avg計算平均成績
任務二 分組和篩選統計結果
(一) 用group by對統計結果分組
(二) 用having篩選分組統計結果
任務三 用子查詢作成績對比
(一) 使用any的子查詢
(二) 使用all的子查詢
實訓一 顯示B01班學生的最大和最小年齡
實訓二 用avgsum和count函數計算B01班學生平均年齡
實訓三 用avg函數計算B01班學生平均年齡
實訓四 按班級分組顯示各班平均年齡并按降序順序排序
項目拓展
思考與練習
項目七 創建和使用視圖
任務一 創建視圖
(一) 在【視圖設計器】中創建“住宿管理視圖”
(二) 用create view語句創建“學籍管理視圖”
任務二 使用視圖
(一) 對“住宿管理視圖”查詢
(二) 用“住宿管理視圖”視圖對“學生表”添加記錄
(三) 用“學籍管理視圖”視圖修改“學生表”的記錄
(四) 用“學籍管理視圖”視圖刪除“學生表”的記錄
任務三 刪除視圖
(一) 在【企業管理器】中刪除“住宿管理視圖”
(二) 用drop view語句刪除“學籍管理視圖”
實訓一 在【視圖設計器】中創建“班級平均年齡視圖”
實訓二 用create view語句創建“班級平均年齡視圖”
項目拓展
思考與練習
項目八 多表連接查詢管理教學計劃
任務一 兩個表的內連接查詢
(一) “課程表”和“教師表”的內連接查詢
(二) “課程表”與“教師表”的自然連接
(三) 對“課程表”的自連接
任務二 兩個表的外連接查詢
(一) “教師表”與“課程表”的左連接查詢
(二) “教師表”與“課程表”的右連接查詢
(三) “教師表”與“課程表”的全連接查詢
(四) 用交叉連接生成“學生考勤記錄”
任務三 用子查詢檢查教學計劃
(一) 使用in的子查詢
(二) 使用exist的子查詢
實訓一 顯示各專業的學生信息
實訓二 顯示各班級班主任信息
實訓三 統計學生成績
項目拓展
思考與練習
項目九 備份和還原數據庫
任務一 創建“教學管理數據庫備份設備”
(一) 在【備份設備屬性】窗口中創建備份設備
(二) 用sp_addumpdevice創建備份設備
任務二 備份“教學管理數據庫”
(一) 在【SQL Server備份】窗口中備份數據庫
(二) 用backup database語句備份數據庫
任務三 還原“教學管理數據庫”
(一) 在【還原數據庫】窗口中還原數據庫
(二) 用restore database語句還原數據庫
實訓一 為pubs創建備份設備“PubsBackupDevice”
實訓二 備份pubs到PubsBackupDevice
實訓三 從PubsBackupDevice還原pubs
思考與練習
項目十 導入和導出數據
任務一 導出數據到Excel文件
(一) 用向導導出“課程表”和“教師表”
(二) 用向導導出查詢結果
任務二 導入文本文件和Excel文件
(一) 用向導導入文本文件數據
(二) 用Excel文件追加數據
實訓
思考與練習
附錄A SQL Server的內置函數
附錄B 創建SQL Server的ODBC
視圖和表都是數據庫中的對象,視圖的結構雖然與表相同,但視圖是虛擬表,視圖中的數據不會作為真實的對象存儲在磁盤上,數據庫對視圖存儲的是定義視圖的查詢語句。每一次使用視圖,SQLServer都需要重新執行一次查詢語句,查詢語句的執行結果構成了視圖中的數據。視圖中的列可以來源于一個表或多個表連接查詢的結果。
在應用系統中,視圖不是必須存在的數據庫對象,但它可以為應用系統的開發、維護帶來方便。例如,對于同一個“學生表”,宿舍管理員只關心學生的性別、籍貫和年齡,而沒必要關心學生的職務。但對于學籍管理員來說,更關心學生的班級分配、學生的職務等。在應用系統中可以為不同角色的用戶創建不同的視圖,以滿足不同人員的需求。
因為視圖來源于表,所以在創建視圖時只需要指明視圖名稱和視圖來源。如果視圖中的列直接來源于表的某列,可以直接使用數據源表的列名和數據類型;如果視圖的列來源于表的列表達式,則有必要對表達式定義別名,數據類型就是表達式結果的數據類型。
……