大型數(shù)據(jù)庫課程設(shè)計火車站票務(wù)管理系統(tǒng)._第1頁
大型數(shù)據(jù)庫課程設(shè)計火車站票務(wù)管理系統(tǒng)._第2頁
大型數(shù)據(jù)庫課程設(shè)計火車站票務(wù)管理系統(tǒng)._第3頁
大型數(shù)據(jù)庫課程設(shè)計火車站票務(wù)管理系統(tǒng)._第4頁
大型數(shù)據(jù)庫課程設(shè)計火車站票務(wù)管理系統(tǒng)._第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大型數(shù)據(jù)庫課程設(shè)計設(shè)計報告題 目:火車站票務(wù)管理系統(tǒng)后臺數(shù)據(jù)庫學(xué) 號: gggg學(xué)生姓名:ddd指導(dǎo)教師:fgg提交時間:2013-11-23目錄第1章需求分析2.1.1 需求調(diào)查2.1.2系統(tǒng)功能分析2.1.3面對用戶需求分析3.第2章面向?qū)ο蠓治龊驮O(shè)計 4.類和對象設(shè)計如下:4.第3章邏輯結(jié)構(gòu)設(shè)計6.3.1 類和對象向關(guān)系模式轉(zhuǎn)換 9.第4章數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計9.4.1 存取方法設(shè)計 9.4.2 存儲結(jié)構(gòu)設(shè)計 9.4.3 物理設(shè)計9.第5章數(shù)據(jù)庫完整性設(shè)計95.1 主鍵及唯一性索引 125.2 參照完整性設(shè)計125.3 Check 約束1.35.4 Default 約束1.35.5 觸發(fā)器

2、設(shè)計 1.3第6章數(shù)據(jù)庫視圖設(shè)計13第7章數(shù)據(jù)庫存儲過程設(shè)計15第8章權(quán)限設(shè)計1.7總結(jié)19參考文獻:202教務(wù)管理系統(tǒng)后臺數(shù)據(jù)庫第1章需求分析通過對火車站客運量、旅客和業(yè)務(wù)員的調(diào)查,該火車站票務(wù)管理系統(tǒng)有如下需求:1)系統(tǒng)管理:實現(xiàn)系統(tǒng)管理人員對系統(tǒng)的管理,包括添加刪除用戶,更改密 碼,數(shù)據(jù)備份,數(shù)據(jù)還原,注銷等功能。2)票務(wù)管理:實現(xiàn)對火車運行站點及時間的管理、對業(yè)務(wù)員的管理、對余票的更新及退票的管理。3)基本信息:實現(xiàn)顯示火車及業(yè)務(wù)員的基本信息。4)售票:在有剩余座位的情況下自動更新剩余的座位數(shù),控制不超員。5)查詢:包括實現(xiàn)車次查詢,業(yè)務(wù)員查詢??梢圆樵兓疖嚨能嚪N、編號、車廂數(shù)等;查詢

3、售票員工作的車站名,及其年齡、性別等;6)服務(wù)器配置:對它進行配置可以使得在其他電腦上也照常使用。這樣不必 每次都到數(shù)據(jù)庫中去更改。7)幫助系統(tǒng):幫助系統(tǒng)為用戶指明方向。1.2系統(tǒng)功能分析1車次管理:用于對火車基本信息的錄入、查詢、修改、維護、刪除等常 用功能。2、車次及價格管理(含到各站的價格):可以按照車次或始發(fā)站、終點站 兩種方式進行查詢,只需要輸入關(guān)鍵信息即可查到所需的車次的有關(guān)信息, 包括車的類型、所剩票的類型、數(shù)量、票價等。3、實現(xiàn)業(yè)務(wù)員管理:用于對業(yè)務(wù)員基本信息的錄入、查詢、修改、維護、 刪除等常用功能,并提供工作地點變動、獎懲登記等功能。4、實現(xiàn)車票銷售管理:車票銷售時不能超員

4、,并自動修改剩余的座位數(shù)(用 觸發(fā)器實現(xiàn));5、創(chuàng)建存儲過程統(tǒng)計指定車次指定發(fā)車時間的車票銷售情況;6、創(chuàng)建存儲過程統(tǒng)計指定日期各業(yè)務(wù)員車票的銷售收入;7 、實現(xiàn)退票管理:由于一些原因,可能造成客戶要求退票,系統(tǒng)根據(jù)具體 的情況判定是否可以退票,進行退票。退票時自動修改相應(yīng)車次的剩余座位數(shù)。1.3面對用戶需求分析在火車站票務(wù)管理系統(tǒng)中,最主要的功能就是進行一系列的查詢和各類數(shù) 據(jù)的管理。因此,可以將火車站票務(wù)管理系統(tǒng)分為管理系統(tǒng)(有數(shù)據(jù)變化)和 查詢系統(tǒng)兩個子系統(tǒng)。而在所設(shè)計的火車站票務(wù)管理系統(tǒng)中,主要有三類用戶, 即旅客用戶、業(yè)務(wù)員用戶、系統(tǒng)管理員。各類用戶在該系統(tǒng)中的需求不同, 權(quán)限也不同

