福建農(nóng)林大學(xué)數(shù)據(jù)庫實驗報告
《福建農(nóng)林大學(xué)數(shù)據(jù)庫實驗報告》由會員分享,可在線閱讀,更多相關(guān)《福建農(nóng)林大學(xué)數(shù)據(jù)庫實驗報告(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、福建農(nóng)林大學(xué)計算機與信息學(xué)院 實驗報告 課程名稱: 數(shù)據(jù)庫原理及應(yīng)用 姓 名: 系: 專 業(yè): 計算機科學(xué)與技術(shù) 年 級: 學(xué) 號: 指導(dǎo)教師: 李金銘 職 稱: 副教授 2015年 月 日 實驗?zāi)夸洠? 實驗編號 實驗名稱 成績 1 數(shù)據(jù)庫的定義實驗 2 數(shù)據(jù)庫的建立與維護實驗 3 數(shù)據(jù)庫的查詢實驗 4 數(shù)據(jù)庫的視圖操作實驗 5 觸發(fā)器、存儲過程操作實驗 總評
2、福建農(nóng)林大學(xué)計算機與信息學(xué)院實驗報告 實驗名稱:數(shù)據(jù)庫的定義實驗 一、實驗?zāi)康暮鸵? (1)要求學(xué)生熟練掌握和使用 SQL、Transact-SQL、SQL Server企業(yè)管理器創(chuàng)建數(shù)據(jù)庫、表、索引和修改表結(jié)構(gòu)。 (2)學(xué)會使用SQL Server 查詢分析器接收Transact-SQL語句和進行結(jié)果分析。 二、實驗內(nèi)容和原理 1. 基本操作實驗 (1)使用企業(yè)管理器按教材中的內(nèi)容建立圖書—讀者數(shù)據(jù)庫。 (2)在企業(yè)管理器中查看圖書讀者數(shù)據(jù)庫的屬性,并進行修改,使之符合要求。 (3)通過企業(yè)管理器,在建好的圖書借閱數(shù)據(jù)庫中建立圖書、讀者和借
3、閱3個表,其結(jié)構(gòu)為; 圖書(書號,類別,出版社,作者,書名,定價); 讀者(編號,姓名,單位,性別,電話); 借閱(書號,讀者編號,借閱日期) 要求為屬性選擇合適的數(shù)據(jù)類型,定義每個表的主碼,是否允許空值和默認值等列級數(shù)據(jù)約束。 (4)在企業(yè)管理器中建立圖書、讀者和借閱3個表的表級約束:每個表的主碼約束;借閱表與圖書表間、借閱表與讀者表之間的外碼約束,要求按語義先確定外碼約束表達式,再通過操作予以實現(xiàn);實現(xiàn)借閱表的書號和讀者編號的惟一性約束:實現(xiàn)讀者性別只能是“男”或“女”的Check(檢查)約束。 三、實驗環(huán)境 硬
4、件:計算機 軟件:Windows 2000和SQL Server 2000 四、算法描述及實驗步驟 l.通過企業(yè)管理器,建立圖書借閱數(shù)據(jù)庫 在數(shù)據(jù)庫圖標上右擊,選擇“新建數(shù)據(jù)庫”,輸入“圖書_讀者”,單擊“確定”按鈕,關(guān)閉對話框。在企業(yè)管理器窗口中出現(xiàn)“圖書-讀者”數(shù)據(jù)庫標志,這表明建庫工作已經(jīng)完成。 2.在建好的圖書借閱數(shù)據(jù)庫中建立圖書、讀者和借閱3個表 (1)建立“圖書”表。 選中圖書_讀者數(shù)據(jù)庫中的表文件夾,單由鼠標右鍵,在彈出的菜單中選擇“新建表”,如圖2所示。 (2)輸入結(jié)構(gòu) 書號: char 長度 10,不允許空值。并設(shè)置為主鍵。 類別: char 長度 1
5、2,允許空值。 出版社:varchar 長度 50,不允許空值。 作者:varchar 長度 50,允許空值。 名稱:varchar 長度 50,不允許空值。 定價:char 長度 10,允許空值。 建立表格如圖3所示。 (3)建立“讀者”表和“借閱”表。 與建立“圖書”表的形式一致,如表2。 (4) 輸入結(jié)構(gòu) 讀者(編號,姓名,單位,性別,電話) 借閱(書號,讀者編號,借閱日期) “讀者”表: 編號:char 長度 20,不允許空值。并設(shè)置為主鍵。 姓名:varchar 長度 50,不允許空值。 單位:varchar 長度 50,不允許空值。 性別:char
6、長度 10,不允許空值。 電話:varchar 長度 50,不允許空值。 “借閱”表: 書號:char 長度 10,不允許空值。 讀者編號:char 長度 20,不允許空值。 借閱日期:datetime,不允許空值。 將“書號”與“讀者編號”設(shè)置為主鍵。 3. 指出圖書讀者數(shù)據(jù)庫各表的主碼、外碼和數(shù)據(jù)約束 在表“圖書”中把書號作為主鍵,步驟如下: 右擊‘書號’,點擊‘設(shè)置主鍵’,在圖書中把‘讀者編號’設(shè)置成主鍵,在借閱表中建立與圖書,和讀者的關(guān)系 在表“讀者”中對‘性別’進行check結(jié)束 表“讀者”和表“借閱”的設(shè)置主鍵和表“圖書”一樣 表“圖書”的主碼是書號,外碼也
7、是書號,數(shù)據(jù)約束是主碼不能為空 表“讀者”的主碼是編號,外碼也是編號,數(shù)據(jù)約束是性別只能為男或女 表“借閱”的主碼是書號,外碼是讀者編號,數(shù)據(jù)約束是主碼和外碼不能為空 五、調(diào)試過程 Check約束語句錯誤,經(jīng)調(diào)試成功 六、實驗結(jié)果: 圖1 在數(shù)據(jù)庫彈出菜單中選擇“新建數(shù)據(jù)庫” 圖2建立表格 圖3輸入表結(jié)構(gòu) 七、實驗總結(jié) 通過此次實驗,我掌握了建立一個數(shù)據(jù)庫的方法,以及建立表和表之間的關(guān)系,對表中 的屬性進行約束,書上的畢竟只是理論,掌握理論不一定會實踐,實踐會了才是真的會。 福建農(nóng)林大學(xué)計算機與信息學(xué)院實驗報告 實驗名稱:數(shù)據(jù)庫的
8、建立與維護實驗 一、實驗?zāi)康暮鸵? 熟練掌握使用 SQL、Transact-SQL和SQL Server企業(yè)管理器向數(shù)據(jù)庫輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的操作。 二、實驗內(nèi)容和原理 1. 基本操作實驗 (1)通過企業(yè)管理器,在圖書-讀者數(shù)據(jù)庫的圖書、讀者和借閱3個表中各輸入5條記錄。要求記錄不僅滿足數(shù)據(jù)約束要求,還要有表間關(guān)聯(lián)的記錄。 (2)通過企業(yè)管理器實現(xiàn)對圖書-讀者數(shù)據(jù)庫的圖書、讀者和借閱3個表中數(shù)據(jù)的插入、刪除和修改操作。 2. 提高操作實驗 (1)通過查詢分析器用SQL命令實現(xiàn)對學(xué)生-課程庫的數(shù)據(jù)增加、數(shù)據(jù)刪除和數(shù)據(jù)修改操作,要
9、求學(xué)生、課程和選課表中各有5條以上的記錄。 (2)通過查詢分析器用SQL命令實現(xiàn)在讀者表中增加“借書冊數(shù)’字段,統(tǒng)計借書者在2005年~2007年間所借書的冊數(shù),并將結(jié)果送入讀者表中的借書冊數(shù)字段的操作。 (3)通過查詢分析器用SQL命令為學(xué)生-課程庫中的“課程”表添加“學(xué)時(短整型)”屬性,并設(shè)置它的約束條件為大于0且小于等于150。 三、實驗環(huán)境 硬件:計算機 軟件:Windows 2000和SQL Server 2000 四、實驗步驟及其結(jié)果 1. 以一條記錄為例,寫出用SQL表示的向圖書表中插入、修改和刪除數(shù)據(jù)的語句 (1)通過企業(yè)管理器,在圖書借閱數(shù)據(jù)庫的圖書、讀者
10、和借閱3個表中各輸入10條記錄。 (2)通過企業(yè)管理器實現(xiàn)對圖書借閱數(shù)據(jù)庫的圖書、讀者和借閱3個表中數(shù)據(jù)的插入。刪除和修改操作。 刪除:選擇要刪除的數(shù)據(jù),右擊選擇‘刪除’ 插入:在最后一行‘NULL’中可以填寫要插入的信息。 修改:選擇要修改的數(shù)據(jù)直接修改。 (3)向自設(shè)計的數(shù)據(jù)庫應(yīng)用系統(tǒng)的庫中的各表,輸入多條實際數(shù)據(jù),并實現(xiàn)數(shù)據(jù)的增、刪、改操作。 五、調(diào)試過程 增加操作: 修改操作: Course表: 原表: 修改后: Student表: 原表: 修改后: SC表: 原表: 修改后: 刪除操作
11、: Course表: 原表: 刪除后: Student表: 原表: 刪除后: SC表: 原表: 刪除后: 六、實驗結(jié)果 2.實現(xiàn)在讀者表中增加“借書冊數(shù)’字段,統(tǒng)計借書者在1998年~1999年間所借書的冊數(shù),并將結(jié)果送入讀者表中的借書冊數(shù)字段的操作。 結(jié)果: 七、實驗總結(jié) 通過本次實驗,我了解了SQL語言對表格進行查詢、行插入、刪除和修改的編程。這次實驗讓我了解了更多關(guān)于數(shù)據(jù)庫實際使用方法,也讓我對數(shù)據(jù)庫的了解更深入。 福建農(nóng)林大學(xué)計算機與信息學(xué)院實驗報告 實驗名稱:數(shù)據(jù)庫的查詢實驗 一、實驗
12、目的和要求 (1)掌握SQL Server查詢分析器的使用方法,加深對SQL和Transact-SQL語言的查詢語句的理解。 (2)熟練掌握簡單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連接查詢的操作方法。 (3)熟練掌握數(shù)據(jù)查詢中的分組、統(tǒng)計、計算和組合的操作方法。 二、實驗內(nèi)容和原理 1. 基本操作實驗 用Transact-SQL語句表示下列操作.在學(xué)生-課程庫中實現(xiàn)其數(shù)據(jù)查詢操作: (1)求數(shù)學(xué)系學(xué)生的學(xué)號和姓名。 (2)求選修了高等數(shù)學(xué)的學(xué)生學(xué)號、姓名和成績。 (3)求選修C1課程的學(xué)生學(xué)號和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號升序排列。 (4)獲選
13、修課程C1且成績在80~90分之間的學(xué)生學(xué)號、姓名及成績,并將成績乘以系數(shù)0.8輸出。 (5)求數(shù)學(xué)系或計算機系姓張的學(xué)生的信息。 (6)求缺少了成績的學(xué)生的學(xué)號和課程號。 (7)求C1課程的成績高于張三的學(xué)生學(xué)號和成績。 (8)求其他系中比計算機系學(xué)生年齡都小的學(xué)生。 (9)查詢選修了全部課程的學(xué)生的姓名。 (10)求至少選修了學(xué)生“張三”所選修的全部課程的學(xué)生學(xué)號和姓名。 (11)查詢每一門課的間接先行課(即先行課的先行課)。 在圖書-圖書庫中實現(xiàn)其查詢操作。 (1)查找這樣的圖書類別:要求類別中最高的圖書定價不低于全部按類別分組的圖書平均定價的2倍。
14、 (2)求機械工業(yè)出版社出版的各類圖書的平均定價,用GROUP BY表示。 (3)列出計算機類圖書的書號、名稱及價格,最后求出冊數(shù)和總價格。 (4)列出計算機類圖書的書號、名稱及價格,并求出各出版社這類書的總價格,最后求出全部冊數(shù)和總價格。 (5)查詢計算機類和機械工業(yè)出版社出版的圖書。 (6)在圖書-借閱庫中實現(xiàn)其查詢操作:將計算機類的書存入永久的計算機圖書表中,將借書日期在1999年以前的借閱記錄存入臨時的超期借閱表。 用Transact-SQL語句表示,并在學(xué)生選課庫中實現(xiàn)下列數(shù)據(jù)連接查詢操作: 2. 提高操作實驗 (
15、1)按表1的格式,建立職工部門庫和職工表、部門,并向表中輸入數(shù)據(jù)。 表1 職工和部門表數(shù)據(jù) 職工表 部門表 職工號 姓名 性別 年齡 部門 1010 李勇 男 20 11 1011 劉晨 女 19 1012 王敏 女 22 12 1013 張立 男 21 13 部門號 部門名稱 電話 11 生產(chǎn)科 566 12 計劃科 578 13 一車間 467 14 科研所 (2)用Transact-SQ
16、L語句表示職工和部門之間的內(nèi)連接、左外部連接和右外部連接,在職工部門庫中實現(xiàn)其數(shù)據(jù)內(nèi)連接和各種外查詢操作。 三、實驗環(huán)境 硬件:計算機 軟件:Windows 2000和SQL Server 2000 四、實驗步驟及其結(jié)果: 1. 基本操作實驗 (1)簡單查詢實驗 (l)用Transact-SQL語句表示下列操作.在學(xué)生選課庫中實現(xiàn)其數(shù)據(jù)查詢操作: 求數(shù)學(xué)系學(xué)生的學(xué)號和姓名。 select Sno,Sname from Student where Sdept=MA; 求選修了課程的學(xué)生學(xué)號。 select distinct Sno from SC
17、; 求選修C1課程的學(xué)生學(xué)號和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號升序排列。 select Sno,Grade from SC where Cno=1 order by Grade desc,Sno asc; 獲選修課程C1且成績在80~90分之間的學(xué)生學(xué)號和成績,并將成績乘以系數(shù)0.8輸出。 select Sno,0.8*Grade from SC where Cno=1 and Grade between 80 and 90 ; 求數(shù)學(xué)系或計算機系姓張的學(xué)生的信息。 select Student.Sno,Sname,Ssex,Sage,Sdep
18、t,Cno,Grade from Student,SC where Student.Sno=SC.Sno and Sname like 張% and(Sdept=MA or Sdept=CS); 求缺少了成績的學(xué)生的學(xué)號和課程號。 select Sno,Cno from SC where Grade=0; 2)在圖書借閱庫中實現(xiàn)其查詢操作:將計算機類的書存入永久的計算機圖書表中,將借書日期在1999年以前的借閱記錄存入臨時的超期借閱表。 select * into 計算機圖書 from 圖書 where 類別=計算機; select * into #超期借閱 fr
19、om 借閱 where 借閱日期< 1999.01.01; (2)連接查詢實驗 用Transact-SQL語句表示,并在學(xué)生選課庫中實現(xiàn)下列數(shù)據(jù)連接查詢操作: 查詢每個學(xué)生的情況以及他(她)所選修的課程。 select Student.Sno,Sname,Ssex,Sage,Sdept,Cno from Student,SC where Student.Sno=SC.Sno; 求學(xué)生的學(xué)號、姓名、選修的課程名及成績。 select Student.Sno,Sname,Cname,Grade from Student,SC,Course where Stud
20、ent.Sno=SC.Sno and Course.Cno=SC.cno; 求選修C1課程且成績?yōu)?0分以上的學(xué)生學(xué)號、姓名及成績。 select Student.Sno,Sname,Grade from Student,SC where Student.Sno=SC.Sno and Cno=1 and Grade>90 ; 查詢每一門課的間接先行課(即先行課的先行課)。 select first.Cno,second.Cpno from Course first,Course second where first.Cpno=second.Cno; 2. 提高操作實驗
21、 (1)按表1的格式,建立職工部門庫和職工表、部門,并向表中輸入數(shù)據(jù)。 表1 職工和部門表數(shù)據(jù) 職工表 部門表 職工號 姓名 性別 年齡 部門 1010 李勇 男 20 11 1011 劉晨 女 19 1012 王敏 女 22 12 1013 張立 男 21 13 部門號 部門名稱 電話 11 生產(chǎn)科 566 12 計劃科 578 13 一車間 467 14 科研所
22、(2)Transact-SQL語句表示職工和部門之間的內(nèi)連接、左外部連接和右外部連接,在職工部門庫中實現(xiàn)其數(shù)據(jù)內(nèi)連接和各種外查詢操作。 部門號 部門名稱 電話 11 生產(chǎn)科 566 12 計劃科 578 13 一車間 467 14 科研所 (1) create table 職工 (職工號 char(4) primary key, 姓名 varchar(max), 性別 char(2), 年齡 smallint, 部門 varchar(max)); create table 部門 (部門號 char(4) primar
23、y key, 部門名稱 varchar(max), 電話 varchar(max)); (2)外連接: 左連接: \ 右連接: use 職工部門 select * from 職工 right join 部門 on 職工.職工號=部門.部門號; 五、調(diào)試過程 use 職工部門 select * from 職工 right join 部門 on 職工.職工號=部門.部門號; 沒有加;號出錯,改過成功 六、實驗結(jié)果 七、實驗總結(jié) 本次實驗,通過用SQL語言對表進行查詢操作,讓我更加熟練地掌握SQL的編程方法,了解到了平
24、時我們在文件查找數(shù)據(jù)與通過數(shù)據(jù)庫的查詢語句進行查詢的不同,讓我更加認同了數(shù)據(jù)庫這類軟件。 福建農(nóng)林大學(xué)計算機與信息學(xué)院實驗報告 實驗名稱:數(shù)據(jù)庫的視圖操作實驗 一、實驗?zāi)康暮鸵? (1)掌握 SQL Server中的視圖創(chuàng)建向?qū)Ш蛨D表創(chuàng)建向?qū)У氖褂梅椒ǎ? (2)加深對視圖和SQL Server圖表作用的理解。 (3)掌握數(shù)據(jù)庫安全性的操作方法。 二、實驗內(nèi)容和原理 1. 基本操作實驗 (1)在SQL Server企業(yè)管理器中調(diào)出Create View Wizard(創(chuàng)建圖表向?qū)В?,按下列Transact-SQL描述的視圖定義,創(chuàng)建借閱_計算機圖書視圖。
25、 CREATE VIEW 借閱_計算機圖書 AS SELECT 圖書.*,借閱.* FROM 圖書,借閱 WHERE圖書.編號=借閱.書號AND圖書.類別=‘計算機’ (2)在SQL server企業(yè)管理器中調(diào)出Create View Wizard(創(chuàng)建圖表向?qū)В?完成在圖書-讀者數(shù)據(jù)庫中建立一個圖書_借閱圖表操作。要求該圖表包括圖書和借閱兩個表,并包括圖書與借閱之間的“圖書.書號=借閱.書號”外碼與被參照表之間的關(guān)聯(lián)。 (3)查看上述實驗結(jié)果。如果結(jié)果有誤,予以糾正。 2. 提高操
26、作實驗 在學(xué)生-課程數(shù)據(jù)庫中用Transact-SQL語句描述下列視圖定義。 (1)從學(xué)生表中建立查詢所有男(女)生信息的視圖STU_SEX。視圖的列名為SNO、SNAME、SSEX和SAGE。 (2)從課程表中建立查詢所有課程先修課信息的視圖課程_PRE。視圖的列名為課程號、課程名稱和先修課名稱。 (3)從選修表中建立查詢成績大于等于80信息的視圖STU_CJ1。視圖的列名為學(xué)號、課程號和成績。 (4)從學(xué)生、選修和課程三個表建立查詢學(xué)生選修情況的視圖STU_CJ2。視圖的列名為姓名、課程名稱和成績。 (5)從學(xué)生、選修和課程三個表建立查詢學(xué)生選修情況并且成績小于80的視圖STU
27、_CJ3。視圖的列名為姓名、課程名稱和成績。 (6)利用Transact-SQL命令修改視圖STU_SEX。把視圖的列名改為學(xué)號、姓名、性別和年齡,把加上“WITH CHECK OPTION”選項。 (7)刪除視圖STU_CJ3。 三、實驗環(huán)境 硬件:計算機 軟件:Windows 2000和SQL Server 2000 四、實驗步驟及其結(jié)果: 1. 基本操作實驗 (1)在SQL Server企業(yè)管理器中調(diào)出Create View Wizard(創(chuàng)建圖表向?qū)В?,按下列Transact-SQL描述的視圖定義,創(chuàng)建借閱_計算機圖書視圖。 CREATE V
28、IEW 借閱_計算機圖書 AS SELECT 圖書.*,借閱.* FROM 圖書,借閱 WHERE圖書.編號=借閱.書號AND圖書.類別=‘計算機’ (2)在SQL server企業(yè)管理器中調(diào)出Create View Wizard(創(chuàng)建圖表向?qū)В?完成在圖書_讀者數(shù)據(jù)庫中建立一個圖書_借閱圖表操作。要求該圖表包括圖書和借閱兩個表,并包括圖書與借閱之間的“圖書.書號=借閱.書號”外碼與被參照表之間的關(guān)聯(lián)。 (3)查看上述實驗結(jié)果。如果結(jié)果有誤,予以糾正。 2. 提高操作實驗 將自設(shè)計的數(shù)據(jù)庫應(yīng)用項目中的子模式,用Transa
29、ct-SQL語句描述其視圖定義并在SQL Server企業(yè)管理器中,用視圖創(chuàng)建向?qū)?chuàng)建這些視圖。 (1)下面用SQL語言創(chuàng)建借閱_計算機圖書視圖: 五、調(diào)試過程 在建立視圖課程_PRE時,命令能夠成功完成,但是查詢結(jié)果中先修課名稱為空,檢查SQL命令語句 ,先修課參照課程號,應(yīng)對COURSE定義別名,修改命令語句后,輸出結(jié)果正確。 六、實驗結(jié)果 七、實驗總結(jié) 通過這次實的創(chuàng)建視圖以及視圖的定義,讓我了解到了視圖表使我們更加容易直觀得到我們想要的信息組合,而又不變動原來的數(shù)據(jù)。通過對視圖的操作,了解到其實視圖并不是那么難,與基本表的操作差不多。只是他們的的屬性不
30、同:視圖是張?zhí)摫?,而基本表是實實在在存在的表。這次實驗學(xué)習(xí)到了視圖的重要性。 福建農(nóng)林大學(xué)計算機與信息學(xué)院實驗報告 實驗名稱:觸發(fā)器、存儲過程操作實驗 一、實驗?zāi)康暮鸵? (1)掌握 SQL Server中的觸發(fā)器的使用方法; (2)掌握存儲過程的操作方法。 二、實驗內(nèi)容和原理 1. 基本操作實驗 在讀者-圖書數(shù)據(jù)庫中用Transact-SQL語句描述下列功能: (1)在讀者表上建立一個DELETE類型的觸發(fā)器lianxi_del,觸發(fā)動作是顯示信息(已刪除讀者表中的數(shù)據(jù)),執(zhí)行下列語句: create trigger lianxi_del on 讀者 for de
31、lete as print ‘已刪除讀者表中的數(shù)據(jù)’ (2)建立一個查詢指定讀者號的閱讀信息的存儲過程List_jy,輸入?yún)?shù)為讀者號,如果沒有輸入讀者號,則要輸出提示信息。建立這個存儲過程的語句如下所示。 create procedure List_jy @p_dzh char(5) = null as if @p_dzh is null begin print ‘請輸入一個讀者號’ return end else select 編號,姓名,書名,借閱時間 from 讀者,借閱,圖書 where 讀者.編號=借閱.讀者編號
32、 and 借閱.書號=圖書.書號 and 讀者.編號=@p_dzh 2. 提高操作實驗 在學(xué)生-課程數(shù)據(jù)庫中用Transact-SQL語句描述下列功能: (1)為學(xué)生表建立一個名TRI_INSERT的INSERT觸發(fā)器。功能是當用戶向?qū)W生表添加數(shù)據(jù)時,同時也把這些數(shù)據(jù)添加到stu表中。其中:學(xué)生表和表stu的結(jié)構(gòu)相同。 (2)為學(xué)生表建立一個名TRI_DELETE的DELETE觸發(fā)器。功能是當用戶從學(xué)生表刪除數(shù)據(jù)時,同時把這些要刪除的數(shù)據(jù)添加到stu表中。其中:表student和表stu的結(jié)構(gòu)相同。 (3)創(chuàng)建一查詢存儲過程,過程名稱為P_CX。參數(shù)是學(xué)號,輸出信息是指定學(xué)號所應(yīng)的
33、姓名、課程名稱、成績。運行時若沒有指定學(xué)號,則提示請輸入學(xué)號;若學(xué)號不存在則提示學(xué)號不存在。 (4)創(chuàng)建一統(tǒng)計存儲過程,過程名稱為P_CJTJ。參數(shù)是學(xué)號,輸出信息是指定學(xué)號的姓名、選課門數(shù)、平均分、總分、最高分、最低分。運行時若沒有指定學(xué)號,則提示輸入學(xué)號;若學(xué)號不存在則提示學(xué)號不存在。 (5)創(chuàng)建一個實現(xiàn)求1—n所有數(shù)之和的存儲過程, 過程名稱為P_SUM。參數(shù)是n,輸出是前n個之和。如:n=100,則輸出5050。 (6)創(chuàng)建一個求指定區(qū)間[a,b]的隨機數(shù)的存儲過程, 過程名稱為P_RAND。參數(shù)據(jù)是a和b(a
34、機 軟件:Windows 2000和SQL Server 2000 四、算法描述及實驗步驟 1、基本操作實驗 (1)在讀者表上建立一個DELETE類型的觸發(fā)器lianxi_del (2)建立一個查詢指定讀者號的閱讀信息的存儲過程List_jy 2. 提高操作實驗 在學(xué)生-課程數(shù)據(jù)庫中用Transact-SQL語句描述下列功能: 1)為學(xué)生表建立一個名TRI_INSERT的INSERT觸發(fā)器。功能是當用戶向?qū)W生表添加數(shù)據(jù)時,同時也把這些數(shù)據(jù)添加到stu表中。其中:學(xué)生表和表stu的結(jié)構(gòu)相同。 CREATE TRIGGER TRI_INSERT ON STUDENT FOR
35、INSERT AS INSERT INTO STU SELECT * FROM INSERTED (2)為學(xué)生表建立一個名TRI_DELETE的DELETE觸發(fā)器。功能是當用戶從學(xué)生表刪除數(shù)據(jù)時,同時把這些要刪除的數(shù)據(jù)添加到stu表中。其中:表student和表stu的結(jié)構(gòu)相同。 CREATE TRIGGER TRI_DELETE ON STUDENT FOR DELETE AS INSERT INTO STU SELECT * FROM DELETED (3)創(chuàng)建一查詢存儲過程,過程名稱為P_CX。參數(shù)是學(xué)號,輸出信息是指定學(xué)號所應(yīng)的姓名、課程名稱、成績。運行時若沒有指
36、定學(xué)號,則提示請輸入學(xué)號;若學(xué)號不存在則提示學(xué)號不存在。 create procedure P_CX @sno char(10) =null as if @sno is null begin print 請輸入一個學(xué)號 return end else if(not exists (select * from student where sno=@sno)) print 學(xué)號不存在 else select sname,o,grade from student,course,sc where student.sno=sc.sno and o=o and student
37、.sno=@sno (4)創(chuàng)建一統(tǒng)計存儲過程,過程名稱為P_CJTJ。參數(shù)是學(xué)號,輸出信息是指定學(xué)號的姓名、選課門數(shù)、平均分、總分、最高分、最低分。運行時若沒有指定學(xué)號,則提示輸入學(xué)號;若學(xué)號不存在則提示學(xué)號不存在。 create procedure P_CIJJ @sno char(10) =null as if @sno is null begin print 請輸入一個學(xué)號 return end else if(not exists (select * from student where sno=@sno)) print 學(xué)號不存在 else select
38、sname,count(cno) 門數(shù),avg(grade) 平均分,sum(grade) 總分,max(grade) 最高分,min(grade) 最低分 from sc,student where student.sno=@sno group by sname (5)創(chuàng)建一個實現(xiàn)求1—n所有數(shù)之和的存儲過程, 過程名稱為P_SUM。參數(shù)是n,輸出是前n個之和。如:n=100,則輸出5050。 create procedure P_SUM @n int, @sum int output as declare @i int set @sum=0 set @i=0 whi
39、le(@i<=@n) begin set @sum=@sum+@i set @i=@i+1 end (6)創(chuàng)建一個求指定區(qū)間[a,b]的隨機數(shù)的存儲過程, 過程名稱為P_RAND。參數(shù)據(jù)是a和b(a
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案