大型數(shù)據(jù)庫(kù)課程設(shè)計(jì)--火車站票務(wù)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  大型數(shù)據(jù)庫(kù)課程設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)報(bào)告</b></p><p>  題 目:火車站票務(wù)管理系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)</p><p><b>  目錄</b></p><p>  第1章 需求分析2</p>&l

2、t;p>  1.1 需求調(diào)查2</p><p>  1.2系統(tǒng)功能分析2</p><p>  1.3面對(duì)用戶需求分析3</p><p>  第2章 面向?qū)ο蠓治龊驮O(shè)計(jì)4</p><p>  類和對(duì)象設(shè)計(jì)如下:4</p><p>  第3章 邏輯結(jié)構(gòu)設(shè)計(jì)6</p><p>  3

3、.1 類和對(duì)象向關(guān)系模式轉(zhuǎn)換9</p><p>  第4章 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)9</p><p>  4.1存取方法設(shè)計(jì)9</p><p>  4.2 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)9</p><p>  4.3 物理設(shè)計(jì)9</p><p>  第5章 數(shù)據(jù)庫(kù)完整性設(shè)計(jì)9</p><p>  5.1

4、 主鍵及唯一性索引12</p><p>  5.2參照完整性設(shè)計(jì)12</p><p>  5.3 Check約束13</p><p>  5.4 Default約束13</p><p>  5.5觸發(fā)器設(shè)計(jì)13</p><p>  第6章 數(shù)據(jù)庫(kù)視圖設(shè)計(jì)13</p><p>  

5、第7章 數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程設(shè)計(jì)15</p><p>  第8章 權(quán)限設(shè)計(jì)17</p><p><b>  總結(jié)19</b></p><p><b>  參考文獻(xiàn):20</b></p><p><b>  第1章 需求分析</b></p><p>  

6、通過(guò)對(duì)火車站客運(yùn)量、旅客和業(yè)務(wù)員的調(diào)查,該火車站票務(wù)管理系統(tǒng)有如下需求:</p><p>  系統(tǒng)管理:實(shí)現(xiàn)系統(tǒng)管理人員對(duì)系統(tǒng)的管理,包括添加刪除用戶,更改密碼, 數(shù)據(jù)備份,數(shù)據(jù)還原,注銷等功能。</p><p>  票務(wù)管理:實(shí)現(xiàn)對(duì)火車運(yùn)行站點(diǎn)及時(shí)間的管理、對(duì)業(yè)務(wù)員的管理、對(duì)余票的更新及退票的管理。</p><p>  基本信息:實(shí)現(xiàn)顯示火車及業(yè)務(wù)員的基本信息。&

7、lt;/p><p>  售票:在有剩余座位的情況下自動(dòng)更新剩余的座位數(shù),控制不超員。</p><p>  查詢:包括實(shí)現(xiàn)車次查詢,業(yè)務(wù)員查詢??梢圆樵兓疖嚨能嚪N、編號(hào)、車廂數(shù)等;查詢售票員工作的車站名,及其年齡、性別等;</p><p>  服務(wù)器配置:對(duì)它進(jìn)行配置可以使得在其他電腦上也照常使用。這樣不必每次都到數(shù)據(jù)庫(kù)中去更改。</p><p>

8、  幫助系統(tǒng):幫助系統(tǒng)為用戶指明方向。</p><p><b>  1.2系統(tǒng)功能分析</b></p><p>  1、車次管理:用于對(duì)火車基本信息的錄入、查詢、修改、維護(hù)、刪除等常用功能。</p><p>  2、車次及價(jià)格管理(含到各站的價(jià)格):可以按照車次或始發(fā)站、終點(diǎn)站兩種方式進(jìn)行查詢,只需要輸入關(guān)鍵信息即可查到所需的車次的有關(guān)信息,包

9、括車的類型、所剩票的類型、數(shù)量、票價(jià)等。</p><p>  3、實(shí)現(xiàn)業(yè)務(wù)員管理:用于對(duì)業(yè)務(wù)員基本信息的錄入、查詢、修改、維護(hù)、刪除等常用功能,并提供工作地點(diǎn)變動(dòng)、獎(jiǎng)懲登記等功能。</p><p>  4、實(shí)現(xiàn)車票銷售管理:車票銷售時(shí)不能超員,并自動(dòng)修改剩余的座位數(shù)(用觸發(fā)器實(shí)現(xiàn));</p><p>  5、創(chuàng)建存儲(chǔ)過(guò)程統(tǒng)計(jì)指定車次指定發(fā)車時(shí)間的車票銷售情況;<

10、;/p><p>  6、創(chuàng)建存儲(chǔ)過(guò)程統(tǒng)計(jì)指定日期各業(yè)務(wù)員車票的銷售收入;</p><p>  7、實(shí)現(xiàn)退票管理:由于一些原因,可能造成客戶要求退票,系統(tǒng)根據(jù)具體 的情況判定是否可以退票,進(jìn)行退票。退票時(shí)自動(dòng)修改相應(yīng)車次的剩余座位數(shù)。</p><p>  1.3面對(duì)用戶需求分析</p><

11、;p>  在火車站票務(wù)管理系統(tǒng)中,最主要的功能就是進(jìn)行一系列的查詢和各類數(shù)據(jù)的管理。因此,可以將火車站票務(wù)管理系統(tǒng)分為管理系統(tǒng)(有數(shù)據(jù)變化)和查詢系統(tǒng)兩個(gè)子系統(tǒng)。而在所設(shè)計(jì)的火車站票務(wù)管理系統(tǒng)中,主要有三類用戶,即旅客用戶、業(yè)務(wù)員用戶、、系統(tǒng)管理員。各類用戶在該系統(tǒng)中的需求不同,權(quán)限也不同。因此,為了更明確,更系統(tǒng)的了解用戶需求,我們還可以將管理系統(tǒng)再細(xì)分為旅客管理系統(tǒng),業(yè)務(wù)員管理系統(tǒng),系統(tǒng)管理員管理系統(tǒng)。同樣,將查詢系統(tǒng)也按用戶

12、職能進(jìn)行細(xì)分。這樣細(xì)分后,看似把系統(tǒng)需求繁雜化了。其實(shí)不然,細(xì)分后使各用戶需求更加明確了,并且能更好的把握系統(tǒng)需求。</p><p>  下面從細(xì)分后的各個(gè)子系統(tǒng)分析子系統(tǒng)的需求:</p><p>  1) 車次管理系統(tǒng),旅客可以通過(guò)該系統(tǒng)查詢相關(guān)車次的基本信息,火車途經(jīng)站點(diǎn)、出發(fā)時(shí)間、車的種類等。</p><p>  2) 車次及價(jià)格管理系統(tǒng),旅客可以按照相關(guān)車次

13、及車站查詢相對(duì)票價(jià)及時(shí)間。</p><p>  3)業(yè)務(wù)員管理系統(tǒng),該系統(tǒng)中,主要顯示業(yè)務(wù)員的各項(xiàng)基本信息以及對(duì)業(yè)務(wù)員信息的管理。</p><p>  4)車票銷售管理系統(tǒng),該系統(tǒng)主要是可以自動(dòng)更新各個(gè)車次的剩余票數(shù)。</p><p>  5) 退票管理系統(tǒng),對(duì)由于各種原因需要退票的旅客提供退票服務(wù),系統(tǒng)根據(jù)具體的情況判定是否可以退票,進(jìn)行退票。退票時(shí)自動(dòng)修改相應(yīng)

14、車次的剩余座位數(shù)。</p><p><b>  面向?qū)ο蠓治龊驮O(shè)計(jì)</b></p><p><b>  類和對(duì)象設(shè)計(jì)如下:</b></p><p>  第3章 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p><b>  局部ER圖</b></p><p><b>

15、;  車次管理</b></p><p><b>  1n</b></p><p>  2、售票員管理業(yè)務(wù)員</p><p><b>  n1</b></p><p><b>  車票銷售系統(tǒng)</b></p><p><b>  

16、nm</b></p><p><b>  nm</b></p><p>  4、車票銷售超員管理</p><p><b>  1n</b></p><p><b>  總體ER圖</b></p><p><b>  m<

17、/b></p><p><b>  1</b></p><p><b>  1</b></p><p><b>  1</b></p><p><b>  n</b></p><p><b>  n</b>

18、;</p><p><b>  n</b></p><p><b>  mn</b></p><p><b>  m</b></p><p><b>  n</b></p><p>  3.1 類和對(duì)象向關(guān)系模式轉(zhuǎn)換</p&