5、。因此,為了更明確,更系統(tǒng)的了解用戶需求,我們還可以將管理 系統(tǒng)再細分為旅客管理系統(tǒng),業(yè)務(wù)員管理系統(tǒng),系統(tǒng)管理員管理系統(tǒng)。同樣, 將查詢系統(tǒng)也按用戶職能進行細分。這樣細分后,看似把系統(tǒng)需求繁雜化了。 其實不然,細分后使各用戶需求更加明確了,并且能更好的把握系統(tǒng)需求。下面從細分后的各個子系統(tǒng)分析子系統(tǒng)的需求:火車站票務(wù)管理系統(tǒng)車車業(yè)車退次次務(wù)票票管及員銷管理價管售理子格理管子系管子理系統(tǒng)理 子 系 統(tǒng)系 統(tǒng)3子系統(tǒng)統(tǒng)1) 車次管理系統(tǒng),旅客可以通過該系統(tǒng)查詢相關(guān)車次的基本信息,火車途經(jīng) 站點、出發(fā)時間、車的種類等。2) 車次及價格管理系統(tǒng),旅客可以按照相關(guān)車次及車站查詢相對票價及時間。3) 業(yè)務(wù)

6、員管理系統(tǒng),該系統(tǒng)中,主要顯示業(yè)務(wù)員的各項基本信息以及對業(yè)務(wù)員信息的管理。4) 車票銷售管理系統(tǒng),該系統(tǒng)主要是可以自動更新各個車次的剩余票數(shù)。5) 退票管理系統(tǒng),對由于各種原因需要退票的旅客提供退票服務(wù),系統(tǒng)根據(jù) 具體的情況判定是否可以退票,進行退票。退票時自動修改相應(yīng)車次的剩余座位 數(shù)。第2章 面向?qū)ο蠓治龊驮O(shè)計類和對象設(shè)計如下:管理員信息管理員編號;char(6) 姓名 ichar(8) 級別:chai(10) 添加0 修改0 刪除0 查詢0車次信息車次號;char。) 座位數(shù) int 發(fā)車時間:血璋) 里程;float 車種 chai(6) 添加0 修改0 刪除0 查詢0乘客信息身份證號

7、:char(lS) 姓名:char 車票編號:chai泓0修改0刪除0查詢0業(yè)務(wù)員員工編號:char(6) 姓名:char (8)工作站點:char(20)性別:bit年齡I int查詢()添加0修改()刪除()21車站信息V余票信息車次號匚hair車袂號:char終點站;char (20)發(fā)車時間1 datetime始發(fā)站=char(20)剩余票數(shù):int途徑車站:char (20)車票信息查詢()查詢()車票編號;char(5)添加()添加0座位種類:char (4)修改()修改()座位號匕char(5)刪除。刪除0票價;fl 自t詛亜住自售車倖阜發(fā)車時間匕dat eti ire入?yún)^(qū)方 1

8、 口卮、百不1 口啟、車次號;char (5)車票編號:char (5)員工編號:char(6)杳詢()車次號 char (5)車票編號:char添加()退票時間:datetime售票日期;蕊刪除()查詢0查詢()修改()添加0添加()刪除0修改0修改0刪除()第3章邏輯結(jié)構(gòu)設(shè)計局部ER圖1、車次管理2、售票員管理業(yè)務(wù)員3、車票銷售系統(tǒng)4、車票銷售超員管理總體ER圖發(fā)車時間車次號始發(fā)站終點站車種火車座位數(shù)到達時間經(jīng)過開車時間始發(fā)站終點站途徑車站車站隹西i=rnm退票退票日期票價車次號車票編號座位號座位號發(fā)時車廂號對應(yīng)座位剩余數(shù)座位號姓名性別年齡員工編號工作n售票日期座位種類n業(yè)務(wù)員3.1類和對

9、象向關(guān)系模式轉(zhuǎn)換車次信息(車次號、座位數(shù)、發(fā)時、車種)業(yè)務(wù)員信息(員工編號、姓名、性別、年齡)員工獎勵表(員工編號、工作站點、獎勵等級)車站信息(車次號、始發(fā)站、途徑車站、途徑車站、終點站)車票信息(車票編號、車次號、座位號、價格、發(fā)車時間、座位種類)退票信息(車票編號、車次號、退票日期)售票信息(員工編號、車次號、車票編號、售票日期)余票信息(車次號、發(fā)車時間、剩余票數(shù))第4章數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計4.1 存取方法設(shè)計數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系要建立多條存儲路徑才能滿足多用戶的多種應(yīng)用要求。對于火車站票務(wù)管理系統(tǒng)來說,為了提高某些屬性(如:車票編號、車次號、座位號、座位類型等)的

10、查詢速度,可以選擇聚簇存取的方法,即把這些屬性上具有相同值 的元組集中放在連續(xù)的物理塊上。這樣在查詢時就會大大提高查詢速度。因此,該系統(tǒng)中選擇聚簇存取方法。4.2 存儲結(jié)構(gòu)設(shè)計火車站票務(wù)管理系統(tǒng)是一個大型復(fù)雜的計算機網(wǎng)絡(luò)信息系統(tǒng),采用基于瀏覽器/服務(wù)器(B/S),客戶端/服務(wù)器(C/S)混合的應(yīng)用體系結(jié)構(gòu)來建設(shè)教務(wù)管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)采用Microsoft公司推出的 SQL Server 2000或以上版本,并用SQL進行數(shù)據(jù)庫的建立和數(shù)據(jù)庫中數(shù)據(jù)的維護和查詢。4.3 物理設(shè)計實現(xiàn)該設(shè)計的環(huán)境為 Win dows XP Professio nal + MS SQL Server 2005

