SQL數(shù)據(jù)庫課程設計機票預訂管理系統(tǒng)系統(tǒng)機票管理SQL數(shù)據(jù)庫課程設計_第1頁
SQL數(shù)據(jù)庫課程設計機票預訂管理系統(tǒng)系統(tǒng)機票管理SQL數(shù)據(jù)庫課程設計_第2頁
SQL數(shù)據(jù)庫課程設計機票預訂管理系統(tǒng)系統(tǒng)機票管理SQL數(shù)據(jù)庫課程設計_第3頁
SQL數(shù)據(jù)庫課程設計機票預訂管理系統(tǒng)系統(tǒng)機票管理SQL數(shù)據(jù)庫課程設計_第4頁
SQL數(shù)據(jù)庫課程設計機票預訂管理系統(tǒng)系統(tǒng)機票管理SQL數(shù)據(jù)庫課程設計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

長沙學院課程設計說明書題目機票預訂管理系統(tǒng)系(部)計算機科學與技術系專業(yè)(班級)姓名學號指導教師起止日期課程設計任務書課程名稱:數(shù)據(jù)庫系統(tǒng)原理設計題目:機票預定管理系統(tǒng)1、某航空公司機票預訂管理系統(tǒng)需要如下信息:航班:航班編號、出發(fā)地、目的地、出發(fā)時間、飛行時間、飛機型號等。飛機:飛機型號、座位數(shù)等。機票:航班編號、客戶編號、價格、折扣、總座位數(shù)、已售票數(shù)等??蛻簦盒彰?、性別、聯(lián)系電話、身份證號碼等。業(yè)務員:工號、姓名、性別等。一架飛機能飛多趟航班,一趟航班只能由一架飛機飛。一趟航班將根據(jù)座位數(shù)目出售多張機票,一張機票只能登上一趟航班。一個客戶可以購買多張機票,一張機票只能被購買一次。一個業(yè)務員可以同時對多個客戶進行營銷,一個客戶可能是多個業(yè)務員的營銷對象。2、系統(tǒng)功能的基本要求:按照一定條件查詢、統(tǒng)計符合條件的航班、機票、客戶信息等。例如航班剩余艙位數(shù)目、同一航線可選航班信息、客戶購買歷史等,能夠模擬完成機票預訂業(yè)務。(如果這里用存儲過程完成,成績會給高點)各階段具體要求:1、需求分析階段定義數(shù)據(jù)項的含義和取值定義目標系統(tǒng)的數(shù)據(jù)流2、概念結構設計階段畫出實體模型E-R圖3、邏輯結構設計階段將實體模型轉(zhuǎn)化為關系模型給出每個關系的主關鍵字和函數(shù)依賴集分析你所設計的關系數(shù)據(jù)庫模式是否屬于3NF4、物理設計階段確定所有字段的名稱、類型、寬度、小數(shù)位數(shù)及完整性約束確定數(shù)據(jù)庫及表的名稱及其組成確定索引文件和索引關鍵字5、數(shù)據(jù)庫安全及維護設計階段設計一個適合的數(shù)據(jù)庫安全策略(用戶身份認證、訪問權限、視圖)為了實現(xiàn)復雜的數(shù)據(jù)完整性約束,設計適當?shù)挠|發(fā)器設計一個適合的數(shù)據(jù)庫備份策略6、實施階段要求所有操作必須在查詢分析器中用SQL語句或系統(tǒng)存儲過程完成。指導教師簽名:日期:教研室主任簽名:日期:系主任簽名:日期:

長沙學院課程設計鑒定表姓名黃炫皓學號2010022506專業(yè)軟件工程班級軟件7班設計題目機票預訂管理系統(tǒng)指導教師毛偉指導教師意見:評定等級:教師簽名:日期:答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名:日期:系(部)意見:系主任簽名:日期:說明課程設計成績分“優(yōu)秀”、“良好”、“及格”、“不及格”四類;目錄1、需求分析階段 I2、概念結構設計階段 I3、邏輯結構設計階段 I4、物理設計階段 I5、數(shù)據(jù)庫安全及維護設計階段 II6、實施階段 II一、引言 21.1 編寫目的 21.2 參考資料 2二、 需求規(guī)約 22.1業(yè)務描述 22.2需求分析 3三、 數(shù)據(jù)庫環(huán)境說明 3四、 數(shù)據(jù)庫的命名規(guī)則 34.1數(shù)據(jù)庫對象命名規(guī)則 34.2數(shù)據(jù)項編碼規(guī)則 4五、 邏輯設計 4六、 物理設計 56.1表匯總 56.2表 56.3存儲過程的設計 8七、 安全性設計 117.1防止用戶直接操作數(shù)據(jù)庫的方法 117.2角色與權限 11八、 數(shù)據(jù)庫管理與維護說明 12一、引言編寫目的本文檔是機票預訂管理系統(tǒng)設計文檔的組成部分,編寫數(shù)據(jù)庫設計文檔的目的是:明確數(shù)據(jù)庫的表名、字段名等數(shù)據(jù)信息,用來指導后期的數(shù)據(jù)庫腳本的開發(fā)。本文檔的讀者對象是需求人員、系統(tǒng)設計人員、開發(fā)人員、測試人員。參考資料資料名稱作者文件編號、版本《數(shù)據(jù)庫系統(tǒng)概論》王珊、薩師煊2006年5月第4版《數(shù)據(jù)庫設計》袁偉森、肖振芬2011年12月第1版需求規(guī)約2.1業(yè)務描述數(shù)據(jù)庫系統(tǒng)創(chuàng)建背景:隨著因特網(wǎng)的出現(xiàn),其自身所具有的開發(fā)性、全球性、低成本、高效率的特點,使得跨企業(yè),跨地區(qū),跨行業(yè)進行管理成為可能。全球信息系統(tǒng)發(fā)展到世界的各個角落、各個領域。通過企業(yè)間跨地區(qū)的合作,使得業(yè)務集成,可以降低成本,提高企業(yè)的競爭力。但是目前,隨著航空運輸業(yè)的快速發(fā)展,傳統(tǒng)的人工售票模式不能滿足新時期的航空客運發(fā)展的要求,約束了航空客運的發(fā)展,因此提出了網(wǎng)上飛機票預訂信息系統(tǒng)。查詢業(yè)務:根據(jù)客戶提出的要求查詢航班、機票、客戶信息。訂票業(yè)務:根據(jù)客戶信息和客戶所預定的航班信息產(chǎn)生機票預定信息。改訂業(yè)務:修改客戶所預定的機票信息。退訂業(yè)務:刪除掉客戶的預訂信息。數(shù)據(jù)庫的資源需求:航班信息、飛機信息、機票信息、客戶信息、業(yè)務員信息。數(shù)據(jù)庫的設計約束:航班:航班編號、出發(fā)地、目的地、出發(fā)時間、飛行時間、飛機型號。飛機:飛機型號、座位數(shù)。機票:航班編號、座位編號、客戶編號、價格、當前預售狀態(tài)??蛻簦盒彰⒙?lián)系電話、客戶編號。業(yè)務員:姓名、工號。2.2需求分析機票預定管理系統(tǒng)業(yè)務流程的內(nèi)在聯(lián)系:客戶可以根據(jù)自己的需要來查詢航線以及相應的航班信息和票務信息,以此來滿足自己的出行要求。本系統(tǒng)有一定的檢索功能,乘客可以根據(jù)需要,輸入自己的查詢條件,這樣就可以得到滿足條件的航線信息、航班信息,還可以對自己需要的機票進行預定??蛻粼陬A訂之后如果出現(xiàn)什么情況可以進行機票改訂和退訂處理。在機票預訂管理系統(tǒng)中,航班信息中的飛機型號依賴于飛機信息中的飛機型號;機票信息中的航班編號依賴于航班信息的航班編號、客戶編號依賴于客戶信息的客戶編號。數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫實例數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫部署環(huán)境數(shù)據(jù)庫設計工具數(shù)據(jù)庫存放位置說明機票預訂系統(tǒng)Sqlserver2008Windowsxp,或Windows2000以上pb,visio,rose存放位置,絕對路徑/相對路徑用于完成機票預訂業(yè)務功能數(shù)據(jù)庫的命名規(guī)則4.1數(shù)據(jù)庫對象命名規(guī)則數(shù)據(jù)庫對象命名規(guī)則備注表Table_功能描述字符串例如:Table_Fight航班表視圖View_功能描述字符串例如:View_Fight航班視圖存貯過程Proc_功能描述字符串例如:Proc_bookticket預定機票4.2數(shù)據(jù)項編碼規(guī)則數(shù)據(jù)項命名規(guī)則數(shù)據(jù)類型長度范圍備注航班編號市名縮寫+航班序號定長字符串20位客戶編號身份證號碼定長字符串18位飛機編號飛機型號定長字符串20位邏輯設計創(chuàng)建與數(shù)據(jù)庫相關的那部分實體關系圖(ERD)。飛機飛機航班客戶業(yè)務員預定飛行飛機型號飛行時間出發(fā)時間目的地飛機型號座位數(shù)航班編號出發(fā)地聯(lián)系電話姓名客戶編號機票信息姓名工號創(chuàng)建數(shù)據(jù)庫系統(tǒng)的關系模型。航班(航班編號、出發(fā)地、目的地、出發(fā)時間、飛行時間、飛機型號)飛機(飛機型號、座位數(shù))機票(航班編號、座位編號、客戶編號、價格、當前預售狀態(tài))客戶(姓名、聯(lián)系電話、客戶編號)業(yè)務員(姓名、工號)物理設計6.1表匯總表名功能說明表A存儲航班信息表B存儲飛機信息表C存儲客戶信息表D存儲業(yè)務員信息表E存儲機票信息6.2表表A:航班表表名Table_Flight數(shù)據(jù)庫用戶主鍵Flight_no其他排序字段(Flight_no,Start_place,End_place,Start_time,Air_time,Air_no)索引字段Flight_no序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1Flight_nochar(20)高主鍵、航班編號2Start_placenvarchar(50)NN低出發(fā)地3End_placenvarchar(50)NN低目的地4Start_timedateNN低出發(fā)時間5Air_timedateNN低飛行時間6Air_nochar(20)NY高外鍵、飛機型號sql腳本CREATETABLETable_Flight(Flight_nochar(20)primarykey,Start_placenvarchar(50)notnull,End_placenvarchar(50)notnull,Start_timedatenotnull,Air_timedatenotnull,Air_nochar(20)uniquenotnull,CONSTRAINTPK_Table_Flight_Table_Airforeignkey(Air_no)referencesTable_Air(Air_no))CREATEINDEXindex_Flight_noONTable_Flight(Flight_no)表B:飛機表表名Table_Air數(shù)據(jù)庫用戶主鍵Air_no其他排序字段(Air_no,Air_seatnum)索引字段Air_no序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1Air_nochar(20)高主鍵、飛機編號2Air_seatnumintNN低座位數(shù)sql腳本CREATETABLETable_Air(Air_nochar(20)primarykey,Air_seatnumintnotnull)CREATEINDEXindex_Air_noONTable_Air(Air_no)表C:客戶表表名Table_Client數(shù)據(jù)庫用戶主鍵Client_id其他排序字段(Client_id,name,telephone)索引字段Client_id序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1Client_idchar(18)高主鍵、身份證2Client_namenvarchar(30)NN中姓名3Client_telephonenvarchar(20)NY高電話號碼sql腳本CREATETABLETable_Client(Client_idchar(18)primarykey,Client_namenvarchar(20)notnull,Client_telephonenvarchar(50)notnullunique)CREATEINDEXindex_Client_idONTable_Client(Client_id)表D:業(yè)務員表:表名Table_Emp數(shù)據(jù)庫用戶主鍵Emp_no其他排序字段(Emp_no,Emp_name)索引字段Emp_no序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1Emp_nochar(20)高主鍵、員工編號2Emp_namenvarchar(30)NN中姓名sql腳本CREATETABLETable_Emp(Emp_nochar(20)primarykey,Emp_namenvarchar(30)notnull)CREATEINDEXindex_Emp_noONTable_Emp(Emp_no)表E:機票表表名Table_Ticket數(shù)據(jù)庫用戶主鍵Flight_no,Seat_no,Client_id其他排序字段(Flight_no,Seat_no,Client_id,Ticket_price,Ticket_status)索引字段Flight_no序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認值約束條件/說明1Flight_nochar(20)高主鍵、航班編號2Seat_noint高主鍵、座位編號3Client_idchar(18)高主鍵、客戶編號4Ticket_priceintNN低機票價格5Ticket_statuschar(5)NN低機票狀態(tài)sql腳本CREATETABLETable_Ticket(Flight_nochar(20),Seat_noint,Client_idchar(18),Ticket_priceintnotnull,Ticket_statuschar(5)notnull,primarykey(Flight_no,Seat_no,Client_id),CONSTRAINTPK_Table_Ticket_Table_Flightforeignkey(Flight_no)referencesTable_Flight(Flight_no),CONSTRAINTPK_Table_Ticket_Table_Clientforeignkey(Client_id)referencesTable_Client(Client_id))CREATEINDEXindex_Flight_noONTable_Flight(Flight_no)6.3存儲過程的設計--創(chuàng)建存儲過程管理客戶信息--查詢所有客戶信息createprocedureProc_selectclientinfoasbeginselect*fromTable_Clientend--查詢特定客戶信息createprocedureProc_selectneedclientinfo@client_idchar(18)asbeginselect*fromTable_ClientwhereClient_id=@client_idend--修改客戶信息createprocedureProc_updateclientinfo@client_idchar(18),@client_namenvarchar(20),@client_telephonenvarchar(50)asbeginupdateTable_ClientsetClient_name=@client_name,Client_telephone=@client_telephonewhere@client_id=Client_idend查詢業(yè)務--查詢航班信息createprocedureProc_selectflight@flight_nochar(20)asbeginselect*fromTable_Flightend--查詢飛機信息createprocedureProc_selectair@air_nochar(20)asbeginselect*fromTable_Airend--查詢客戶信息createprocedureProc_selectneedclientinfo@client_idchar(18)asbeginselect*fromTable_Clientwhere@client_id=Client_idend--查詢機票信息createprocedureProc_selectticket@flight_nochar(20)asbeginselect*fromTable_TicketwhereFlight_no=@flight_noend--查詢航班剩余座位數(shù)createprocedureProc_selectremainseat@flight_nochar(20)asbeginselect(selecta.Air_seatnumfromTable_Flightf,Table_AirawhereFlight_no=@flight_noandf.Air_no=a.Air_no)-count(*)RemainseatfromTable_TicketwhereFlight_no=@flight_noend--根據(jù)客戶的要求查詢航班信息createprocedureProc_selectneedfilght@start_placenvarchar(50),@end_placenvarchar(50)asbeginselect*fromTable_FlightwhereStart_place=@start_placeandEnd_place=@end_placeend預訂業(yè)務createprocedureProc_bookticket@flight_nochar(20),@seat_numint,@Client_idchar(18)asbegininsertintoTable_Ticketvalues(@flight_no,@seat_num,@Client_id,500,'已預售')end改訂業(yè)務createprocedureProc_changeticket@flight_nochar(20),@client_idchar(18)asbeginupdateTable_TicketsetFlight_no=@flight_nowhereClient_id=@client_idandFlight_no=@flight_noend退訂業(yè)務createprocedureProc_deleteticket@flight_nochar(20),@client_idchar(18)asbegindeletefromTable_TicketwhereClient_id=@client_idandFlight_no=@flight_noend整個操作過程--客戶管理EXECProc_selectclientinfoEXECProc_selectneedclientinfo'kevin1'EXECProc_updateclientinfo,'kevin8',--查詢EXECProc_selectflight'CS1122'EXECProc_selectair'A111'EXECProc_selectneedclientinfo'kevin1'EXECProc_selectticket'CS1122'EXECProc_selectremainseat'CS1122'EXECProc_selectneedfilght'長沙','北京'--預定EXECProc_bookticket'CS1122',1,--改訂EXECProc_changeticket'CS1122',--退訂EXECProc_deleteticket'CS1122',安全性設計7.1防止用戶直接操作數(shù)據(jù)庫的方法給用戶設置權限:管理員具有對整個數(shù)據(jù)庫的操作權限。業(yè)務員可訪問客戶信息表,對客戶信息表可以修改,增加,刪除。7.2角色與權限角色可以訪問的表與列操作權限管理員航班表增、刪、改、查飛機表增、刪、改、查客戶表增、刪、改、查業(yè)務員表增、刪、改、查機票信息表增、刪、改、查客戶客戶表改、查機票信息表查航班表查飛機表查業(yè)務員航班表查客戶表增、刪、改、查飛機表查機票信息表查--創(chuàng)建登錄賬號createloginkevinwithpassword='123456'--創(chuàng)建業(yè)務員角色createroleyuan--可訪問可、修改客戶表,訪問業(yè)務員表,機票表、航班表、飛機表:--授予權限grantselectonTable_Flighttoyuangrantselect,updateonTable_ClienttoyuangrantselectonTable_TickettoyuangrantselectonTable_AirtoyuangrantselectonTable_Emptoyuan--創(chuàng)建客戶角色createroleclient--可訪問可、修改客戶表,訪問機票表、航班表、飛機表:--授予權限grantselectonTable_Flighttoyuangrantselect,updateonTable_ClienttoyuangrantselectonTable_TickettoyuangrantselectonTable_Airtoyuan--創(chuàng)建管理員角色createroleadm--可進行所有操作:--授予權限grantselect,insert,delete,updateonTable_Flighttoyuangrantselect,insert,delete,updateonTable_Clienttoyuangrantselect,insert,delete,updateonTable_Tickettoyuangrantselect,insert,delete,updateonTable_Airtoyuangrantselect,insert,delete,updateonTable_Emptoyuan數(shù)據(jù)庫管理與維護說明為了保證系統(tǒng)能夠長

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論