19、gt;<p>  車次信息(車次號(hào)、座位數(shù)、發(fā)時(shí)、車種)</p><p>  業(yè)務(wù)員信息(員工編號(hào)、姓名、性別、年齡)</p><p>  員工獎(jiǎng)勵(lì)表(員工編號(hào)、工作站點(diǎn)、獎(jiǎng)勵(lì)等級(jí))</p><p>  車站信息(車次號(hào)、始發(fā)站、途徑車站、途徑車站、終點(diǎn)站)</p><p>  車票信息(車票編號(hào)、車次號(hào)、座位號(hào)、價(jià)格、發(fā)車時(shí)間

20、、座位種類)</p><p>  退票信息(車票編號(hào)、車次號(hào)、退票日期)</p><p>  售票信息(員工編號(hào)、車次號(hào)、車票編號(hào)、售票日期)</p><p>  余票信息(車次號(hào)、發(fā)車時(shí)間、剩余票數(shù))</p><p>  第4章 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)</p><p><b>  存取方法設(shè)計(jì)</b>

21、;</p><p>  數(shù)據(jù)庫(kù)系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存儲(chǔ)路徑才能滿足多用戶的多種應(yīng)用要求。對(duì)于火車站票務(wù)管理系統(tǒng)來(lái)說(shuō),為了提高某些屬性(如:車票編號(hào)、車次號(hào)、座位號(hào)、座位類型等)的查詢速度,可以選擇聚簇存取的方法,即把這些屬性上具有相同值的元組集中放在連續(xù)的物理塊上。這樣在查詢時(shí)就會(huì)大大提高查詢速度。因此,該系統(tǒng)中選擇聚簇存取方法。</p><p>  4.2 存儲(chǔ)

22、結(jié)構(gòu)設(shè)計(jì)</p><p>  火車站票務(wù)管理系統(tǒng)是一個(gè)大型復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng),采用基于瀏覽器/服務(wù)器(B/S),客戶端/服務(wù)器(C/S)混合的應(yīng)用體系結(jié)構(gòu)來(lái)建設(shè)教務(wù)管理系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL進(jìn)行數(shù)據(jù)庫(kù)的建立和數(shù)據(jù)庫(kù)中數(shù)據(jù)的維護(hù)和查詢。</p><p><b>  4.3 物理設(shè)計(jì)</

23、b></p><p>  實(shí)現(xiàn)該設(shè)計(jì)的環(huán)境為Windows XP Professional + MS SQL Server 2005 或以上版本。</p><p>  一:建立火車站車票管理數(shù)據(jù)庫(kù)</p><p>  create database 火車站車票管理數(shù)據(jù)庫(kù)</p><p>  --1、創(chuàng)建管理員表:</p>

24、<p>  create table 管理員</p><p><b>  (</b></p><p>  管理員編號(hào)char(6) not null primary key,</p><p>  姓名char(8) ,</p><p>  級(jí)別char(10)</p><p><b

25、>  )</b></p><p>  --2、創(chuàng)建乘客表:</p><p>  create table 乘客表</p><p><b>  (</b></p><p>  身份證號(hào)char(18) not null primary key,</p><p>  姓名char(8

26、) ,</p><p>  車票編號(hào)char(5),</p><p><b>  )</b></p><p>  --3、建立業(yè)務(wù)員表:</p><p>  create table 業(yè)務(wù)員</p><p><b>  (</b></p><p>  

27、員工編號(hào)char(6) not null primary key,</p><p>  姓名char(8) ,</p><p><b>  性別bit,</b></p><p><b>  年齡int,</b></p><p><b>  )</b></p>&l

28、t;p>  --4、創(chuàng)建員工獎(jiǎng)勵(lì)表</p><p>  create table 員工獎(jiǎng)勵(lì)表</p><p><b>  (</b></p><p>  員工編號(hào)char(6) not null references 業(yè)務(wù)員(員工編號(hào)),</p><p>  工作站點(diǎn)char(20),</p>&l

29、t;p>  獎(jiǎng)勵(lì)等級(jí)char(10),</p><p>  primary key (員工編號(hào))</p><p><b>  )</b></p><p>  --5、建立車次表:</p><p>  create table 車次表</p><p><b>  (</b>

30、;</p><p>  車次號(hào)char(5) not null primary key,</p><p><b>  座位數(shù)int,</b></p><p>  發(fā)車時(shí)間char(5) null ,</p><p>  車種 char (4) </p><p><b>  )</