11、或以上版本。一:建立火車站車票管理數(shù)據(jù)庫create database火車站車票管理數(shù)據(jù)庫-1、創(chuàng)建管理員表:createtable 管理員(管理員編號 char(6) not null primary key,姓名 char(8),級別 char(10)-2、創(chuàng)建乘客表:createtable 乘客表(身份證號 char(18) not null primary key, 姓名 char(8),車票編號char(5),) -3、建立業(yè)務(wù)員表: createtable 業(yè)務(wù)員(員工編號 char(6) not null primary key,姓名 char(8),性別bit,年齡int,)

12、-4、創(chuàng)建員工獎勵表createtable員工獎勵表(員工編號char(6) not nullreferences業(yè)務(wù)員(員工編號),工作站點char(20),獎勵等級char(10),primary key (員工編號) -5、建立車次表:createtable 車次表(車次號 char(5) not null primary key,座位數(shù)int,發(fā)車時間char(5) null ,車種char) -6、建立車站表:Createtable 車站表(車次號char(5) not null references車次表(車次號), 始發(fā)站 char(20) not null,途徑車站 char(

13、20) not null,途徑車站 char(20) not null,途徑車站 char(20)null,途徑車站 char(20)null,途徑車站 char(20) null, 終點站 char(20) not null, primary key (車次號) )-7、建立車票表:CREATE TABLE 車票表(車票編號 char(5) not null primary key , 車次號char(5) not null references車次表(車次號), 發(fā)車時間 datetime notn ull, 座位編號 char(5) not null, 價格float not nuII,

14、 座位種類char(4)-8、建立售票表:createtable 售票表(員工編號char(6) not null references業(yè)務(wù)員(員工編號), 車票編號char(5) not null references車票表(車票編號), 車次號char(5) not null references車次表(車次號), 售票日期datetime, primary key (員工編號,車票編號)-9、建立退票表:createtable 退票表(車票編號 char(5) not null primary key, 車次號char(5) not null references車次表(車次號), 退票

15、時間 datetime null ,foreign key (車票編號)references車票表(車票編號) -10、建立余票表:createtable 余票表(車次號 char(5) not null primary key,剩余票數(shù)int not null,發(fā)車時間datetime,foreign key (車次號)references車次表(車次號)第5章數(shù)據(jù)庫完整性設(shè)計5.1主鍵及唯一性索引表名主鍵建立唯一性索引車次表(車次號)create unique in dex車次表on車次表(車次號asc)業(yè)務(wù)員(員工編號)create unique in dex業(yè)務(wù)員on業(yè)務(wù)員(員工編號a

16、sc)車站表(車站號)create unique in dex車站表on車站表(車站號asc)售票表(車票號)create unique in dex售票表on售票表(車票號asc)車票表(車票編號,車次號)create unique in dex車票表on車票表(車票編號asc,車次號asc)退票表(車票號)create unique in dex退票表on退票表(車票號 asc)余票表(車次號)create unique in dex余票表on余票表(車次號asc)5.2參照完整性設(shè)計甲員工st耳性軸v員a號冬慕日綁車蕓表握車間 座宣誇座泣種奘車探表亍車費號 座向ft車種車詰垛?戦號 舶謝

17、占余票裘1? 2煒filiEi迷讎如 迷狂車?yán)?迷注車?yán)?銘點站5.3 Check 約束1、 業(yè)務(wù)員表中將性別進行check約束:alter table 業(yè)務(wù)員add constraint sex check(性別 in(1,0)2、 車票表中將座位編號進行check約束:alter table 車票表add constraint zum check(座位編號 =12000 and 座位編號 =2print退票成功elseprint不能退票end-觸發(fā)檢驗:insertinto 退票表 valuesC20116;S213;2013-11-19 12:00)第6章數(shù)據(jù)庫視圖設(shè)計-1、創(chuàng)建業(yè)務(wù)員表

18、視圖createview 業(yè)務(wù)員表視圖 with encryptionasselect業(yè)務(wù)員.員工編號,姓名,工作站點,獎勵等級from業(yè)務(wù)員,員工獎勵表where業(yè)務(wù)員.員工編號二員工獎勵表.員工編號with checkoption-2、創(chuàng)建車次管理視圖createview車次管理視圖asselect車次表.車次號,座位數(shù),發(fā)車時間,車種,始發(fā)站,終點站 from車次表,車站表where車次表.車次號=車站表.車次號-、創(chuàng)建車票表視圖createview車票表視圖asselect車票編號,車次號,發(fā)車時間,座位編號,價格,座位種類from車票表-4、創(chuàng)建車票銷售視圖createview創(chuàng)建車

19、票銷售視圖asselect車次管理視圖.車次號,車次管理視圖.發(fā)車時間,車種始發(fā)站,終點站,價格, 座位種類,剩余票數(shù)from車次管理視圖,車票表,余票表where余票表.車次號=車票表.車次號and車次管理視圖.車次號=余票表.車次號-5、創(chuàng)建車票銷售視圖createview車票銷售視圖asselect員工編號,售票表.車票編號,價格,售票日期from 車票表,售票表where售票表.車票編號=車票表.車票編號-&創(chuàng)建售票表視圖createview售票表視圖asselect員工編號,車票編號,車次號,售票日期from售票表-7、創(chuàng)建退票表視圖createview退票表視圖asselect車票

20、編號,車次號,退票時間from退票表-8、創(chuàng)建余票表視圖createview余票表視圖asselect車次號,剩余票數(shù),發(fā)車時間from余票表-9、創(chuàng)建余票情況視圖1createview 余票情況視圖1asselect余票表.車次號,發(fā)車時間from余票表,售票表where余票表.車次號二售票表.車次號-10、創(chuàng)建余票情況視圖2createview余票情況視圖2asselect售票表.車次號,發(fā)車時間from余票表,售票表where余票表.車次號二售票表.車次號第7章數(shù)據(jù)庫存儲過程設(shè)計-1、指定始發(fā)站和終點站查詢車次號、車種、價格、座位種類、剩余票數(shù)等信 息createprocedurebte

21、nd 始發(fā)站 char(20),終點站 char(20)asbeg inset nocount onselect*from車票銷售視圖where始發(fā)站=始發(fā)站and終點站=終點站end-執(zhí)行存儲過程exec btend 鄭州,北京車次號發(fā)車時車種始發(fā)市座位種制余魁1D2022836動車鄭州北京94砸座782T14E330特快鄭州北京156殛臥783T1473:D3特快北京15砸臥904T1SB5:35特快鄭州北京94245T19011:11特快鄭州北京W砸臥346D31Q115:05動車鄭洲北京94437D31O27:18動車鄭州礦臥44sD31M9:1E動車鄭州.怙礦臥229D31097:2

22、2動車鄭卅北京S4砸臥WD311020:20動車鄭州北京94匱臥33110311216:33動車鄭汕北京礪臥4-2、指定車次查詢始發(fā)站、終點站、車種、價格、座位種類、剩余票數(shù)等信息 createprocedure按車次查詢 車次號char(5)asbeg inset nocount onselect*from車票銷售視圖where車次號=車次號End exec按車次查詢T146車真尋發(fā)車時車種始發(fā)終點價”座位種.剽金票數(shù)1 pTlit”1 3:30 特快鄭卅北京 156礪臥 76L t L? * r i L * 2 I * r-3、指定車次指定發(fā)車時間的車票銷售情況create procedu

23、re p_selld t_numn char(5),d_time_in datetimesum_ticket char(6) outputasselect 車次號,count(*) assum_ticketfrom余票情況視圖where余票情況視圖.車次號=t_numn and發(fā)車時間=d_time_ingroup by車次號go -執(zhí)行存儲過程exec p_selld G574, 2013/11/19 15:53:00;count(*) 生咨號 $um_ticket1G574 1 5Jr 十 rm-J-4、指定日期各業(yè)務(wù)員車票的銷售收入create procedure rp_selledy_

24、numnchar(6)output,d_time_i ndatetime, money char(6) output asselect 員工編號,sum(價格)asmoneyfrom車票銷售視圖where 員工編號 =y_numn and 售票日期 =d_time_ingroup by員工編號go-執(zhí)行存儲過程exec rp_selled 111002; 2013/2/10 0:00:00;sum(價格)員工編號釦oney1 f 111M2 I 7BDL.:-5、指定員工編號查詢售出票數(shù)createprocedure 編號查詢 員工編號 char(6) output,售出票數(shù) char(6)

25、output asselect員工編號,count(車票編號)as;售出票數(shù)from售票表where員工編號=員工編號group by員工編號goexec編號查詢;111002;count(車票編號)員工漏昜運售岀票數(shù)1 111002 21irnriim-i-6、改變指定員工的工作站點createprocedure工作站點變更 員工編號char(6),X作站點char(20) asupdate員工獎勵表set工作站點=工作站點where員工編號=員工編號goexec工作站點變更111002;北京-7、根據(jù)身份證號碼查詢乘客的車票信息create procedures_tri1 id char(

26、18)asselect身份證號,姓名,乘客表.車票編號,車次管理視圖.車次號,車種,始發(fā)站,終點 站,車票表.發(fā)車時間,座位編號,價格,座位種類 from乘客表,車次管理視圖,車票表where車票表.車次號=車次管理視圖.車次號and車票表.車票編號=乘客表車票 編號and身份證號=idgo-執(zhí)行存儲過程exec s_tri1份證尋姓名車票編車次“車種始發(fā)繩軋.岌車時間座位編你座憶種類111082159210020013韓笑2M20G566 高鐵含肥寸晾20111-1916:5a:DO.MO1202D207軟琢 mes-sen*第8章權(quán)限設(shè)計-1、創(chuàng)建一

27、級管理員的登錄名及用戶,并給一級管理員授權(quán) createlogi n 級管理員with password=123456;default_databas=火車站票務(wù)管理數(shù)據(jù)庫 create role 一級管理員authorizati on dbocreateuser 一級管理員for login 一級管理員with default_schema=dbogrant insert ,updatedeleteon 退票表 to 一級管理員 grant insert ,updatedeleteon 車次表 to 一級管理員 grant insert ,updatedeleteon 車站表 to 一級管理

28、員-2、創(chuàng)建二級管理員的登錄名及用戶,并給二級管理員授權(quán) createlogin二級管理員with password=123456,default_databas=火車站票務(wù)管理數(shù)據(jù)庫 create role二級管理員 authorizati on dbo createuser二級管理員for login二級管理員with default_schema=dbogrant insert ,updatedeleteon 退票表 to 二級管理員 grant insert ,updatedeleteon 車站表 to 二級管理員-3、創(chuàng)建數(shù)據(jù)庫角色業(yè)務(wù)員并給業(yè)務(wù)員授權(quán)create role 業(yè)務(wù)員a

29、uthorizati on dbo grant select on 車票表to 業(yè)務(wù)員grant select on 車次表to 業(yè)務(wù)員grant insert ,updatedeleteon 售票表 to 業(yè)務(wù)員 grant insert ,updatedeleteon 退票表 to 業(yè)務(wù)員-4、創(chuàng)建數(shù)據(jù)庫角色乘客并給乘客授權(quán)create role 乘客authorizati on dbo grant select on 車票表to 乘客 grant select on 車次表to 乘客 grant select on 車站表to 乘客總結(jié)通過這么多天的數(shù)據(jù)庫課程設(shè)計的學(xué)習(xí),我受益匪淺,從中學(xué)到了許多新知識,這些知識是在課堂中不能學(xué)到或者說很難學(xué)到的。并且對sql server 這一門課程有了更深一步的理解。在做課程設(shè)計中,我們可以把課堂上所學(xué)的理論知識和實踐聯(lián)系起來,在所要開發(fā)的系統(tǒng)中漸漸學(xué)會了融會貫通。同樣通過對SQL的應(yīng)用,也使我們熟練和鞏固了對 SQL的理解。 這樣我們對

溫馨提示

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

評論

0/150

提交評論