




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機與通信工程學院第 1 頁 共33 頁實驗一 SQLSERVER 2000 的安裝一、學時:學時二、實驗目的了解安裝 SQL SERVER 2000的軟、硬件環境以及安裝過程;三、實驗準備1SQL SERVER 2000安裝盤;2、 計算機四、實驗方法及步驟SQL Server 版本或組件Microsoft Windows NT Server 4 、0、Microsoft Windows NTServer 4.0 企業版、 Windows 2000 Server 、Windows 2000Advanced Server 和 Windows 2000 Data Center Server。注
2、意:SQL Server 2000 的某些功能必須要求在 Microsoft Windows2000 Server(任何版本)上運行。Microsoft Windows NT Server 4.0 、Windows 2000 Server 、Microsoft Windows NT Server企 業 版 、 Windows 2000Advanced Server 和 Windows 2000 Data Center Server。Microsoft Windows Windows Windows NT Workstation4.0Windows 2000 ProfessionalMicros
3、oft Windows NT Server4.0Windows 2000 Server 和所有更高級的Windows 操作系統。Microsoft Windows NT Workstation 4.0、 Windows 2000Professional和所有其它Windows NT和Windows 2000 操作系Microsoft Windows Windows Windows NT Workstation4.0Windows 2000 ProfessionalMicrosoft Windows NT Server4.0Windows 2000 Server 和所有更高級的Windows 操
4、作系統。桌面引擎Microsoft Windows NT 4.0 、Windows 2000 Windows Me 和 Windows 98。僅客戶端工具第 2 頁 共33 頁Microsoft Windows NT 4.0 、Windows 2000 Windows 、Windows 98 和Windows 95。僅連接2. SQL SERVER 2000的安裝(1)將企業版安裝光盤插入光驅后,出現以下提示框。注意:如果您的計算機的操作系統是windows 95以上,則選擇“安裝SQL Server 2000組件”,如果操作系統是windows 95,則需要選擇“安裝SQL Server 2
5、000的先決條件”。由于SQL Server 2000 的某些功能要求在Microsoft Windows 2000 Server以上的版本才能運行。因此安裝Windows Server 2000(建議為Advanced 版本)SQL Server 2000的更多功能,以及享受更好的性能。本安裝將在Windows 2000 Advanced ServerSQL Server 2000企業版的過程。大家清首先安裝Windows 2000 Advanced Server。(2)選擇 安裝 SQL Server 2000 組件,出現下一個頁面。第3 頁 共33 頁(3)選擇 安裝數據庫服務器,出現如
6、下界面:(4)選擇下一步,出現如下界面:第 4 頁 共33 頁(5)選擇本地計算機(默認)選項,選擇下一步,出現如下界面:在 安裝選擇 創建新的 SQL Server實例.。對于初次安裝的用戶,應選用這一安裝模式,不需要使用 高級選項 進行安裝。 高級選項 中的內容均可在安裝完成后進行調整。選擇下一步,出現如下界面:第 5 頁 共33 頁(6)在 用戶信息 窗口,輸入用戶信息,并接受軟件許可證協議。(7)在 安裝定義窗口,選擇 服務器和客戶端工具 選項進行安裝。我們需要將服務器和客戶端同時安裝,這樣在同一臺機器上,我們可以完成相關的所有操作,對于我們學習 SQL Server 很有用處。如果你
7、已經在其它機器上安裝了SQL Server,則可以只安裝客戶端工具,用于對其它機器上SQL Server的存取。第 6 頁 共33 頁(8)在 實例名 窗口,選擇 默認 的實例名稱。這時本 SQL Server 的名稱將和 Windows 2000服務器的名稱相同。例如筆者的 Windows 服務器名稱是 Darkroad ,則 SQL Server 的名字也是Darkroad。SQL Server 2000可以在同一臺服務器上安裝多個實例,也就是你可以重復安裝幾次。這時您就需要選擇不同的實例名稱了。建議將實例名限制在 10 個字符之內。實例名會出現在各種SQL Server Default或
8、 MSSQLServer 以及 SQL Server的保留關鍵字等。第 7 頁 共33 頁(9)在 安裝類型 窗口,選擇 典型 安裝選項,并指定 目的文件夾。程序和數據文件的默認安裝位置都是 C:Program FilesMicrosoft SQL Server。因為C 盤是系統區、D 盤是應用區,因此選擇了 D 盤。(10)在 服務賬號 窗口,請選擇 對每個服務使用統一賬戶. 的選項。在 服務設置 處,選擇使用本地系統賬戶。如果需要 使用域用戶賬戶 的話,請將該用戶添加至Windows Server的本機管理員組中。第 8 頁 共33 頁(11)在 身份驗證模式 窗口,請選擇 混合模式. 選
9、項,并設置管理員sa賬號的密碼。如果您的目的只是為了學習的話,可以將該密碼設置為空,以方便登錄。如果是真正的應用系統,則千萬需要設置和保管好該密碼!如果需要更高的安全性,則可以選擇Windows 身份驗證模式 ,這時就只有 Windows Server的本地用戶和域用戶才能使用 SQL Server了。第 9 頁 共33 頁(12)在 選擇許可模式 窗口,根據您購買的類型和數量輸入(0 每客戶表示同一時間最多允許的連接數,處理器許可證表示該服務器最多能安裝多少個 CPU了 每客戶 并輸入了 100 作為示例。(13)然后就是約 10 分鐘左右的安裝時間,單擊完成系統安裝完畢。第 10 頁 共3
10、3頁附:企業管理器和查詢分析器的介紹企業管理器和查詢分析器是 SQLSERVER 2000 1、企業管理器:(1)按圖所示找到 SQLSERVER 2000 中的企業管理器;(2)用鼠標單擊企業管理器菜單項,進入企業管理器管理界面:所有的 SQL 語句操作都在查詢分析器中運行,對查詢分析器的使用要熟練掌握。(1)按圖所示找到 SQLSERVER 2000 中的查詢分析器;(2)用鼠標單擊查詢分析器菜單項,進入查詢分析器界面:(3)若以 Windows SQL server 身份驗證,可輸入登陸sa是超級用戶;身份驗證通過后,可進入查詢分析器界面如下:第 12 頁 共33頁在查詢分析器界面中,左
11、邊是數據庫構成對象;右邊分上下兩部分:上面部分是查詢分析器的 SQL SQL SQL 語句的執行結果區域,SQL語句的執行結果在此部分顯示。查詢分析器的使用注意以下問題:(a)SQL 語句所作的操作都是基于當前數據庫的,進入界面的默認數據庫是 master數據庫,如不在master 數據上操作,請在界面上部切換到你要操作的數據庫。(b)SQL 語句執行時,用鼠標點擊界面工具條中的綠色箭頭;語句執行完畢后結果顯示在界面右部的下面的區域。(c)SQL 語句的執行是從第 1 句開始執行,為了僅執行部分 SQL 語句,可采用兩重方法:第一是用鼠標選種執行的部分,然后點擊綠色箭頭進行執行;第二是把不執行
12、的 SQL -符號是行注釋,僅注釋1 /* */ 是多行內容注釋,把不執行的語句放在/*與*/之間。(d)SQL 語句可保存在磁盤上。第 13 頁 共33頁實驗二 創建數據庫和創建表一、學時:2學時二、實驗目的熟悉和掌握數據庫的創建和連接方法;熟悉和掌握數據庫表的建立、修改和刪除;加深對表的實體完整性、參照完整性和用戶自定義完整性的理解;三、實驗準備1、熟悉SQL SERVER 工作環境;2、復習有關表的建立、修改和刪除的SQL語言命令四、實驗內容:用SQL語言完成下列操作。1、 創建一個教學數據庫,數據庫的名稱為MIS;2、 創建MIS數據庫中的5個關系模式,要求包含完整性約束的定義。系(系
13、編號,系名稱)教工(教工號,姓名,性別,職稱,工資,系編號)學生(學號,姓名,性別,出生年月,專業,家庭地址,系編號)課程(課程編號,課程名稱,學時,系編號)成績(學號,課程編號,分數)五、 SQL語句的參考腳本:1、 在SQL Server中使用批處理和腳本兩個術語。批處理是一個以“go”結束的SQL 語句集,這些語句是作為一批執行并一起提交的。 “go”是 SQLServer2000批處理的結束標志,不是SQL語句。2、 create database 語句將創建一個數據庫,在使用這個數據庫時,還需要打開這個數據庫,打開語句是use。3、下面這段SQL腳本程序,可以在查詢分析器中打開這個文
14、件,也可以直接將下面這段SQL腳本復制(粘貼)到查詢分析器的編輯窗口。為了簡化中文輸入的煩瑣操作過程,在實驗腳本子目錄下,還有一個全英文的腳本文件。/* 注釋:實驗一中文腳本.sql 創建數據庫 */create database MISgo/* 打開數據庫 */use MIS第14 頁 共33頁/* 創建5個表 */create table 系(系編號 smallint not null ,系名稱 char(12),primary key (系編號)gocreate table 課程(課程編號 char(8) not null,課程名稱 char(16),學時 smallint,系編號 sm
15、allint,primary key (課程編號),foreign key (系編號) references 系(系編號)gocreate table 教工(教工號 smallint,姓名 char(8),性別 char(2),職稱 char(10),工資 numeric(8,2),系編號 smallint,primary key (教工號),foreign key (系編號)references 系(系編號)gocreate table 學生(學號 char(6),姓名 char(8),性別 char(2),出生年月 datetime,系編號 smallint,primary key (學號
16、),foreign key (系編號) references 系(系編號)gocreate table 成績(第15 頁 共33頁學號 char(6) not null,課程編號 char(8) not null,分數 numeric(4,1),primary key (學號 ,課程編號),foreign key (學號) references 學生(學號),foreign key (課程編號) references 課程(課程編號)go六、 實驗過程1、進入查詢分析器,參見進入查詢分析器演示。2、在查詢分析器的命令編輯窗口輸入SQL語句,點擊執行鍵,將執行SQL語句。參見執行SQL語句的演示
17、。3、在調試程序過程中,可以用鼠標選擇某些要執行的SQL語句,再點擊執行鍵,執行選擇的語句。參見執行SQL語句的演示。SQL語句沒有錯誤,但多條語句順序執行時可能出錯。例如,上述5個表創建的順序必須是“先父后子”,而刪除的順序則是“先子后父”。DROP TABLE 成績DROP TABLE 學生DROP TABLE 教工DROP TABLE 課程DROP TABLE 系5、保存調試通過的SQL程序。實驗三 數據插入、更新、與刪除一、學時:學時二、實驗目的熟悉和掌握數據表中數據的插入、修改、刪除操作和命令的使用;加深理解表的定義和數據更新的作用第16 頁 共33頁三、實驗準備1、建立數據庫 st
18、udent、表 S、C、SC 以及索引2、復習對表中數據的插入、修改和刪除的 SQL 語言命令;四、實驗內容:根據教材3.4 的內容,用 SQL 語言完成下列操作。1、已創建的 MIS 數據庫的 5 個表中,插入如下樣本數據。系課程系編號 系名稱課程號 課程名 學時 系編號101102103104數學計算機外語68101103102經濟C104經濟學51 104教工教工號 姓 名 性別職稱系編號101210122032405210423022205葛小平李長江姜立偉張麗麗康立華王偉平女男男女女男教授 3420.00副教授 3190.00副教授 3140.00講師 2243.00教授 3740.
19、00講師 2130.00102104101103102成績學 號 課程編號 分數991022991022992124992124992124994021C101 88C102 67C101 77C102 95C103 45C104 87學 號 姓 名 性別 出生年月 系編號 族別991022 田平平992124 郭黎明994021 何明慧991223 姜明明993012 何漓江992104 康紀平994125 康嘉家女男女男男女男101102104101103102104漢漢回苗漢漢漢08/05/198003/04/198104/12/198212/05/198010/05/197903/04
20、/198107/05/1980第 17 頁 共33頁學生2、 用SQL語言完成下列操作(1)在系表中插入一行數據105,管理(2)向教工表中插入一行數據2001,葛小平,女,教授,3420.00,102(3)向教工表中插入一個教工號、姓名和工資數據是2109,田新民,2650(4)將教工表的姓名和工資拷貝到一個酬金表中。(5)將教工表中職稱為“教授”的工資增加15%。(6)將教工表中職稱不是教授的人,工資增加10%。(7)從教工表中刪除教工號為2001的教工。(8) 刪除酬金表的所有數據。(9) 刪除酬金表。(10)在系表中添加一個電話號碼屬性,屬性類型為CHAR(8)。ALTER TABLE
21、 系 ADD 電話號碼 CHAR(8)(11)修改系表中電話號碼屬性的寬度為CHAR(13)。ALTER TABLE 系 ALTER COLUMN 電話號碼 CHAR(13)(12)刪除系表中電話號碼屬性。ALTER TABLE 系 DROP COLUMN 電話號碼(13)在學生表中刪除何漓江同學的信息,包括他選課的信息。提示:先刪除子表中的選課信息,再刪除主表中的信息。思考:為什么必須這樣做?五、 SQL語句的參考腳本:1、 在5個表中插入數據insert into 系 values(101,數學)insert into 系 values(102,計算機)insert into 系 valu
22、es(103,外語)第18 頁 共33頁insert into 系 values(104,經濟)goinsert into 課程 values(c101,數學,68,101)insert into 課程 values(c102,英語,85,103)insert into 課程 values(c103,計算機,102,102)insert into 課程 values(c104,經濟學,51,104)goinsert into 教工 values(2101,葛小平,女,教授,3420.00,101)insert into 教工 values(2203,李長江,男,副教授,3190.00,102)
23、insert into 教工 values(2405,姜立偉,男,副教授,3140.00,104)insert into 教工 values(2104,張麗麗,女,講師,2243.00,101)insert into 教工 values(2302,康立華,女,教授,3740.00,103)insert into 教工 values(2205,王偉平,男,講師,2130.00,102)goinsert into 學生 values(991022,田平平,女,08/05/1980,101)insert into 學生 values(992124 ,郭黎明,男,03/04/1981,102)inse
24、rt into 學生 values(994021 ,何明慧,女,04/12/1982,104)insert into 學生 values(991223 ,姜明明,男,12/05/1980,101)insert into 學生 values(993012 ,何漓江,男,10/05/1979,103)insert into 學生 values(992104 ,康紀平,女,03/04/1981,102)insert into 學生 values(994125 ,康嘉家,男,07/05/1980,104)insert into 學生 values(991134 ,包立琪,女 ,03/14/1981,1
25、01)insert into 學生 values(994115 ,王海洋,男,04/13/1982,104)insert into 學生 values(991354 ,王立平,女,12/05/1981,101)goinsert into 成績 values(991022,c101,88)insert into 成績 values(991022,c102,67)insert into 成績 values(992124,c101,77)insert into 成績 values(992124,c102,95)insert into 成績 values(992124,c103,45)insert i
26、nto 成績 values(994021,c104,87)insert into 成績 values(994021,c102,78)insert into 成績 values(994021,c103,67)insert into 成績 values(991223,c101,66)第19 頁 共33頁insert into 成績 values(991223,c102,89)insert into 成績 values(993012,c102,93)insert into 成績 values(993012,c103,84)2、 完成實驗操作的SQL語言-(1)在系表中插入一行數據105,管理。ins
27、ert into 系 values (105,管理)-(2)向教工表中插入一行數據2001,葛小平,女,教授,3420.00,102。insert into 教工 values (2001,葛小平,女,教授,3420.00,102)insert into 教工(教工號,姓名,工資) values (2109,田新民,2650)-(4)將教工表的姓名和工資拷貝到一個酬金表中。-創建一個酬金表。create table 酬金 (教工姓名 char(8), 工資 numeric(8,2)-將教工表中姓名和工資兩列數據拷貝到酬金表中。insert into 酬金 (教工姓名,工資)select 姓名,
28、工資from 教工-(5) 將教工表中職稱為“教授”的工資增加15%。update 教工 set 工資=工資*1.15 where 職稱=教授-(6) 將教工表中職稱不是教授的人,工資增加10%。update 教工 set 工資=工資*1.1 where 職稱 NOT LIKE 教授-(7) 從教工表中刪除教工號為2101的教工。delete from 教工 where 教工號 = 2101-(8) 刪除酬金表的所有數據。delete from 酬金-(9) 刪除酬金表。drop table 酬金-(10)在系表中添加一個電話號碼屬性,屬性類型為char(8)。alter table 系 ad
29、d 電話號碼 char(8)-(11)修改系表中電話號碼屬性的寬度為char(13)。alter table 系 alter column 電話號碼 char(13)-(12)刪除系表中電話號碼屬性。alter table 系 drop column 電話號碼-(13) 在學生表中刪除學號為993012 的學生信息,包括他選課的信息。第20 頁 共33頁delete from 成績 where 學號 =993012 delete from 學生 where 學號 = 993012 六、 實驗過程1、進入查詢分析器,參見進入查詢分析器演示。SQL SQL語句。參見執行SQL語句的演示。3、在調試
30、程序過程中,可以用鼠標選擇某些要執行的SQL語句,再點擊執行鍵,執行選擇的語句。參見執行SQL語句的演示。4、 注意:在各個表中插入數據的順序,首先在父表中插入數據,然后在子表中插入數據。另外,由于表的定義中包含完整性約束的定義,所以,當主碼重復,或者外碼不是被參照表的有效值時,系統將拒絕插入的數據。5、保存調試通過的SQL程序。實驗四 數據查詢一、學時:2學時二、實驗目的熟悉和掌握對數據表中數據的查詢操作和 SQL 命令的使用,學會靈活熟練地使用SQL 語句的各種形式;三、實驗準備1、熟悉SQL SERVER 工作環境;2、復習對表中數據查詢的SQL語言命令;四、實驗內容1、簡單查詢操作第2
31、1 頁 共33頁(1)列出所有教授的姓名和工資:SELECT 姓名,工資FROM 教工WHERE 職稱= 教授(2)列出教授的所有信息。SELECT *FROM 教工WHERE 職稱=教授(3)列出教工表中的系編號并消除重復的元組。SELECT DISTINCT 系編號FROM 教工(4)已知學分=學時/17,計算每一門課程的學分數。SELECT 課程名稱,學時/17 AS 學分FROM 課程(5)顯示教授的工資和提高10%的工資額。SELECT 姓名,工資,工資*1.1 AS 工資*1.1FROM教工 WHERE 職稱=教授(6)顯示田平平同學出生100天的日期。SELECT 姓名, 出生年
32、月+100 AS 出生年月+100FROM 學生WHERE 姓名=田平平(7)列出教工表中工資在3000元以上的名單。ELECT 姓名FROM 教工WHERE = 3000(8)列出學生表中1980年1月1日之后出生的學生名單。SELECT 姓名FROM 學生WHERE 出生年月= 1980-1-1(9)列出學生表中在1980年1月1日之后出生的男同學名單。SELECT 姓名FROM 學生WHERE 出生年月= 1980-1-1 AND 性別=男(10)列出教工表中教授或副教授中工資低于3000元的名單。第22 頁 共33頁SELECT 姓名FROM 教工WHERE (職稱=教授 OR 職稱=
33、副教授)AND 工資3000(11)顯示男學生的姓名和所在的系名稱。SELECT 姓名,系名稱FROM 學生,系WHERE 學生.系編號=系.系編號 AND 性別=男或SELECT 姓名,系名稱FROM 學生 R,系 SWHERE R.系編號=S.系編號 AND 性別=男(12)列出教工中比姜立偉工資低的姓名和工資。SELECT R.姓名,R.工資FROM 教工 R, 教工 SWHERE R.工資=1000 AND 工資2第24 頁 共33頁(26)列出成績表中分數在60以上、選課數大于2且平均分超過70的學號、選課數目和平均分。SELECT 學號,COUNT(課程編號 ), AVG (分數)
34、FROM 成績WHERE 分數=60GROUP BY 學號HAVING COUNT(課程編號)2 AND AVG(分數) 70(27)統計“CS”系學生的人數;(28)統計各系學生的人數,結果按升序排列;(29)按系統計各系學生的平均年齡,結果按降序排列;(30)查詢每門課程的課程名;(31)查詢無先修課的課程的課程名和學時數;(32)統計無先修課的課程的學時總數;(33)統計每位學生選修課程的門數、學分及其平均成績;(34)統計選修每門課程的學生人數及各門課程的平均成績;(35)找出平均成績在85分以上的學生,結果按系分組,并按平均成績的升序排列;(36)查詢選修了“1”或“2”號課程的學生
35、學號和姓名;(37)查詢選修了“1”和“2”號課程的學生學號和姓名;(38)查詢選修了課程名為“數據庫系統”且成績在60分以下的學生的學號、姓名和成績;(39)查詢每位學生選修了課程的學生信息(顯示:學號,姓名,課程號,課程名,成績);(40)查詢沒有選修課程的學生的基本信息;(41)查詢選修了3門以上課程的學生學號;(42)查詢選修課程成績至少有一門在80分以上的學生學號;(43)查詢選修課程成績均在80分以上的學生學號;(44)查詢選修課程平均成績在80分以上的學生學號;五、 實驗過程1、進入查詢分析器,參見進入查詢分析器演示。在查詢分析器的命令編輯窗口輸入SQL語句,點擊執行鍵 ,將執行
36、SQL語句。參見執行SQL語句的演示。SQL執行選擇的語句。參見執行SQL語句的演示。第25 頁 共33頁3、 注意:在各個表中插入數據的順序,首先在父表中插入數據,然后在子表重復,或者外碼不是被參照表的有效值時,系統將拒絕插入的數據。4、保存調試通過的SQL程序。實驗5 復雜查詢操作一、學時:2學時二、實驗目的掌握連接和嵌套查詢操作;三、實驗準備1、熟悉SQL SERVER 工作環境;2、復習對表中數據查詢的SQL語言命令;四、實驗內容1、 打開MIS數據庫,用SQL語言完成下列問題。(1)根據學生、課程和成績表,輸出“計算機”課程的成績單,包括姓名和分數。(2)查詢所開課程的選修情況,包括
37、沒有任何學生選修的課程。(3)從學生、課程和成績表中,產生數據庫課程的成績單。2、假設有貸款關系如圖1所示。貸款金額G10020T20078K65743H89765H76890關平之李連玉姜海洋田平平方一華20033.0030092.0030200.6019080.40圖1 貸款關系第26 頁 共33頁(4)創建貸款關系。create table 貸款( 帳號 char(20),姓名 char(8),金額 char(10)insert into 貸款 values(G10020,關平之, 20033.0 )insert into 貸款(帳號,姓名) values(T20078,李連玉 )ins
38、ert into 貸款 values(T65743,姜海洋, 30092.00 )insert into 貸款 values(H89765,田平平, 30200.60)insert into 貸款 values(H76890,方一華, 19080.40)(5)找出貸款表中金額為空值的帳號和姓名。(6)找出貸款表中貸款金額非空的帳號和姓名。3、 假設有導師與研究生2個表,如圖2所示。研究生導師學號 姓名 導師號教工號 姓名 性別99001 李南 T001T001 江海 男99002 劉星 T002T002 代寧 女99003 王海 T002T005 潘濤 男99004 張力 T00199006
39、郭天T008 田立 女圖2導師與研究生表(7) 查詢研究生與其導師的情況。SELECT *FROM 研究生A INNER JOIN教師 B ON A.導師號= B.教工號(也可以寫成等價的SQL語句:SELECT *FROM 研究生A,導師 BWHERE A.導師號= B.教工號)(8)計算導師與研究生關系的笛卡兒乘積。SELECT *FROM 導師 CROSS JOIN 研究生(9)查詢教師指導研究生的情況,包括不指導研究生的教師。第27 頁 共33頁SELECT *FROM 導師 A LEFT OUTER JOIN 研究生 B ON (A.教工號= B.導師)SELECT *FROM 研究
40、生 A FULL OUTER JOIN 導師 B ON (A.導師號=B.教工號)SELECT 姓名,分數FROM 學生 A JOIN 成績 B ON(A.學號=B.學號)JOIN課程 C ON(B.課程編號=C.課程編號)WHERE C.課程名稱=計算機等價的SQL語句:SELECT 姓名,分數FROM 學生 A,成績 B,課程 CWHERE A.學號=B.學號 AND B.課程編號= C.課程號 AND C.課程名=計算機(12)查詢所開課程的選修情況,包括沒有任何學生選修的課程。SELECT 學號, 課程名稱, 分數FROM 成績 A RIGHT OUTER JOIN 課程 B ON (
41、A.課程編號=B.課程編號)(13)從學生、課程和成績表中,產生數據庫課程的成績單。SELECT 姓名,課程名,分數FROM 學生 S,課程 C,成績 GWHERE S.學號=G.學號 AND G.課程編號=C.課程號 AND C.課程名=數據庫或SELECT 姓名,課程名稱,分數FROM 學生 S JOIN 成績 G ON (S.學號=G.學號)JOIN課程 C ON (G.課程編號=C.課程編號)WHERE C.課程名稱=數據庫(14)找出貸款表中金額為空值的帳號和姓名。(15)找出貸款表中貸款金額非空的帳號和姓名。(16) 查詢研究生與其導師的情況。SELECT *FROM 研究生A I
42、NNER JOIN教師 B ON A.導師號= B.教工號也可以寫成等價的SQL語句:SELECT *FROM 研究生A,導師 B第28 頁 共33頁WHERE A.導師號= B.教工號(17)查詢教師指導研究生的情況,包括不指導研究生的教師。SELECT *FROM 導師 A LEFT OUTER JOIN 研究生 B ON (A.教工號= B.導師)SELECT *FROM 研究生 A FULL OUTER JOIN 導師 B ON (A.導師號=B.教工號)(19)查詢所開課程的選修情況,包括沒有任何學生選修的課程。SELECT 學號, 課程名, 分數FROM 成績 A RIGHT OU
43、TER JOIN 課程 B ON (A.課程編號=B.課程編號)(20) 查詢研究生與其導師的情況。SELECT *FROM 研究生A INNER JOIN教師 B ON A.導師號= B.教工號也可以寫成等價的SQL語句:SELECT *FROM 研究生A,導師 BWHERE A.導師號= B.教工號(21)查詢教師指導研究生的情況,包括不指導研究生的教師。SELECT *FROM 導師 A LEFT OUTER JOIN 研究生 B ON (A.教工號= B.導師)五、 實驗過程1、進入查詢分析器,參見進入查詢分析器演示。2、在查詢分析器的命令編輯窗口輸入SQL語句,點擊執行鍵 ,將執行S
44、QL語句。參見執行SQL語句的演示。3、在調試程序過程中,可以用鼠標選擇某些要執行的SQL語句,再點擊執行鍵,執行選擇的語句。參見執行SQL語句的演示。4、 注意:在各個表中插入數據的順序,首先在父表中插入數據,然后在子表中插入數據。另外,由于表的定義中包含完整性約束的定義,所以,當主碼重復,或者外碼不是被參照表的有效值時,系統將拒絕插入的數據。5、保存調試通過的SQL程序。第29 頁 共33頁實驗六 視圖和索引的定義和使用一、學時:2學時二、實驗目的熟悉掌握對數據表中視圖的定義操作和SQL命令的使用;熟悉掌握對數據表中視圖的查詢操作和SQL命令的使用;熟悉掌握對數據表中視圖的更新操作和SQL
45、命令的使用,并注意視圖更新與基本表更新的區別與聯系;靈活熟練的進行視圖的操作,認識視圖的作用;掌握建立與刪除索引;三、實驗準備1、熟悉SQL SERVER 工作環境;2、復習有關視圖操作的SQL語言命令;3、復習有關索引操作的SQL語言命令;四、實驗內容1、 建立視圖(1)建立數學系學生的視圖,并要求進行修改和插入操作時仍需保證該視圖只有數學系的學生,視圖的屬性名為學號,姓名,出生年月,系編號。CREATE VIEW C_StudentASSELECT 學號, 姓名, 出生年月, 系編號FROM 學生WHERE 系編號=數學WITH CHECK OPTION(2) 建立學生的學號、姓名、選修課
46、程名及成績的視圖。本視圖由三個基本表的連接操作導出,其SQL語句如下:CREATE VIEW Student_CRASSELECT 學生.學號, 姓名, 課程名, 分數FROM 學生,分數 , 課程WHERE 學生.學號=成績.學號 AND成績.課程編號=課程.課程編號第30 頁 共33頁(3) 定義一個反映學生出生日期的視圖。CREATE VIEW Student_birth(學號, 姓名, 出生年月)AS SELECT 學號, 姓名, 出生年月FROM 學生2、 刪除視圖(4) 刪除視圖Student_CR。DROP VIEW Student_CR;3、查詢視圖(5)在數學系的學生視圖C_Student中找出女學生姓名和出生年月。SELECT 姓名, 出生年月FROM C_StudentWHERE 性別=女;說明:本例轉換后的查詢語句為:SELECT 姓名, 出生年月FROM 學生WHERE 系編號=數學 AND性別=女(6)在Student_CR視圖中查詢成績在85分以上的學生學號、姓名和課程名稱。SELECT 學號, 姓名, 課程名FROM Student_CRWH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學年范縣三年級數學第一學期期末檢測模擬試題含解析
- 2024年茂名市茂南區三上數學期末調研試題含解析
- 2024年遼寧省營口市鲅魚圈區數學三年級第一學期期末質量跟蹤監視試題含解析
- 2025主管護師考試全真模擬試題及答案
- 執業護士考試各類案例開發及分析試題及答案
- 2025年行政管理語文復習試題及答案判例
- 外部環境對經濟法影響試題及答案
- 2025年執業藥師考試真題解析及答案
- 2025年衛生資格考試探索試題及答案
- 行政法學考試清單試題與答案
- 量子計算與量子信息簡介
- 焙炒咖啡生產許可證審查細則說明
- 河南省駐馬店市重點中學2023-2024學年九年級上學期12月月考語文試題(無答案)
- 中考數學二元一次方程專題訓練100題(含答案)
- 【教師共享】《羽毛球》教學評價及評價建議
- DB13-T 5742-2023醇基燃料使用安全規范
- 尾礦庫安全生產風險監測預警系統運行管理辦法
- 特殊教育:康復訓練課程標準(年版)
- 南京秦淮外國語學校新初一分班英語試卷含答案
- 醫院陪護服務投標方案(技術標 )
- 醫院四風問題自查報告及整改措施
評論
0/150
提交評論