31、b></p><p>  --6、建立車站表:</p><p>  Create table 車站表</p><p><b>  (</b></p><p>  車次號(hào)char(5) not null references 車次表(車次號(hào)),</p><p>  始發(fā)站char(20) n

32、ot null,</p><p>  途徑車站char(20) not null,</p><p>  途徑車站char(20) not null,</p><p>  途徑車站char(20) null,</p><p>  途徑車站char(20) null,</p><p>  途徑車站char(20) n

33、ull,</p><p>  終點(diǎn)站char(20) not null,</p><p>  primary key (車次號(hào))</p><p><b>  )</b></p><p>  --7、建立車票表:</p><p>  CREATE TABLE 車票表</p><p

34、><b>  (</b></p><p>  車票編號(hào)char(5) not null primary key ,</p><p>  車次號(hào)char(5) not null references 車次表(車次號(hào)),</p><p>  發(fā)車時(shí)間datetime not null,</p><p>  座位編號(hào)c

35、har(5) not null,</p><p>  價(jià)格float not null,</p><p>  座位種類char(4)</p><p><b>  )</b></p><p>  --8、建立售票表:</p><p>  create table 售票表</p><

36、;p><b>  (</b></p><p>  員工編號(hào)char(6) not null references 業(yè)務(wù)員(員工編號(hào)),</p><p>  車票編號(hào)char(5) not null references 車票表(車票編號(hào)),</p><p>  車次號(hào)char(5) not null references 車次表(車次

37、號(hào)),</p><p>  售票日期datetime ,</p><p>  primary key (員工編號(hào),車票編號(hào))</p><p><b>  )</b></p><p>  --9、建立退票表:</p><p>  create table 退票表</p><p&g

38、t;<b>  (</b></p><p>  車票編號(hào)char(5) not null primary key,</p><p>  車次號(hào)char(5) not null references 車次表(車次號(hào)),</p><p>  退票時(shí)間datetime null ,</p><p>  foreign key

39、 (車票編號(hào)) references 車票表(車票編號(hào))</p><p><b>  )</b></p><p>  --10、建立余票表:</p><p>  create table 余票表</p><p><b>  (</b></p><p>  車次號(hào)char(5)

40、 not null primary key,</p><p>  剩余票數(shù)int not null,</p><p>  發(fā)車時(shí)間datetime,</p><p>  foreign key (車次號(hào)) references 車次表(車次號(hào))</p><p><b>  )</b></p><p&g

41、t;  第5章 數(shù)據(jù)庫(kù)完整性設(shè)計(jì)</p><p>  5.1 主鍵及唯一性索引</p><p><b>  參照完整性設(shè)計(jì)</b></p><p>  5.3 Check約束</p><p>  業(yè)務(wù)員表中將性別進(jìn)行check約束:</p><p>  alter table 業(yè)務(wù)員</p&

42、gt;<p>  add constraint sex check(性別in('1','0'))</p><p>  車票表中將座位編號(hào)進(jìn)行check約束:</p><p>  alter table 車票表</p><p>  add constraint zum check (座位編號(hào)>=12000 and

43、座位編號(hào)<=15000) </p><p>  車次表中車種進(jìn)行check約束:</p><p>  alter table 車次表</p><p>  add constraint ccz check (車種in('普快','快車','特快','動(dòng)車','高鐵'))</p&

44、gt;<p>  5.4 Default約束</p><p>  1、售票表中售票日期默認(rèn)值設(shè)為:2013-11-19 00:00。default('2013-11-19 00:00')</p><p>  2、業(yè)務(wù)員表中將員工性別族默認(rèn)值設(shè)為:女。default('女')</p><p>  3、員工獎(jiǎng)勵(lì)表中將獎(jiǎng)勵(lì)等級(jí)

45、默認(rèn)值設(shè)為:null。default('null')</p><p><b>  觸發(fā)器設(shè)計(jì)</b></p><p>  --1、車票銷售時(shí)不能超員,并自動(dòng)修改剩余的座位數(shù) </p><p>  create trigger tri_ticket on 售票表</p><p>  after i

46、nsert</p><p><b>  as</b></p><p><b>  begin</b></p><p>  declare @p_num char(5),@seat_sum int,@t_num char(5)</p><p>  select @p_num=車票編號(hào),@t_num=車

47、次號(hào)from inserted</p><p>  select @seat_sum=剩余票數(shù)from 余票表</p><p>  update 余票表</p><p>  set 剩余票數(shù)=剩余票數(shù)-1</p><p>  where 車次號(hào)=@t_num </p><p><b>  end</b&

48、gt;</p><p><b>  go </b></p><p>  --觸發(fā)檢驗(yàn):    </p><p>  insert into 售票表</p><p>  values('111011','20136','1234

49、9;,'12:00')</p><p>  --2、業(yè)務(wù)員售出車票后,自動(dòng)更新員工售票情況表和員工獎(jiǎng)勵(lì)表</p><p>  create trigger 業(yè)務(wù)員售票觸發(fā)器on 售票表after insert</p><p><b>  as </b></p><p><b>  begin&l

50、t;/b></p><p>  declare @員工編號(hào)char(5)</p><p>  select @員工編號(hào)='員工編號(hào)' from inserted</p><p>  update 員工售票情況set 售出票數(shù)=售出票數(shù)+1 where 員工編號(hào)=@員工編號(hào)</p><p>  update 員工獎(jiǎng)勵(lì)表se

51、t 獎(jiǎng)勵(lì)等級(jí)='一等獎(jiǎng)勵(lì)' where 員工編號(hào)=@員工編號(hào)</p><p><b>  end </b></p><p><b>  go</b></p><p><b>  --觸發(fā)檢驗(yàn):</b></p><p>  insert into 售票表<

52、/p><p>  values('111002','20106','S223','2013/11/19 12:00:00')</p><p>  --3、退票時(shí)自動(dòng)修改相應(yīng)車次的剩余座位數(shù)</p><p>  create trigger tp_ticket on 退票表</p><p&

53、gt;  after insert</p><p><b>  as</b></p><p><b>  begin</b></p><p>  declare @p_num char(5),@seat_sum int,@t_num char(5)</p><p>  select @p_num=車

54、票編號(hào),@t_num=車次號(hào)from inserted</p><p>  select @seat_sum=剩余票數(shù)from 余票表</p><p>  update 余票表</p><p>  set 剩余票數(shù)=剩余票數(shù)+1</p><p>  where 車次號(hào)=@t_num </p><p><b>

55、  end</b></p><p><b>  --觸發(fā)檢驗(yàn):</b></p><p>  insert into 退票表</p><p>  values('20136','1234','2013-11-13 12:00')</p><p>  --4、退票時(shí)

56、,根據(jù)退票時(shí)間判斷是否允許退票</p><p>  create trigger t_p on 退票表</p><p>  instead of insert</p><p><b>  as</b></p><p><b>  begin </b></p><p>  de

57、clare @p_num char(5),@t_time datetime,@f_num datetime</p><p>  select @p_num=車票編號(hào),@t_time=退票時(shí)間from inserted</p><p>  select @f_num=發(fā)車時(shí)間from 車票表where 車票編號(hào)=@p_num</p><p>  if @f_num-@

58、t_time>=2</p><p>  print'退票成功'</p><p><b>  else</b></p><p>  print'不能退票'</p><p><b>  end</b></p><p><b>  -

59、-觸發(fā)檢驗(yàn): </b></p><p>  insert into 退票表 values('20116','S213','2013-11-19 12:00') </p><p>  第6章 數(shù)據(jù)庫(kù)視圖設(shè)計(jì)</p><p>  --1、創(chuàng)建業(yè)務(wù)員表視圖</p><p>  c

60、reate view 業(yè)務(wù)員表視圖with encryption</p><p><b>  as </b></p><p>  select 業(yè)務(wù)員.員工編號(hào),姓名,工作站點(diǎn),獎(jiǎng)勵(lì)等級(jí)</p><p>  from 業(yè)務(wù)員,員工獎(jiǎng)勵(lì)表</p><p>  where 業(yè)務(wù)員.員工編號(hào)=員工獎(jiǎng)勵(lì)表.員工編號(hào)</p&

61、gt;<p>  with check option</p><p>  --2、創(chuàng)建車次管理視圖</p><p>  create view 車次管理視圖</p><p><b>  as</b></p><p>  select 車次表.車次號(hào),座位數(shù),發(fā)車時(shí)間 ,車種,始發(fā)站,終點(diǎn)站</p>

62、;<p>  from 車次表,車站表</p><p>  where 車次表.車次號(hào)=車站表.車次號(hào)</p><p>  -- 、創(chuàng)建車票表視圖</p><p>  create view 車票表視圖</p><p><b>  as</b></p><p>  sele

63、ct 車票編號(hào),車次號(hào),發(fā)車時(shí)間,座位編號(hào),價(jià)格,座位種類</p><p><b>  from 車票表</b></p><p>  --4、創(chuàng)建車票銷售視圖</p><p>  create view 創(chuàng)建車票銷售視圖</p><p><b>  as</b></p><p&g

64、t;  select 車次管理視圖.車次號(hào), 車次管理視圖.發(fā)車時(shí)間 ,車種,始發(fā)站,終點(diǎn)站,價(jià)格,座位種類,剩余票數(shù)</p><p>  from 車次管理視圖, 車票表,余票表</p><p>  where 余票表.車次號(hào)=車票表.車次號(hào)and 車次管理視圖.車次號(hào)=余票表.車次號(hào)</p><p>  --5、創(chuàng)建車票銷售視圖</p><p

65、>  create view 車票銷售視圖</p><p><b>  as</b></p><p>  select 員工編號(hào),售票表.車票編號(hào),價(jià)格,售票日期</p><p>  from 車票表,售票表</p><p>  where 售票表.車票編號(hào)=車票表.車票編號(hào)</p><p&g

66、t;  --  6、創(chuàng)建售票表視圖</p><p>  create view 售票表視圖</p><p><b>  as</b></p><p>  select 員工編號(hào),車票編號(hào),車次號(hào),售票日期</p><p><b>  from 售票表 </b></

67、p><p>  -- 7、創(chuàng)建退票表視圖</p><p>  create view 退票表視圖</p><p><b>  as</b></p><p>  select 車票編號(hào),車次號(hào),退票時(shí)間</p><p><b>  from 退票表</b></p&g

68、t;<p>  --8、創(chuàng)建余票表視圖</p><p>  create view 余票表視圖</p><p><b>  as</b></p><p>  select 車次號(hào),剩余票數(shù),發(fā)車時(shí)間</p><p><b>  from 余票表</b></p><p

69、>  --9、創(chuàng)建余票情況視圖1</p><p>  create view 余票情況視圖1</p><p><b>  as</b></p><p>  select 余票表.車次號(hào),發(fā)車時(shí)間</p><p>  from 余票表,售票表</p><p>  where 余票表.車次號(hào)=售

70、票表.車次號(hào)</p><p>  --10、創(chuàng)建余票情況視圖2</p><p>  create view 余票情況視圖2</p><p><b>  as</b></p><p>  select 售票表.車次號(hào),發(fā)車時(shí)間</p><p>  from 余票表,售票表</p>&l

71、t;p>  where 余票表.車次號(hào)=售票表.車次號(hào)</p><p><b>  數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程設(shè)計(jì)</b></p><p>  --1、指定始發(fā)站和終點(diǎn)站查詢車次號(hào)、車種、價(jià)格、座位種類、剩余票數(shù)等信息</p><p>  create procedure btend @始發(fā)站char(20),@終點(diǎn)站char(20)</p&g

72、t;<p><b>  as</b></p><p><b>  begin</b></p><p>  set nocount on</p><p><b>  select * </b></p><p>  from 車票銷售視圖</p><

73、;p>  where 始發(fā)站=@始發(fā)站and 終點(diǎn)站=@終點(diǎn)站</p><p><b>  end</b></p><p><b>  --執(zhí)行存儲(chǔ)過(guò)程</b></p><p>  exec btend '鄭州','北京'</p><p>  --2、指定車次查

74、詢始發(fā)站、終點(diǎn)站、車種、價(jià)格、座位種類、剩余票數(shù)等信息</p><p>  create procedure 按車次查詢@車次號(hào)char(5)</p><p><b>  as</b></p><p><b>  begin</b></p><p>  set nocount on</p>

75、;<p><b>  select * </b></p><p>  from 車票銷售視圖</p><p>  where 車次號(hào)=@車次號(hào)</p><p><b>  End</b></p><p>  exec 按車次查詢 'T146'</p>&l

