第一篇:SQL數據庫實訓報告
附件:
1、創建觸發器
1、創建觸發器trigger_9_1,實現當修改學生課程表(xskc)中的數據時,顯示提示信息“學生課程表被修改了”。
在學生課程表上建立觸發器,具體操作如下: 在查詢分析器的查詢窗口中,輸入如下T-SQL語句: USE 學生成績庫 GO CREATE TRIGGER trigger_9_1 ON xskc FOR UPDATE AS
PRINT ‘學生課程表被修改了’ GO 執行后,在學生課程表上觸發器trigger_9_1創建成功。
2、創建觸發器trigger_9_3,實現當刪除學生課程表中某門課程的記錄時,對應學生成績表中所有有關此課程的記錄均刪除。
可以在查詢分析器的查詢窗口中輸入如下語句: USE 學生成績庫 GO CREATE TRIGGER trigger_9_3 ON xskc FOR DELETE AS
C程序設計 實訓
DELETE xscj FROM xscj,deleted WHERE xscj.課程號=deleted.課程號 GO
3、創建觸發器trigger_9_4,實現當修改學生課程表(xskc)中的某門課的課程號時,對應學生成績表(xscj)中的課程號也作修改。
當修改學生課程表中記錄時,相當于刪除一條舊記錄并插入一條新記錄,刪除的舊記錄在deleted臨時表中,插入的新記錄在inserted臨時表中。因此,可以通過在查詢分析器的查詢窗口中輸入如下語句創建觸發器:
USE 學生成績庫 GO CREATE TRIGGER trigger_9_4 ON xskc FOR UPDATE AS
IF update(課程號)BEGIN UPDATE xscj
SET 課程號=(SELECT 課程號 FROM inserted)FROM xscj,deleted WHERE xscj.課程號=deleted.課程號 END GO 我們可以通過修改某門課的課程號,來查看觸發器是否被激發執行了。現在通
C程序設計 實訓
過一個語句修改原課程號為“101”的學生課程表中的記錄,將其課程號改為“111:”
UPDATE xskc SET 課程號=’111’ WHERE 課程號=’101’
然后,再查看一下學生成績表中的記錄。可以看到原來的“101”課程的課程號均改成了“111”,但課程名不變,還是“計算機文化基礎”。
2、修改觸發器
如果需要修改觸發器的定義,只需一個操作即可除去并重新創建觸發器,或重新定義已有觸發器。
如果更改觸發器引用的對象名,則必須修改觸發器使其文本反映新的名稱。因此,在重命名對象前,首先顯示該對象的相關性,以確定所建議的更改是否會影響任何觸發器。
也可以重命名觸發器。新名稱必須遵守標識符規則。您只能重命名自己擁有的觸發器,而數據庫所有者可以更改任意用戶的觸發器名稱。需重命名的觸發器必須位于當前數據庫中。
可以使用ALTER TRIGGER語句修改觸發器。
4、如果已通過例9.2創建了觸發器trigger_9_2,現要對它進行修改,要求顯示的提示信息改為“學生課程表中課程號為XXX的記錄被修改了”。
可以在查詢分析器的查詢窗口中使用ALTER TRIGGER語句修改觸發器,語句如下:
USE 學生成績庫
C程序設計 實訓
GO ALTER TRIGGER trigger_9_2 ON xskc FOR UPDATE AS
DECLARE @kch char(3)SELECT @kch=課程號 FROM deleted PRINT ‘學生課程表中課程號為’+@kch+’的記錄被修改了’ GO 觸發器被修改,再執行下述更新語句: UPDATE xskc SET 學分=5 WHERE 課程號='101' 可以在結果窗格中,看到消息:“學生課程表中課程號為101的記錄被修改了”。
3、刪除觸發器
當不再需要某個觸發器時,可將其刪除。當觸發器被刪除時,它所基于的表和數據并不受影響。刪除表將自動刪除其上的所有觸發器。刪除觸發器的權限默認授予在該觸發器所在表的所有者。
可以使用DROP TRIGGER語句刪除觸發器。
5、刪除學生課程表上的觸發器trigger_9_2。
在查詢分析器的查詢窗口中輸入語句: DROP TRIGGER trigger_9_2 執行后,觸發器即被刪除。
C程序設計 實訓
第二篇:SQL Server數據庫實訓總結
SQL Server數據庫實訓總結
為期一周的實訓已經結束,從這一周中,有了很多的感悟。從學到和掌握到的東西來說,在書本上學到的東西非常不牢固,然而實訓真的讓我受益匪淺!實訓第一天到教室時,看到老師給我們講試訓的內容與要求,然后告訴我們一些要完成的任務與作業,然后根據試訓的內容與要求授課,讓我們從實踐中去體會所學的知識。說實話,對于SQL Server 數據庫,我所學到的知識很不牢固,當時在課堂上聽課所記住的也并不多,所以在試訓開始時,真的不知道該干些什么?有一種“何去何從”的感覺!但隨著老師的教課和講解,以及和同學的討論,再結合自己所知道的知識和老師所發放下的課程內容,根據這些實際的情況,我對自己將要做的事也有了興趣和信心。所以在接下來的時間中,我們在老師的幫助下開始了數據庫相關的實訓。
在這次的google訂餐系統的設計過程中,我們根據該google訂餐系統的功能,將其分解三大部分來完成,第一部分就是建立數據庫和表,并給其添加約束;第二是角色的管理,分為管理員,訂餐用戶和餐館;第三就是用編程語言建立管理菜單。所以 試訓的內容是從數據庫和數據表的創建和修改開始的,表是建立關系數據庫的基本結構,用來存儲數據具有已定義的屬性,在表的操作過程中,有查看表屬性,有查看表信息,修改表中數據,刪除表中的數據以及修改表與刪除表的操作。我們以SQL Server數據庫為基礎,建立一個google訂餐系統的數據庫管理體系,并將數據庫與程序連接,用編程語言建立數據庫管理菜單。老師給我們講了庫和表的創建方法,以及約束的內心及其語法結構,讓我們知道了不同約束的功能和使用的環境,還給我們說了標識列的使用和作用。講了數據庫的操作,增刪改查。使我們掌握了insert into,deleted from,update set,以及select*from語句的的相關知識和運用。其中還學到了分頁查詢以及多表查詢。
從這次試訓中讓我們更明白了一些知識,表是數據庫最重要的一個數據對象,表的創建好壞直接關系到數據庫的成敗,表的內容是越具體越好,但是也不能太繁瑣,以后在實際運用中使用多表,對表的規劃和理解就會越深刻。通過這次試訓,讓我深刻的了解到自己的不足,要想對進行數據庫更深的學習,自己得要多看有關的課外書籍,并多做練習,不懂得要多問同學和請教老師,以解決自己遇到的難題,知道更多的知識。實訓不僅是讓我們在實踐中對理論知識的驗證,也讓我們知道我們多學的知識在社會上的運用,把所學知識和企業商業接軌。
這次實訓,不僅讓我們學到了許多有關數據庫的知識,老師也給我們講了很多社會現狀和就業情況,讓我們不同的角度了解這個專業的就業趨勢。讓我們在今后的學習中更有動力的充實自己,曾加自己的知識面和鍛煉自己各方面能力。
第三篇:SQL實訓報告
SQL Server 實訓報告
班級:
姓名:
學號:
實訓名稱:SQL Server數據庫應用技術
實訓題目:教學信息管理
實訓目的:通過本次實訓,使學生了解開發數據庫應用程序的過程;通過數據庫設計,加深對數據庫基礎理論的理解并能靈活運用;掌握利用SQL Server 2000數據庫管理系統創建、管理、維護數據庫的基本方法及過程;培養開發數據庫的設計思維。
實訓內容:
本人與郭曉峰主要負責‘教學信息管理 ’系統。
主要包括數據的導入和導出、數據庫結構的分析與建立、表關系的添加、查詢、外關鍵字的約束、檢查約束、默認值、試圖、表存儲過程和觸發器的學習,以及在表的操作過程中,有查看表信息、查看表屬性、修改表中的數據、刪除表中的數據及修改表和刪除表的操作。本人主要負責數據的導入,數據庫的建立,查詢
數據庫的建立:包括數據附加 分離
數據導入:導入EXCEL表中各個數據(學生信息表 班機信息表 學生成績表 授課表教師表 課程信息表)
查詢:查詢學生記錄數查詢成績平均分上課人數 學校人員 低于平均分者 學生信息 低于平均分者自定義函數
一 總體設計思路
當看到這個題目我想到一個完整的教學信息管理應包括:學生信息表、班級信息表、課程信息表、學生成績表、教師表、授課表等。在整個系統中有兩個實體:學生和老師。
二 表結構
我的系統有六張表組成:
學生信息表
列名數據類型寬度允許空值說明學號char4否主鍵姓名char10是性別char2是默認值:男班級號char8是專業char20是系別char20是聯系電話char20是入學日期datetime8是備注char50是班級信息表
列名數據類型寬度允許空值說明班級號Char8否主鍵、外鍵年級Char8是班主任Char8是教師號char8是課程信息表
列名數據類型寬度允許空值說明課程號Char8否主鍵課程名稱Char10是課程類型Char8是學分Char8是課程說明Char10是學生成績表
列名數據類型寬度允許空值說明學號Char8否主鍵班級號Char8是學期Char8是課程號Char8
是課程名稱Char8是成績decimal8是教師表
列名數據類型寬度允許空值說明教工號Char8否主鍵教師姓名Char8是性別Char8是職稱Char8是授課表
列名數據類型寬度允許空值說明教工號Char8否主鍵課程號char8是Excel表格主要如下: 班級信息
學生信息
學生成績
教師表
授課表
課程信息:
二 數據庫的建立:
1在開始菜單中選擇“程序——MicrosoftSqlServer——企業管理器”選型,就啟動了企業管理器,打開工具窗口如圖所示
2在企業管理器樹狀目錄窗口中展開一個服務器組,選定服務器。然后在該服務器下的‘數據庫’結點上單擊鼠標右鍵,快捷菜單中的‘新建數據庫’選項出現數據庫屬性對話框,如下圖所示
3數據庫屬性有三個標簽,用來數據名稱和數據文件,日志文件的名稱、位置、初始大小和屬性等內容。
在‘常規‘標簽的名稱文本框中輸入’教學管理系統‘選擇服務器默認設置的排序規則名稱 4數據文件、日志文件均按服務器默認的數值
三 數據的導入如下:
1在‘教學管理系統‘數據庫節點上單擊鼠標右鍵’,在‘所有任務’菜單上單擊‘導入數據’選項啟動后,顯示初始工作界面如下圖:
‘數據源’選擇microsoftExcel 97-2000,‘文件名’選擇所需的表,單擊下一步,過程如下圖所示:
四 查詢過程
(1)查詢學生信息的學生人數。
use 教學信息管理
declare @recordcount int
select @recordcount=count(*)from 學生信息表
select @recordcount as '學生表(學生信息表)中記錄數'
go
查詢結果
(2)查詢學校人員
use 教學信息管理
select 教師姓名+職稱as '學校人員'
from 教師表
查詢結果
(3)查詢平均分,首先要自定義函數
1、use 教學信息管理
go
create function average_1()
returns real
begin
declare @aver real
select @aver=(select avg(成績)from 學生成績)
return @aver
end2、use 教學信息管理
go
select dbo.average_1()as 總平均分
select * from 學生成績$
where 成績 > dbo.average_1()
查詢結果
(4)查詢低于平均分人數
查詢結果
use 教學信息管理
select distinct 學號 as 分數低于平均分者
from 學生成績
where 成績<(select avg(成績)from 學生成績)
(5)查詢學生信息
use 教學信息管理
select 學號,性別,系別,專業,聯系電話,入學日期,備注
from 學生信息表
order by 學號
查詢結果
(6)查詢上課人數
use 教學信息管理
go
declare @record int
select @record=count(*)from 學生信息表
if @record>40
begin
print '該班有'+ ltrim(str(@record))+ '人'
print '進行分班上課'
end
else
begin
print '該班有'+ltrim(str(@record))+ '人'
print '單班上課'
end
查詢結果
五 實訓總結
我們進入了一個新的充滿機遇與挑戰的時代,信息系統在管理各項事務中有著普遍的應用,促進了企業管理工作的提升。管理信息系統是為管理服務的,它的開發和建立使企業擺脫落后的管理方式,實現管理現代化的有效途徑。管理信息系統將管理工作統一化、規范化、現代化,極大地提高了管理的效率,使現代化管理形成統一、高效的系統。管理信息系統使用系統思想建立起來的,以計算機為信息處理手段,以現代化通信設備為基本傳輸工具,能力管理決策者提供信息服務的人機系統,這無疑是將管理與現代化接軌,以科技提高管理質量的重大舉措。管理信息系統將大量復雜的信息處理交給計算機,使人和計算機充分發揮各自的特長,組織一個和諧、有效的系統,為現代化管理帶來便捷。?
數據庫是計算機應用的一項重要技術。通過這次的實訓,學到了很多的東西,首先是小組成員的協調工作,分配工作,知道了團結的力量與重要性,其次是我把課本里的難關攻克了,查詢就是我的難關,在這兩周的實訓中,了解了查詢的相關內容,對查詢再也不是茫然的!。本數據庫與課本內容緊密結合,結構緊湊,根據所學知識,建立了教學性能系管理系統,建表時也有很多困難,要考慮字段的類型,長度、主鍵的建立等等
Excel表的導入也不是那么順利,經過失敗的嘗試,還是完美的導入到數據庫中。
查詢是SqlServer 中的重中之重,在制作過程中,也是小組最努力的地方,了解查詢語句的先后順序,例如 selectfromwherebegincreate ??這些單詞的在Sqlserver 中的主要功能。有時在查詢中會遇到把它們的順序寫錯,有時會把表里的字段弄錯。但最終還是克服了種種難題,經過我們的努力最終完成了教學信息管理系統。
雖然不是最好的,但我相信,只要努力了,付出了,把不明白的弄懂了,學會了,才是關鍵!
第四篇:數據庫實訓報告
實訓報告
實訓課程:
JAVA WEB項目實訓
實訓名稱:
JAVA項目實訓綜合能力培養 實訓地點:中國江蘇無錫國家軟件園巨蟹座C601 學生姓名:胥康 學號:140703133 指導教師:張志華
實訓時間:2016年7月22日
實訓數據庫MySQL與JAVA 編程
一、實訓目的
熟悉掃描器結構及工作原理,監測輸入實訓結果分析,通過該實訓,從設計到性能測試完成完整的實訓流程,鍛煉同學編程能力、測試能力、設計能力、全局把控能力、學習能力、動手能力和分析問題能力等。
二、實訓內容
1、設計好數據庫結構,錄入測試數據五條以上。
2、通過標準Statement語句對象,完成增刪改查四個類編程。
三、實訓器材 教學投影機一臺、個人筆記本電腦一臺、本地服務器一臺(教師機)
四、實訓步驟與結果
/** *功能:完成數據查詢
*/ package com.ec;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/** * @author xukang * */ public class SelectData {
/**
* @paramargs
*
*/
public static void main(String[] args)throws Exception{
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”;
String user=“root”;
String password=“12345678”;
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
String sql=“select * from ware”;
ResultSet r=st.executeQuery(sql);
while(r.next()){
System.out.println(r.getInt(1)+“t”+r.getString(2)+“t”+r.getFloat(3)+“t”+r.getString(4)+“t”+r.getString(5)+“t”+r.getString(6));
}
r.close();
st.close();
conn.close();
// TODO Auto-generated method stub
} }
/** * 功能:完成數據插入工作
*/ package com.ec;
import java.net.PasswordAuthentication;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * @author xukang * */ public class InsetData {
/**
* @paramargs
*/ public static void main(String[] args)throws Exception{
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”;
String user=“root”;
String password=“12345678”;
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
//關鍵點:查詢---executeQuery()增刪改-----executeUpdate()/executeLargeUpdate()
String sql=“insert into ware values(10,'蛋糕',100.0,'快樂','黃色','徐州')”;
st.executeUpdate(sql);
// TODO Auto-generated method stub
st.close();
conn.close();
} }
/** *
*/ package com.ec;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;
import org.omg.PortableInterceptor.USER_EXCEPTION;
import com.mysql.jdbc.Driver;/** * @author asus * */ public class UpdateData {
/**
* @param args
*/ public static void main(String[] args)throws Exception{
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”;
String user=“root”;
String password=“12345678”;
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
String sql=“update ware set name='飛機' where id=6”;
st.executeUpdate(sql);
st.close();
conn.close();
// TODO Auto-generated method stub
} }
/** *
*/ package com.ec;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * @author xukang * */ public class DeleteData {
/**
* @paramargs
*/ public static void main(String[] args)throws Exception{
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”;
String user=“root”;
String password=“12345678”;
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
String sql=“delete from ware where id=10”;
st.executeUpdate(sql);
st.close();
conn.close();
// TODO Auto-generated method stub
} }
五、分析與結論
針對實訓的測試結果其中重要的結論如下:
通過掃描器課題的實訓課程的學習,掌握了java基本掃描器工作原理、結構設計,形成了完整的java的認識,激發了對java的研究興趣,同時通過該課程鍛煉了自己的針對目標的學習能力、分析能力和動手能力。
第五篇:數據庫實訓報告
北京聯合大學
實訓報告
課程(項目)名稱: 數據庫原理 學 院: 聯大師范學院 專 業:計算機科學與技術 班 級: 10級1班 學 號: 2010020306133 姓 名: 蔣 丹 成 績:
2012年 6 月 8 日
目錄
1、概述........................................................................................錯誤!未定義書簽。
2、總體設計................................................................................錯誤!未定義書簽。
2.1、需求分析.....................................................................錯誤!未定義書簽。2.2、項目規劃.....................................................................錯誤!未定義書簽。2.3、系統功能架構圖.........................................................錯誤!未定義書簽。
3、系統設計................................................................................錯誤!未定義書簽。
3.1、設計目標.....................................................................錯誤!未定義書簽。3.2、開發及運行環境.........................................................錯誤!未定義書簽。3.3、數據庫設計.................................................................錯誤!未定義書簽。
3.3.1、系統E-R圖......................................................錯誤!未定義書簽。3.3.2、主要數據表的結構..........................................錯誤!未定義書簽。
4、主要功能模塊設計................................................................錯誤!未定義書簽。
4.1、連接數據庫.................................................................錯誤!未定義書簽。4.2、主窗體設計.................................................................錯誤!未定義書簽。4.3、系統登錄.....................................................................錯誤!未定義書簽。4.4、商品入庫.....................................................................錯誤!未定義書簽。4.5、庫存盤點.....................................................................錯誤!未定義書簽。4.6、入庫查詢.....................................................................錯誤!未定義書簽。
5、結論........................................................................................錯誤!未定義書簽。
6、參考資料................................................................................錯誤!未定義書簽。
7、評語..........................................................................................................................4
7、評語
工作態度(認真、一般、較差),工作量(飽滿、一般、不夠),每個任務能夠獨立(完成、基本完成、在輔導下完成),程序運行結果(正確、基本正確、部分正確),實訓報告格式(標準、一般)。創新意識(較強、一般、沒有),運行所學知識解決實際問題的能力(強、一般、較差)。
? 優(100~90):能夠熟練運用開發工具,編程解決實際問題,創意新穎,功能實現完善。
? 良(89~80):能夠熟練運用開發工具,編程解決實際問題,有一定創新,功能實現較好。
? 中(79~70):能夠較熟練使用開發工具,編程解決實際問題,獨立完成實訓,功能實現一般。
? 及格(69~60):能夠運用開發工具,在教師輔導下完成實訓,實現部分功能。? 不及格(59~0):編程解決實際問題的能力差,功能實現較差。
實訓成績為: 分 教師簽字: