【正文】
拼一個春夏秋冬!贏一個無悔人生!早安!—————獻(xiàn)給所有努力的人. 學(xué)習(xí)好幫手。不奮斗就是每天都很容易,可一年一年越來越難。是狼就要練好牙,是羊就要練好腿。Sons.2002[3] 西爾伯沙茨.?dāng)?shù)據(jù)庫系統(tǒng)概念.北京:機械工業(yè)出版社.2006101[4] 本甘.Microsoft SQL Server 2008技術(shù)內(nèi)幕:TSQL語言基礎(chǔ).北京:電子工業(yè)出版社.2009101[5] 法禾,羅伯森.SQL語言藝術(shù).北京:電子工業(yè)出版社.200831[6] 德萊尼.Microsoft SQL Server 2005技術(shù)內(nèi)幕:查詢、調(diào)整和優(yōu)化.北京:電子工業(yè)出版社.200971課程設(shè)計成績:項 目業(yè)務(wù)考核成績(70%)(百分制記分)平時成績(30%)(百分制記分)綜合總成績(百分制記分)注:教師按學(xué)生實際成績(平時成績和業(yè)務(wù)考核成績)登記并錄入教務(wù)MIS系統(tǒng),由系統(tǒng)自動轉(zhuǎn)化為“優(yōu)秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等??偠灾?,本次課設(shè)基本達(dá)到了預(yù)期的目標(biāo),比較成功的模擬出了民航售票系統(tǒng)的部分功能,并在實現(xiàn)的過程中也有自己的創(chuàng)新特點。再如:另一存儲過程Users_find_sec可以和前臺配合由用戶提供相應(yīng)的用戶信息,查詢出用戶密碼,實現(xiàn)密碼找回功能。比如:在User表中的電子郵件字段,想統(tǒng)計各個電子郵件服務(wù)商的使用人數(shù),由于Group by語句無法根據(jù)字段內(nèi)容的部分分組,故而建立了視圖HY,在此視圖中單獨用case語句列出了每個人所使用的電子郵件服務(wù)商,然后通過查詢視圖就可列出人數(shù)。實為一大遺憾。這三個獨立的數(shù)據(jù)庫通過應(yīng)用程序相連,單獨存在,這樣可以減少系統(tǒng)的出錯率,并增加系統(tǒng)安全性。而我在做時,是直接在數(shù)據(jù)庫的表中存儲明文密碼,這樣大大降低了系統(tǒng)的安全性。故而,我在課設(shè)選題的時候我產(chǎn)生了做民航售票數(shù)據(jù)庫的想法。 通過以上測試,基本認(rèn)定數(shù)據(jù)庫的設(shè)計是成功的,可以基本滿足預(yù)期要求。使用人數(shù)39。/*視圖查詢測試*/select*from HY圖343 試圖查詢測試預(yù)計顯示出除會員密碼以外的所有會員信息,顯示結(jié)果與預(yù)期相符,測試成功。這個階段我們的測試主要通過數(shù)據(jù)庫設(shè)計評審來實現(xiàn)。gouse minhanggrant select,updateon Twork to Fgo/*收回F的update權(quán)限*/use minhanggorevoke update on Twork from F/*授予F的insert權(quán)限*/use minhanggogrant insert on Users to F傳統(tǒng)軟件系統(tǒng)測試的測試重點是需求覆蓋,而對于我們的數(shù)據(jù)庫測試同樣也需要對需求覆蓋進(jìn)行保證。/*向F授權(quán)*/use minhangexec sp_grantdbaccess39。,39。,39。圖341 查找會員聯(lián)系電話存儲過程/*更改Flight的Fno,則Twork也更改觸發(fā)器*/alter trigger T_Flighton Flightfor updateasif update(Fno)beginupdate Tworkset Fno=from Tworkinner join Flight on =where =end圖342 觸發(fā)器數(shù)據(jù)庫安全:/*創(chuàng)建一個登陸*/exec sp_addlogin39。,39。,39。圖340 查找會員密碼存儲過程/*創(chuàng)建查找會員聯(lián)系電話存儲過程*/create procedure Users_find_telno char(4),na2 varchar(30),na1 varchar(20)asselect Uno,Una1,Una2,Utel,Umes from Userswhere Uno=no or Una1=na1 or Una2=na2goexec Users_find_tel39。,39。,39。,39。,39。 from Userswhere Una1=na1 and Una2=na2 and Umes=mes and Uage=age and Usex=sexgoexec Users_find_sec39。,Upas as 39。,Una1 as 39。圖339 查找航班存儲過程/*創(chuàng)建查找會員密碼存儲過程*/alter procedure Users_find_secna1 varchar(20),na2 varchar(30),mes varchar(30),age int,sex char(2)asselect Uno as 39。,39。圖338 增加航班存儲過程/*創(chuàng)建查找航班存儲過程*/use minhanggocreate procedure Flight_findcity1 varchar(10),city2 varchar(10)asselect*from Flightwhere City1=city1 and City2=city2goexec Flight_find39。select*from Flight where Fno=39。,39。,39。,39。,39。,39。,39。goselect*from userswhere Uno=15圖337 注冊會員存儲過程/*創(chuàng)建增加航班的存儲過程*/create procedure Flight_newno char(5),type varchar(6),city1 varchar(10),city2 varchar(10),time1 varchar(20),time2 varchar(20),ftim intasinsert into Flightvalues(no,type,city1,city2,time1,time2,ftim)goexec Flight_new39。,39。,39。,39。,39。,39。,39。,39。 from Noticeinner join People on =goselect*from GG圖329 公告信息視圖索引創(chuàng)建:/*為Users的Uno列創(chuàng)建索引*/create unique index index_Unoon Users(Uno asc)goexec sp_helpindex Users圖330 /*為Airline的Ano列創(chuàng)建索引*/create unique index index_Anoon Airline(Ano asc)goexec sp_helpindex Airline圖331 /*為Notice的Pno列創(chuàng)建索引*/create nonclustered index index_Pnoon Notice(Pno asc)goexec sp_helpindex Notice圖332 /*為Flight的Ftim列創(chuàng)建索引*/create nonclustered index index_Ftimon Flight(Ftim)goexec sp_helpindex Flight圖333 /*為Cabin的Cnum列創(chuàng)建索引*/create nonclustered index index_Cnumon Cabin(Cnum)goexec sp_helpindex Cabin圖334 /*為Twork的Tno列創(chuàng)建索引*/create nonclustered index index_Tnoon Twork(Tno)goexec sp_helpindex Twork圖335 /*為Gmoney的Pno列創(chuàng)建索引*/create nonclustered index index_Tnoon Gmoney(Pno)goexec sp_helpindex Gmoney圖336 定義存儲過程:/*創(chuàng)建注冊會員存儲過程*/use minhanggocreate procedure Users_newno char(4),na1 varchar(20),pas varchar(16),na2 varchar(30),sex char(2),age int,tel varchar(20),mes varchar(30)asinsert into Usersvalues(no,na1,pas,na2,sex,age,tel,mes)goexec Users_new39。,Ntim as 39。,Pna as 39。,Nsay as 39。 from Peopleinner join Gmoney on =inner join Moneys on =goselect*from GZ圖328 工資信息視圖/*公告信息視圖*/alter view GGasselect Nno as39。, as 39。,ZW as39。,Pna as 39。goselect*from CHB圖327 由成都出發(fā)航班視圖/*管理人員工資信息視圖*/Create view GZasselect as39。 from Flightwhere City1=39。,Ftim as 39。,Time1 as 39。,City2 as 39。,City1 as 39。,Ftype as39。from Ticketinner join Twork on =inner join Users on =inner join Flight on =goselect*from JP圖326 機票信息視圖/*由成都出發(fā)的航班視圖*/create view CHBasselect Fno as39。,Ttel as 39。,Tpos as39。,Tna as 39。=Time1, as 39。+City2,39。=City1+39。,39。end from Usersgosele