76、t;p>  --3、指定車次指定發(fā)車時(shí)間的車票銷售情況 </p><p>  create procedure p_selld @t_num_in char(5),@d_time_in datetime,@sum_ticket char(6) output</p><p><b>  as</b></p><p>  selec

77、t 車次號(hào),count(*) as '@sum_ticket'</p><p>  from 余票情況視圖</p><p>  where 余票情況視圖.車次號(hào)=@t_num_in and 發(fā)車時(shí)間=@d_time_in</p><p>  group by 車次號(hào)</p><p><b>  go</b>

78、;</p><p><b>  --執(zhí)行存儲(chǔ)過(guò)程</b></p><p>  exec p_selld 'G574', '2013/11/19 15:53:00','count(*)'</p><p>  --4、指定日期各業(yè)務(wù)員車票的銷售收入</p><p>  crea

79、te procedure rp_selled @y_num_in char(6) output,@d_time_in datetime,@money char(6) output</p><p><b>  as</b></p><p>  select 員工編號(hào),sum(價(jià)格) as '@money'</p><p>  fr

80、om 車票銷售視圖</p><p>  where 員工編號(hào)=@y_num_in and 售票日期=@d_time_in</p><p>  group by 員工編號(hào)</p><p><b>  go</b></p><p><b>  --執(zhí)行存儲(chǔ)過(guò)程</b></p><p&

81、gt;  exec rp_selled '111002','2013/2/10 0:00:00','sum(價(jià)格)'</p><p>  --5、指定員工編號(hào)查詢售出票數(shù)</p><p>  create procedure 編號(hào)查詢@員工編號(hào)char(6) output,@售出票數(shù)char(6) output</p><

82、p><b>  as</b></p><p>  select 員工編號(hào),count(車票編號(hào)) as '@售出票數(shù)'</p><p><b>  from 售票表</b></p><p>  where 員工編號(hào)=@員工編號(hào)</p><p>  group by 員工編號(hào)&l

83、t;/p><p><b>  go</b></p><p>  exec 編號(hào)查詢'111002','count(車票編號(hào))'</p><p>  --6、改變指定員工的工作站點(diǎn)</p><p>  create procedure 工作站點(diǎn)變更@員工編號(hào)char(6),@工作站點(diǎn)char(2

84、0) </p><p><b>  as</b></p><p>  update 員工獎(jiǎng)勵(lì)表</p><p>  set 工作站點(diǎn)=@工作站點(diǎn)</p><p>  where 員工編號(hào)=@員工編號(hào)</p><p><b>  go</b></p><p&

85、gt;  exec 工作站點(diǎn)變更 '111002','北京'</p><p>  --7、根據(jù)身份證號(hào)碼查詢乘客的車票信息</p><p>  create procedure s_tri1 @id char(18)</p><p><b>  as</b></p><p>  selec

86、t 身份證號(hào),姓名,乘客表.車票編號(hào),車次管理視圖.車次號(hào),車種,始發(fā)站,終點(diǎn)站,車票表.發(fā)車時(shí)間,座位編號(hào),價(jià)格,座位種類</p><p>  from 乘客表,車次管理視圖,車票表</p><p>  where 車票表.車次號(hào)=車次管理視圖.車次號(hào)and 車票表.車票編號(hào)=乘客表.車票編號(hào)and 身份證號(hào)=@id</p><p><b>  go&

87、lt;/b></p><p><b>  --執(zhí)行存儲(chǔ)過(guò)程</b></p><p>  exec s_tri1 '411082199210020018'</p><p><b>  權(quán)限設(shè)計(jì)</b></p><p>  --1、創(chuàng)建一級(jí)管理員的登錄名及用戶,并給一級(jí)管理員授權(quán)&

88、lt;/p><p>  create login 一級(jí)管理員</p><p>  with password='123456',</p><p>  default_database=火車站票務(wù)管理數(shù)據(jù)庫(kù)</p><p>  create role 一級(jí)管理員</p><p>  authorization

89、 dbo</p><p>  create user 一級(jí)管理員</p><p>  for login 一級(jí)管理員</p><p>  with default_schema=dbo</p><p>  grant insert ,update,delete on 退票表to 一級(jí)管理員</p><p>  gran

90、t insert ,update,delete on 車次表to 一級(jí)管理員</p><p>  grant insert ,update,delete on 車站表to 一級(jí)管理員</p><p>  --2、創(chuàng)建二級(jí)管理員的登錄名及用戶,并給二級(jí)管理員授權(quán)</p><p>  create login 二級(jí)管理員</p><p>  wi

