【正文】
e =39。D00139。 and = and = 代碼:效果演示: 演示圖 建立存儲過程建立一個查詢所有表的存儲過程create procedure ZD_SELECT1as select ZD_Id as 旅行社編號,ZD_Name as 旅行社名稱,ZD_Intro as 旅行社介紹,ZD_Stime as 旅行社成立時間,ZD_Adds as 旅行社地址,ZD_Contct as 聯(lián)系電話from ZD_zdselect G_Id as 旅行團編號,G_Name as 旅行團名稱,G_Stime as 旅行團開始時間,G_Etime as 旅行團結束時間,G_Count as 旅行團人數(shù)from ZD_groupselect T_Id as 游程編號,T_Name as 游程名稱,T_Sight as 景點介紹,T_Time as 游程時間,T_City as 游程城市from ZD_travelselect S_Id as 員工編號,S_Name as 員工姓名,S_Nature as 員工性質,S_Sex as 員工性別,S_Age as 員工年齡,S_Idcard as 員工身份證號,S_Contact as 員工的聯(lián)系電話from ZD_staffselect C_Id as 客戶編號,C_Name as 客戶姓名,C_Nature as 客戶性質,C_Sex as 客戶性別,C_Age as 客戶年齡,C_Idcard as 客戶身份證號,C_Contact as 客戶的聯(lián)系電話from ZD_clientselect H_Id as 酒店編號,H_Name as 酒店名稱,H_Level as 酒店星級,H_Adds as 酒店地址,H_Contact as 聯(lián)系電話from ZD_hotelselect TI_Id as 票務編號,TI_Cost as 票價,TI_Number as 車次航班,TI_Nature as 票務性質,TI_Start as 起點,TI_End as 終點,TI_Stime as 出發(fā)時間,TI_Etime as 到達時間from ZD_ticketexec ZD_SELECT1代碼:第三章:功能測試與實現(xiàn) 觸發(fā)器測試(1)測試ZD_zd表中觸發(fā)器錯誤信息插入INSERT INTO ZD_zdVALUES(39。Z10039。,39。正大旅行社39。,39。上海正大旅行社是一家綜合性的國內旅游企業(yè)。39。,39。1995010139。,39。上海39。,39。1566149304139。)。 觸發(fā)器測試圖1(2)測試ZD_group表中觸發(fā)器錯誤信息插入BEGIN TRAN zd_ZDinsert into ZD_groupvalues (39。010139。,39。成都單人兩天游39。,39。2013010439。,39。2013010239。,10,39。Z10039。,39。成都39。)COMMIT TRAN由上圖可以看出,在對旅行社表插入信息時,觸發(fā)器觸發(fā),插入操作失敗同時提示一個失敗的原因。 觸發(fā)器測試圖2上圖可以看出,在對旅行團表插入一條不符合要求的信息時,觸發(fā)器觸發(fā),插入操作失敗同時提示一個失敗的原因。(3)測試ZD_staff表中觸發(fā)器錯誤信息插入BEGIN TRAN zd_ZDINSERT INTO ZD_staffVALUES(39。D05039。,39。張毅39。,39。導游39。,39。男39。,88,39。91091234920909876839。,39。1826725678039。)COMMIT TRAN 觸發(fā)器測試圖3(4)測試ZD_client中觸發(fā)器錯誤數(shù)據插入BEGIN TRAN zd_ZDINSERT INTO ZD_staffVALUES(39。D05039。,39。張毅39。,39。導游39。,39。男39。,88,39。91091234920909876839。,39。1826725678039。)COMMIT TRAN上圖可以看出,在對員工表插入一條不符合要求的信息時,觸發(fā)器觸發(fā),插入操作失敗同時提示一個失敗的原因。 觸發(fā)器測試圖4(5)測試ZD_decide表中觸發(fā)器錯誤數(shù)據插入BEGIN TRAN zd_ZDINSERT INTO ZD_decideVALUES(39。000139。,39。000439。)COMMIT TRAN由上圖可以看出,在向客戶表中添加錯誤信息時,插入失敗,同時提示一個錯誤信息。 觸發(fā)器測試圖5(6)測試ZD_ acpany表中觸發(fā)器錯誤數(shù)據插入BEGIN TRAN zd_ZDINSERT INTO ZD_acpanyVALUES(39。000139。,39。D00139。,39。2013090839。)COMMIT TRAN由上圖可以看出,在向決定表中添加錯誤信息時,插入失敗,同時提示一個錯誤信息。 觸發(fā)器測試圖6由上圖可以看出,在向陪同中添加錯誤信息時,插入失敗,同時提示一個錯誤信息。(7)測試ZD_ acpany表中觸發(fā)器錯誤數(shù)據插入BEGIN TRAN zd_ZDINSERT INTO ZD_arrangeVALUES(39。000139。,39。000139。,39。2013090839。)COMMIT TRAN 觸發(fā)器測試圖7由上圖可以看出,在向安排表中添加錯誤信息時,插入失敗,同時提示一個錯誤信息(8)測試ZD_ apply表中觸發(fā)器錯誤數(shù)據插入BEGIN TRAN zd_ZDINSERT INTO ZD_applyVALUES(39。000139。,39。003139。,39。2013090839。,39。98039。)COMMIT TRAN 觸發(fā)器測試圖8由上圖可以看出,向報名表中添加錯誤信息時,插入失敗,同時提示一個錯誤信息。心得體會轉眼之間,兩個星期就過去了,在這兩個星期中通過做這個正大旅行社的數(shù)據庫設計,對以前的知識進行了加深理解,但對于系統(tǒng)的設計與分析方面的知識還是稍顯吃力。雖然已經學習過數(shù)據庫設計與數(shù)據庫分析課程,但由于事件經驗少,所以在正大旅行社整個設計實施的過程中還是遇到了很多問題我的題目是正大旅行社數(shù)據庫系統(tǒng),正大旅行社數(shù)據庫系統(tǒng)是一種具有交互功能的商業(yè)信息系統(tǒng),通過該系統(tǒng)客戶可以進行查看自己的游程安排等相關操作,管理員進行后臺的管理和維護等操作。系統(tǒng)看上去非常簡單,我們在生活中很常見,比如攜程、去哪兒網,也經常從這些網站上查看合適的旅游信息,但當實際設計它的時候才發(fā)現(xiàn),這么平常、熟悉的系統(tǒng)原來竟這么復雜,注冊時填寫的每一條信息的限制條件、登錄時系統(tǒng)怎樣驗證都需要仔細推敲,要把所有的情況都考慮到。在設計整個旅行社的ER模型時,首先我分析了現(xiàn)有的網上旅行社系統(tǒng),根據我們課設的要求和課設時間將現(xiàn)有的旅行社系統(tǒng)簡化,保留主要的模塊,去掉像廣告、積分這樣的輔助模塊,然后畫出系統(tǒng)模塊圖和總體流程圖。課程設計需要使用作圖工具軟件,例如visio,同時需要查閱資料和做一些必要的調研。雖然平時上課這些軟件的使用老師都講過,考試也能通過,但當用這些軟件和課本上的知識來獨立地設計一個實際的系統(tǒng)時,很多問題就暴露出來了,比如什么時候要用時序圖、什么時候要用流程圖,雖然這些圖我們每個人都會畫,但是這些圖是用來描述什么的、作用是什么、什么時候需要使用這些圖我們卻不是很清楚。做課程設計時,指導老師給了我們很大幫助,發(fā)現(xiàn)了很多我沒有想到的問題,提了很多改進系統(tǒng)的意見,比如設計ER圖時人員和客戶實體應該要有身份證號碼,沒有老師的幫助和指點我們是無法完成系統(tǒng)設計的。課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),這次課程設計雖然很累,但我學到了不少東西,對軟件的設計過程和方法有了更深入的了解。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。參考文獻《SQL server 2012 從零開始學》 清華大學出版社 編著:王英英、張少軍、劉增杰《SQL server 深入解析》 電子工業(yè)出版社 編著:王寅永、李降宇、李廣歌《SQL server 數(shù)據庫應用與開發(fā)》 清華大學出版社 編著:李友軍、郭鄭州《由淺入深學SQL server》 電子工業(yè)出版社 編著:王俊、鄭笛附錄:數(shù)據庫設計命名規(guī)范一、總則采用英文單詞或英文短語(包括縮寫)作為名稱,不能使用無意義的字符或漢語拼音。每個數(shù)據庫對象表,視圖,字段,存儲過程,不要用任何數(shù)據庫的關鍵詞作為名稱。凡是能寫注釋的地方,應該寫上注釋,以便查看。名稱應該清晰明了,能夠準確表達事物的含義,最好可讀,遵循“見名知意”的原則。對長度也要有限制,最好不要超過30個字符,在PD設置生成時,部分數(shù)據庫對象會自動截取到30位。所有名稱的字符范圍為:AZ,az,09 和_(下劃線)。不允許使用其他字符作為名稱。二、具體規(guī)范對象前綴舉例表數(shù)據庫名_實體名如用戶角色表User_Role列表名簡寫_屬性如用戶角色表User_Role的名稱:UR_Name;如果是單個的表名,比如區(qū)域表Area,則可以寫成Area_ID;存儲過程sp_表名_操作方法比如(Insert,Update,Detele,Get,Query,Report,Validate等)視圖view_主要表名比如view_user觸發(fā)器trg_表名_方法比如(Insert,Update,Detele,Get,Query,Report,Validate等)函數(shù)fn_功能名稱一些是具體的操作函數(shù),比如字符串處理,fn_SplitStr(參數(shù))處理字符串主鍵pk_表名外鍵fk_主表簡寫_從表簡寫fk_表名_表名索引idx_idx_表名_字段名序列seq_seq_User_Info(因為每個表一般只有一個序列)事物trans_游標crs_三、SQL語句規(guī)范所有sql關鍵詞全部大寫,比如SELECT,UPDATE,FROM,ORDER,GROUPBY等。四、數(shù)據完整性規(guī)范為便于在程序的編碼期查錯,可以在設計數(shù)據庫的時候盡可能多的加上約束(check)。如,整型的字段的取值范圍等,常常為field0。同理,盡可能地在開發(fā)期間使用觸發(fā)器來驗證數(shù)據的完整性。如果字段之間存在冗余,應該編寫觸發(fā)器來管理冗余的字段。在開發(fā)階段保存完整的主鍵、外鍵和唯一索引的約束。原則:編碼期間,數(shù)據完整性優(yōu)先于性能。在保障系統(tǒng)正確運行的前提下盡可的提高效。數(shù)據庫分開發(fā)期和運行期兩個版本:開發(fā)期版本主要體現(xiàn)完整的約束,運行期版本體現(xiàn)效率的優(yōu)化 39