數據庫大作業(火車訂票系統)_第1頁
數據庫大作業(火車訂票系統)_第2頁
數據庫大作業(火車訂票系統)_第3頁
數據庫大作業(火車訂票系統)_第4頁
數據庫大作業(火車訂票系統)_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫大作業(火車訂票系統)數據庫大作業(火車訂票系統)數據庫大作業(火車訂票系統)數據庫大作業(火車訂票系統)編制僅供參考審核批準生效日期地址:電話:傳真:郵編:中國地質大學(北京)數據庫系統概論火車票網上訂票系統實驗報告小組成員:董威、韋飛陽、李建同、劉厚今學號:20、25、19、13聯系方式:(董威)使用數據庫管理系統:SQLserver2012指導老師:宋莉2013年12月28日目錄TOC\o"1-3"\h\u205031.小組成員及分工 1312462.需求分析 116768功能需求 118134查詢 124773訂票 17766退票 126616注冊 122210用戶登陸 128480修改密碼 124417添加車次 127037數據需求 125789性能需求 226834準確性和及時性 229544易用性 227034安全性 230167數據流圖 212950頂層數據流圖 236171層數據流圖 2254953.概念結構設計 34771系統結構簡述 337數據處理 327865生成E-R圖 3224024邏輯結構設計 521483關系模式 5268195物理結構設計 5101466數據庫實施 720467建立數據庫 7912建立基本表 727005建立索引 1025114創建視圖 1113058創建存儲過程 118767創建觸發器 1214364插入數據 1228536關系圖 1327191訂購車票 1320165退票 14124877實驗小結 141.小組成員及分工董威:數據庫的實施,即在查詢分析器下編寫代碼建立數據庫,創建基本表,建立 基本表之間的關系、索引,創建存儲過程等工 作。韋飛陽:主要負責邏輯結構的設計,即確定關系模式。李建同:只要負責物理結構的設計,即確定各個基本表之間的 關系,確定主外鍵。劉厚今:需求分析模塊,主要負責尋找需求,繪制數據流圖。2.需求分析功能需求查詢:用戶、管理員都可以對車次進行查詢:可以按照發車車次進行查 詢;可以按照出發地、目的地進行查詢;可以按照類車類型、座 位類型查詢。車次信息包括:車次ID,車號,出發地,目的地,列車類型,座 位類型,票價,票數,車次信息只允許用戶查詢,不能修改。訂票:用戶登陸后,通過訂票系統,根據自己你的需求找到自己的車次, 輸入要預訂的票數進行訂票。要求訂票記錄應包括:訂票記錄ID, 車次ID,用戶ID,訂票數量。退票:用戶登錄后,通過退票系統,找到自己的訂票信息,輸入要退的票 數進行退票。注冊:想要訂票的用戶必須先注冊然后登陸訂票。用戶信息包括:用戶 ID,用戶名,密碼,郵箱。用戶登陸:主要完成用戶和管理員的登陸。用戶想訂票必須登陸后才能進 行訂票,如果沒有注冊的用戶應該與注冊頁面相連接。修改密碼:用戶和管理員登陸后可以修改個人信息。添加車次:管理員登陸后可以添加新的車次。數據需求信息輸入信息處理信息輸出用戶輸入所需車次檢索系統數據庫符合用戶需求的車次及相關信息用戶管理員輸入用戶名、密碼進行登錄檢索系統數據庫成功登陸后的首頁用戶輸入個人信息進行注冊將輸入信息存入系統數據庫操作反饋用戶輸入訂票數量操作反饋檢索系統數據庫已得到訂票記錄,添加用戶請求的訂票記錄,更新系統數據庫用戶輸入退票數量檢索系統數據庫已得到訂票記錄,刪除用戶請求的訂票記錄,更新系統數據庫操作反饋用戶管理員輸入新密碼更新系統數據庫操作反饋管理員輸入添加車次信息將新信息存入數據庫操作反饋性能需求準確性和及時性系統應能及時準確的根據用戶權限及所輸入的信息作出響應。由于查詢功 能對于用戶來講很重要,因為這直接影響了用戶的訂票決策,所以系統的 準確性和及時性很重要。易用性本系統是針對用戶直接開放的,所以應該提供良好的接口。安全性 網上訂票的數據是很重要的信息,系統應該保證用戶的權限,對于車次的 信息不能更改。同時還應該保證管理人員進行正常的維護、更新等工作, 保證數據的一致性。數據流圖頂層數據流圖1層數據流圖3.概念結構設計系統結構簡述本系統包括六個實體:訂票人,訂票單信息,車票信息,車次信息,操作員,余票信息。訂票人與訂票單、訂票單與車票信息這兩個關系是一對一的聯系;車票信息與車次信息、 訂票單信息與操作員這兩個關系是1對多的聯系。數據處理查詢所有訂票人信息:輸入:身份證號輸出:訂票單號,訂票人身份證號,訂單時間,付款取票與否,車次號,車票號, 票價,員工號。查詢訂票人的已定車票的信息:輸入:身份證號輸出:車票號,始發站,車次號,發車時間,終點站,車票種類。查詢某一車上乘坐的乘客的信息:輸入:車次號 輸出:姓名,身份證號,聯系電話,目的城市,始發城市。查詢余票數量輸入:乘車區間和車次號輸出:余票數量。生成E-R圖始發站目的站訂票人始發站目的站訂票人聯系電話聯系電話姓名姓名11n1n11111出發日期余票張數出發站目的站車次號余票信息查詢終點站車次號始發站途徑車站票價員工號車次信息屬于車票種類發車時間訂單號車票號始發站終點站車廂號座位號取票與否車票信息屬于訂票點號姓名電話性別票價操作員操作訂單時間車票號員工號身份證號車次號訂單號訂單號訂票信息屬于身份證號 11n1n11111出發日期余票張數出發站目的站車次號余票信息查詢終點站車次號始發站途徑車站票價員工號車次信息屬于車票種類發車時間訂單號車票號始發站終點站車廂號座位號取票與否車票信息屬于訂票點號姓名電話性別票價操作員操作訂單時間車票號員工號身份證號車次號訂單號訂單號訂票信息屬于身份證號車票種類車次號訂票人表(身份證車票種類車次號訂票人表(身份證號,姓名,聯系電話,始發城市,目的城市,訂單號)操作員表(員工號,訂票點號,姓名,性別,電話)車次信息表(車次號,始發站,終點站,途徑站)訂票單表(訂單號,身份證號,訂單時間,付款取票與否,車次號,車票號,票價,員工號)車票信息表(車票號,車次號,始發站,發車時間,終點站,車票種類,訂單號,車廂號,座位號)說明:車票種類為:“無座”或“硬座”或“硬臥”或“軟臥”車次號訂票人表(身份證號,姓名,聯系電話,始發城市,目的城市,訂單號)操作員表(員工號,訂票點號,姓名,性別,電話)車次信息表(車次號,始發站,終點站,途徑站)訂票單表(訂單號,身份證號,訂單時間,付款取票與否,車次號,車票號,票價,員工號)車票信息表(車票號,車次號,始發站,發車時間,終點站,車票種類,訂單號,車廂號,座位號)說明:車票種類為:“無座”或“硬座”或“硬臥”或“軟臥”車次號訂票人表(身份證號,姓名,聯系電話,始發城市,目的城市,訂單號)操作員表(員工號,訂票點號,姓名,性別,電話)車次信息表(車次號,始發站,終點站,途徑站)訂票單表(訂單號,身份證號,訂單時間,付款取票與否,車次號,車票號,票價,員工號)車票信息表(車票號,車次號,始發站,發車時間,終點站,車票種類,訂單號,車廂號,座位號)說明:車票種類為:“無座”或“硬座”或“硬臥”或“軟臥”車次號訂票人表(身份證號,姓名,聯系電話,始發城市,目的城市,訂單號)操作員表(員工號,訂票點號,姓名,性別,電話)車次信息表(車次號,始發站,終點站,途徑站)訂票單表(訂單號,身份證號,訂單時間,付款取票與否,車次號,車票號,票價,員工號)車票信息表(車票號,車次號,始發站,發車時間,終點站,車票種類,訂單號,車廂號,座位號)說明:車票種類為:“無座”或“硬座”或“硬臥”或“軟臥”4邏輯結構設計關系模式訂票人表(身份證號,姓名,聯系電話,始發城市,目的城市,訂單號)操作員表(員工號,訂票點號,姓名,性別,電話)車次信息表(車次號,始發站,終點站,途徑站)訂票單表(訂單號,身份證號,訂單時間,付款取票與否,車次號,車票號,票價, 員工號)車票信息表(車票號,車次號,始發站,發車時間,終點站,車票種類,訂單號, 車廂號,座位號) 說明:車票種類為:“無座”或“硬座”或“硬臥”或“軟臥”余票信息表(車次號,車票種類,出發站,目的站,出發時間)5物理結構設計訂票人表字段類型特殊屬性身份證char(18)主鍵,非空姓名char(10)NOTNULL聯系電話varchar(12)NOTNULL始發城市varchar(10)NOTNULL目的城市varchar(10)NOTNULL訂單號char(20)外鍵訂票單表字段類型特殊屬性訂單號char(20)主鍵身份證號char(18)外鍵訂票時間datetimeNOTNULL付款取票與否char(2)NOTNULL,默認‘是’或“否”車次號varchar(10)LIKE‘[A-Z]%’車票號char(20)外鍵票價intNOTNULL員工號char(20)外鍵車票表字段字段特殊屬性車票號char(20)主鍵車次號varchar(10)外鍵始發站varchar(10)NOTNULL發車時間datetimeNOTNULL車廂號intNOTNULL座位號intNOTNULL終點站varchar(10)NOTNULL車票種類char(20)IN(‘軟臥’,‘硬臥’,‘軟座’,‘硬座’,‘站票’)訂單號char(20)NOTNULL車次表字段類型特殊屬性車次號char(20)主鍵始發站varchar(10)NOTNULL終點站varchar(10)NOTNULL途徑站varchar(10)NOTNULL操作員表字段類型特殊屬性員工號char(20)主鍵訂票點號char(20)NOTNULL姓名varchar(10)NOTNULL性別char(2)NOTNULL,默認‘男’或‘女’電話varchar(12)NOTNULL余票信息表字段類型特殊屬性車次號varchar(10)主鍵車票種類char(10)主鍵出發站varchar(10)NOTNULL目的站varchar(10)NOTNULL出發時間datatimeNOTNULL余票張數intNOTNULL6數據庫實施建立數據庫createdatabase網上訂票數據庫onprimary(name=網上訂票數據庫,filename='E:\數據庫\網上訂票數據庫.mdf',size=5MB,FILEGROWTH=10%)logon(name=網上訂票數據庫_log,filename='E:\數據庫\網上訂票數據庫',size=5MB,FILEGROWTH=2MB)建立基本表創建訂票人表:createtable訂票人表(身份證號char(18)notnullprimarykey,姓名varchar(10)notnull,聯系電話varchar(12)notnull,始發城市varchar(10)notnull,目的城市varchar(10)notnull,訂單號char(20))創建操作員表:createtable操作員表(員工號char(10)primarykey,訂票點varchar(10)notnull,姓名varchar(10)notnull,性別char(2)check(性別in('男','女')),電話varchar(12)notnull)創建車次信息表:createtable車次信息表(車次號varchar(10)check(車次號LIKE'[A-Z]%')primarykey,始發站varchar(10)notnull,終點站varchar(10)notnull,途經站varchar(100))創建訂票單表:createtable訂票單表(訂單號char(20)primarykey,身份證號char(18)references訂票人表(身份證號),訂票時間datetimenotnull,付款取票與否char(2)check(付款取票與否in('是','否')),車次號varchar(10)check(車次號LIKE'[A-Z]%'),車票號char(20)notnull,票價intnotnull,員工號char(10)references操作員表(員工號))創建車票信息表:createtable車票信息表(車票號char(20)primarykey,車次號varchar(10)check(車次號LIKE'[A-Z]%'),始發站varchar(10)notnull,發車時間datetimenotnull,終點站varchar(10)notnull,車票種類char(4)check(車票種類in('無座','硬座','硬臥','軟臥')),訂單號char(20)references訂票單表(訂單號),車廂號intnotnull,座位號intnotnull)創建余票信息表: createtable余票信息表 (車次號varchar(10)check(車次號LIKE'[A-Z]%')primarykey, 出發站varchar(10)notnull,目的站varchar(10)notnull, 余票張數intnotnull, 車票種類char(20)primarykey, 出發日期datatime)建立索引訂票人表:IFexists(select*fromsysindexeswherename='pID_index')dropindex訂票人表.pID_indexcreateuniqueindexpID_indexon訂票人表(身份證號)withfillfactor=30訂票單表:IFexists(select*fromsysindexeswherename='piaoDanNO_index')dropindex訂票單表.piaoDanNO_indexcreateindexpiaoDanNO_indexon訂票單表(訂單號)車票信息表:IFexists(select*fromsysindexeswherename='piaoNO_index')dropindex車票信息表表.piaoNO_indexcreateindexpiaoNO_indexon車票信息表(車票號)車次信息表:IFexists(select*fromsysindexeswherename='cheCiNO_index')dropindex車次信息表.cheCiNO_indexcreateindexcheCiNO_indexon車次信息表(車次號)操作員表:IFexists(select*fromsysindexeswherename='yuanGongNO_index')dropindex操作員表.yuanGongNO_indexcreateindexyuanGongNO_indexon操作員表(員工號)創建視圖createviewallInfo_viewasselect訂票人表.姓名,訂票人表.身份證號,訂票單表.車次號, 車票信息表.車票號,車票信息表.發車時間,車票信息表.始發站, 車票信息表.終點站,訂票單表.票價from訂票人表innerjoin訂票單表on訂票人表.身份證號=訂票單表.身份證號innerjoin車票信息表on訂票單表.車票號=車票信息表.車票號innerjoin車次信息表on車票信息表.車次號=車次信息表.車次號創建存儲過程 創建存儲過程,通過身份證號查詢訂票人信息:createprocedurepInfo_proc@pIDchar(18)asselect身份證號,姓名,聯系電話,始發城市,目的城市,訂單號from訂票人表where身份證號=@pID創建存儲過程,通過身份證號查詢訂票人訂票信息:createprocedureticket_proc@pIDchar(18)asselect姓名,訂票單表.訂單號,訂票人表.身份證號,訂票時間,付款取票與 否,車次號,車票號,票價,員工號from訂票單表innerjoin訂票人表on訂票人表.身份證號=訂票單表.身份證號where訂票單表.身份證號=@pID創建觸發器createtrigger余票更新on車票信息表forinsertasdeclare@車次號varchar(10)select@車次號=車次號frominsertedupdate余票信息表set余票張數=余票張數-1where車次號=@車次號createtrigger余票更新2on車票信息表fordeleteasdeclare@車次號varchar(10)select@車次號=車次號fromdeletedupdate余票信息表set余票張數=余票張數+1where車次號=@車次號插入數據向操作員表中插入數據:insertinto操作員

溫馨提示

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

評論

0/150

提交評論