91、th password='123456',</p><p>  default_database=火車站票務(wù)管理數(shù)據(jù)庫(kù)</p><p>  create role 二級(jí)管理員</p><p>  authorization dbo</p><p>  create user 二級(jí)管理員</p><p>

92、  for login 二級(jí)管理員</p><p>  with default_schema=dbo</p><p>  grant insert ,update,delete on 退票表to 二級(jí)管理員</p><p>  grant insert ,update,delete on 車站表to 二級(jí)管理員</p><p>  --3、

93、創(chuàng)建數(shù)據(jù)庫(kù)角色業(yè)務(wù)員并給業(yè)務(wù)員授權(quán)</p><p>  create role 業(yè)務(wù)員</p><p>  authorization dbo</p><p>  grant select on 車票表to 業(yè)務(wù)員</p><p>  grant select on 車次表to 業(yè)務(wù)員</p><p>  grant

94、insert ,update,delete on 售票表to 業(yè)務(wù)員</p><p>  grant insert ,update,delete on 退票表to 業(yè)務(wù)員</p><p>  --4、創(chuàng)建數(shù)據(jù)庫(kù)角色乘客并給乘客授權(quán)</p><p>  create role 乘客</p><p>  authorization dbo<

95、/p><p>  grant select on 車票表to 乘客</p><p>  grant select on 車次表to 乘客</p><p>  grant select on 車站表to 乘客</p><p><b>  總結(jié)</b></p><p>  通過(guò)這么多天的數(shù)據(jù)庫(kù)課程設(shè)計(jì)的學(xué)

96、習(xí),我受益匪淺,從中學(xué)到了許多新知識(shí),這些知識(shí)是在課堂中不能學(xué)到或者說(shuō)很難學(xué)到的。并且對(duì)sql server這一門課程有了更深一步的理解。在做課程設(shè)計(jì)中,我們可以把課堂上所學(xué)的理論知識(shí)和實(shí)踐聯(lián)系起來(lái),在所要開(kāi)發(fā)的系統(tǒng)中漸漸學(xué)會(huì)了融會(huì)貫通。同樣通過(guò)對(duì)SQL的應(yīng)用,也使我們熟練和鞏固了對(duì)SQL的理解。這樣我們對(duì)開(kāi)發(fā)系統(tǒng)的整個(gè)過(guò)程也有了一個(gè)系統(tǒng)的了解。</p><p>  這次課程設(shè)計(jì),我選擇的課題是《火車站票務(wù)管理系

97、統(tǒng)》,在火車站票務(wù)管理管理系統(tǒng)的開(kāi)發(fā)中采用了完整的數(shù)據(jù)庫(kù)設(shè)計(jì)的全過(guò)程,從需求分析到概念結(jié)構(gòu)設(shè)計(jì),到邏輯結(jié)構(gòu)設(shè)計(jì),再到物理結(jié)構(gòu)設(shè)計(jì),最后到數(shù)據(jù)庫(kù)的實(shí)施和維護(hù),每一步都認(rèn)真的分析和實(shí)施。</p><p>  在這次課程設(shè)計(jì)中我明白了理論和實(shí)踐要想充分地結(jié)合,需要非常扎實(shí)的基本功。這就說(shuō)明學(xué)好基礎(chǔ)知識(shí)是理論付諸實(shí)踐的前提。在設(shè)計(jì)火車站票務(wù)管理系統(tǒng)中我學(xué)到了很多,希望在以后能充分利用所學(xué)的理論知識(shí)去實(shí)踐,在實(shí)踐中又要努力

98、去鞏固理論知識(shí)。只有這樣,才能把一門課程甚至一門學(xué)科學(xué)精、學(xué)透。</p><p>  在數(shù)據(jù)庫(kù)課程設(shè)計(jì)過(guò)程中,我覺(jué)得最重要的是,我們應(yīng)該先認(rèn)真設(shè)計(jì)好所需要的結(jié)構(gòu),以免中間很小的改動(dòng)卻造成不必要的麻煩。</p><p><b>  參考文獻(xiàn):</b></p><p>  王珊,薩師煊 .數(shù)據(jù)庫(kù)系統(tǒng)概論[M]. 高等教育出版社,2005</p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論