數(shù)據(jù)庫課程設計報告-鐵路網(wǎng)上售票系統(tǒng)_第1頁
已閱讀1頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  本次課程設計主要內(nèi)容是一個鐵路網(wǎng)上售票系統(tǒng)的實現(xiàn)。主要包括車票信息管理管理、客戶信息管理等、訂票信息管理、退票信息管理等。并提供了對各功能模塊的查詢和更新功能,這些功能基本上是通過存儲過程實現(xiàn)的。</p><p>  該系統(tǒng)的開發(fā)由系統(tǒng)需求分析階段、概念設計階段、邏輯設計階段。數(shù)據(jù)庫實施階段、調(diào)試和測試

2、階段組成。系統(tǒng)的需求分析階段和概念設計階段是整個系統(tǒng)的重中之重,也是該系統(tǒng)順利完成的必要前提。因此在這兩個階段要花上大部分時間。</p><p>  關鍵字:網(wǎng)上售票;存儲過程;需求分析;數(shù)據(jù)庫實施 </p><p><b>  目 錄</b></p><p>  《數(shù)據(jù)庫課程設計》論文1</p><p>

3、  鐵路網(wǎng)上售票系統(tǒng)項目開發(fā)背景:1</p><p>  鐵路網(wǎng)上售票系統(tǒng)的總目標是:1</p><p>  項目開發(fā)的意義:1</p><p><b>  1.需求分析3</b></p><p>  1.1 需求分析階段目標和任務3</p><p>  1.1.1 需求分析階段目標3

4、</p><p>  1.1.2 需求分析階段任務3</p><p>  1.2 需求分析成果5</p><p>  1.2.1 流程圖5</p><p>  1.2.2 數(shù)據(jù)字典2</p><p>  2.數(shù)據(jù)庫結(jié)構(gòu)設計2</p><p>  2.1 概念設計2</p>

5、<p>  2.1.1 分E-R圖建立2</p><p>  2.1.2 全局/整體E-R圖5</p><p>  2.2 邏輯設計5</p><p>  2.2.1 建立關系模式5</p><p>  2.2.2 關系模式規(guī)范化處理6</p><p>  2.2.3 用戶子模式建立6<

6、/p><p>  2.2.4 關系模式邏輯結(jié)構(gòu)定義7</p><p>  3. 數(shù)據(jù)庫物理設計7</p><p>  3.1 物理設計階段目標和任務7</p><p>  3.2數(shù)據(jù)存儲方面7</p><p>  3.2.1 建立索引的原則7</p><p>  3.2.2 建立索引7&

7、lt;/p><p>  3.2.3 系統(tǒng)功能模塊圖8</p><p>  4.數(shù)據(jù)庫實施與測試8</p><p>  4.1 數(shù)據(jù)庫實施8</p><p>  4.1.1 數(shù)據(jù)庫及數(shù)據(jù)庫對象建立8</p><p>  4.1.2 數(shù)據(jù)入庫10</p><p>  4.2 數(shù)據(jù)庫測試10&

8、lt;/p><p><b>  5.總結(jié)10</b></p><p><b>  6.附錄11</b></p><p><b>  附錄1:11</b></p><p><b>  附錄218</b></p><p><b

9、>  附錄3:21</b></p><p><b>  附錄4:29</b></p><p><b>  附錄5:37</b></p><p>  鐵路網(wǎng)上售票系統(tǒng)項目開發(fā)背景:</p><p>  隨著Internet的迅速發(fā)展和用戶數(shù)量的急劇增加,互聯(lián)網(wǎng)對于企業(yè)和事業(yè)單位

10、的運營和發(fā)展日益重要,網(wǎng)上交易也逐漸被人們認可,并成為未來交易的發(fā)展方向。鐵路售票系統(tǒng)也不例外。</p><p>  鐵路網(wǎng)上售票系統(tǒng)是鐵路旅游服務信息系統(tǒng)的一個重要組成部分,為旅客提供優(yōu)質(zhì)便捷的服務。為了提高鐵路客運的售票效率,豐富鐵路客運的營銷手段,火車站售票總站及其下屬代售點可以通過公用的互聯(lián)網(wǎng)資源,實現(xiàn)網(wǎng)上的售票,查詢及管理工作。</p><p>  鐵路網(wǎng)上售票系統(tǒng)的總目標是:&

11、lt;/p><p>  在計算機網(wǎng)絡,數(shù)據(jù)庫和先進的開發(fā)平臺上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機交互界面的鐵路網(wǎng)上售票系統(tǒng),為企業(yè)的決策層提供準確、精細、迅速的車票銷售信息。</p><p><b>  項目開發(fā)的意義:</b></p><p>  信息時代已經(jīng)來臨,信息處理的利器——計算

12、機應用于火車站售票的日常管理為火車站售票的現(xiàn)代化帶來了從未有過的動力和機遇,為火車站票務管理領域的飛速發(fā)展提供了無限潛力。采用計算機管理信息系統(tǒng)已成為火車站票務管理科學化和現(xiàn)代化的重要標志,給火車站票務帶來了明顯的經(jīng)濟效益和社會效益。計算機已經(jīng)成為人們生活不可或缺的一部分。</p><p>  然而,隨著旅游業(yè)的逐漸的成熟發(fā)達,鐵路客運量大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統(tǒng)提出了更高

13、的要求,所以要不斷的完善更新列車票務管理系統(tǒng),提高列車售票系統(tǒng)的工作效率。列車在我國的人員流動、物資運輸中占據(jù)著舉足輕重的地位。全國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經(jīng)過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經(jīng)過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式是不可能實現(xiàn)這種功能的。一種可行的方案是基于客戶端服務器的體系結(jié)構(gòu)。服務器為數(shù)據(jù)庫系統(tǒng),存儲所有必要的信

14、息??蛻舳送ㄟ^連接到服務的應用程序快速、準確地完成相應的工作,通過網(wǎng)上訂購,可以達到高效、便捷的購票。鐵路網(wǎng)上售票系統(tǒng)的實施,將會在一定程度上促進鐵路客運生產(chǎn)力和生產(chǎn)關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經(jīng)濟效益。</p><p><b>  1.需求分析</b></p><p>  主要包括

15、需求分析階段目標、任務和成果。</p><p>  1.1 需求分析階段目標和任務</p><p>  1.1.1 需求分析階段目標</p><p>  (1) 了解目前鐵路網(wǎng)上售票流程和注意事項,通過具體調(diào)查了解客戶需求并總結(jié)業(yè)務流程。</p><p>  (2) 與指導老師溝通交流該項目的可行性,征求老師意見,修改不合理的地方,為以后的設

16、計打下基礎。</p><p>  1.1.2 需求分析階段任務</p><p>  隨著旅游業(yè)的逐漸的成熟發(fā)達,鐵路客運量大幅度的提高,各大省市的列車都顯著的增加,這些都對列車票務管理系統(tǒng)提出了更高的要求,所以要不斷的完善更新列車票務管理系統(tǒng),提高列車售票系統(tǒng)的工作效率。隨著科學的不斷進步,計算機應用已經(jīng)遍布整個社會的每個角落。目前社會正處于健保發(fā)展方興未艾的時代,各火車站莫不兢兢業(yè)業(yè)地改

17、善本身的體制或管理方式,以適應健保越來越嚴格的規(guī)范。列車在我國的人員流動、物資運輸中占據(jù)著舉足輕重的地位。全國有大量的人員通過搭乘火車到達目的地。而與火車的特殊性及可能經(jīng)過多個城市,每個城市的車站可以出售此火車的車票。而且同一車站可能有多輛車經(jīng)過。許多希望以最快的方式選擇自己想來乘坐的那一趟列車。所以以人工的方式和單純的列車票務管理系統(tǒng)都不可能實現(xiàn)這種功能的。一種可行的方案是通過網(wǎng)上訂購,可以達到高效、便捷的購票。鐵路網(wǎng)上售票系統(tǒng)的實施

18、,將會在一定程度上促進鐵路客運生產(chǎn)力和生產(chǎn)關系的變革,增強市場競爭能力,提高鐵路部門的工作效率,提升管理水平,減少勞動強度,方便廣大旅客購票,有一定的社會和經(jīng)濟效益。</p><p><b>  (1) 處理對象</b></p><p>  系統(tǒng)要處理的對象主要包括票存系統(tǒng)基本信息、票務人員基本信息、客戶基本信息、訂票單基本信息、退票單基本信息、車票基本信息、車票銷售

19、記錄基本信息。(詳細的信息見于數(shù)據(jù)字典)</p><p><b>  (2) 功能要求</b></p><p>  系統(tǒng)要實現(xiàn)的主要功能:</p><p> ?、俨樵儯嚎梢酝ㄟ^起點站與終點站在進行查詢,也可根據(jù)具體的車次輸入進行查詢,同時每次查詢都會顯示車次號,點擊即可顯示該趟列車所進過站點的詳細信息,其中包括所到達每個站的到達時間與出發(fā)時間。

20、</p><p> ?、诳蛻糇?、登錄:由于要進行網(wǎng)上訂購車票,用戶需注冊,填寫有關信息,由由票務人員負責送車票到客戶手中。</p><p> ?、塾喥睒I(yè)務:本系統(tǒng)為網(wǎng)上訂票,用戶經(jīng)過查詢車次信息、票務信息,找到自己所需的車票通過所關聯(lián)的賬戶進行訂購。</p><p> ?、芡似睒I(yè)務:根據(jù)客戶提供的情況(車次、時間)為客戶辦理退票手續(xù),退票時按票價的80%退給客戶金

21、額,若所退票額能滿足他的要求,則為他辦理退票手續(xù),同時在數(shù)據(jù)庫中進行更新。(車票價格低于2元不予退票)</p><p> ?、莞鹿δ埽涸撓到y(tǒng)隨時跟據(jù)車輛的變化情況進行更新,增加車輛時可以在系統(tǒng)中插入該車的詳細信息,同時也能根據(jù)需要修改某趟車經(jīng)過的站點與發(fā)車時間,當某趟車停止、開行時可以刪除該趟車的信息。同時包括對列車信息、站點信息、訂票記錄等的更新功能。</p><p> ?、捃嚻迸渌停?/p>

22、客戶在訂購了車票之后,管理人員通過后臺管理訂票記錄,然后根據(jù)客戶的要求由票務人員及時為其配送車票。</p><p>  (3) 安全性和完整性要求</p><p>  安全性先通過視圖機制,該系統(tǒng)創(chuàng)建了很多視圖,不同用戶只能訪問系統(tǒng)授權的視圖,這樣可以提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,也可以通過用戶授權機制,根據(jù)用戶被授權的級別來分配用戶權限,從而達到更高層次的安全保密功能。</p&g

23、t;<p>  完整性要求主要用來限制各基本表中信息的真實性和可靠性,滿足參照完整性、實體完整性、用戶自定義完整性的要求。</p><p>  1.2 需求分析成果</p><p><b>  1.2.1 流程圖</b></p><p>  鐵路網(wǎng)上售票系統(tǒng)業(yè)務流程圖如下圖1.1—圖1.3:</p><p>

24、; ?。?)客戶注冊及登錄流程圖:</p><p>  (2)訂票業(yè)務流程圖:</p><p> ?。?)退票業(yè)務流程圖:</p><p>  鐵路網(wǎng)上售票系統(tǒng)數(shù)據(jù)流程圖如下圖1.4—圖1.7:</p><p> ?。?)頂層數(shù)據(jù)流程圖:</p><p> ?。?)第一層數(shù)據(jù)流程圖:</p><p&

25、gt; ?。?)第二層數(shù)據(jù)流程圖—訂票:</p><p> ?。?)第二層數(shù)據(jù)流程圖—退票:</p><p>  1.2.2 數(shù)據(jù)字典</p><p>  包含數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、處理邏輯、數(shù)據(jù)存儲定義(詳見附錄1)。</p><p><b>  2.數(shù)據(jù)庫結(jié)構(gòu)設計</b></p><p>

26、  主要包括概念設計和邏輯設計兩個部分。</p><p><b>  2.1 概念設計</b></p><p>  概念設計階段主要是將需求縫隙階段得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程,它是整個數(shù)據(jù)庫設計的關鍵,設計概念結(jié)構(gòu)通常有四類方法:自頂向下、自底向上、逐步擴張、混合策略。</p><p>  2.1.1 分E-R圖建立</

27、p><p>  參照業(yè)務流程圖和數(shù)據(jù)流程圖,分別畫出分E-R圖,如圖2.1至2.4所示。</p><p>  (1) 根據(jù)圖1.2抽象出的進貨分E-R圖:</p><p>  (2) 根據(jù)圖1.6抽象出的銷售分E-R圖:</p><p>  (3) 根據(jù)圖1.7抽象出的存儲分E-R圖:</p><p>  (4) 根據(jù)圖1

28、.4抽象出的存儲分E-R圖:</p><p>  各E-R圖中的實體屬性如下圖2.5至圖2.10:</p><p> ?。?)車票及其屬性:</p><p>  (2)客戶及其屬性:</p><p> ?。?)票務人員及其屬性:</p><p> ?。?)票存系統(tǒng)及其屬性:</p><p>  

29、(5)訂票單及其屬性:</p><p>  (6)退票單及其屬性:</p><p>  2.1.2 全局/整體E-R圖</p><p>  根據(jù)各分E-R圖合并整體E-R圖,具體方法是將4個E-R圖中相同的實體,進行合并,消除屬性沖突、命名沖突、結(jié)構(gòu)沖突之后得到總E-R圖如圖2.11所示。</p><p><b>  2.2 邏輯設

30、計</b></p><p>  概念設計階段是獨立于任何一種數(shù)據(jù)模型的,而邏輯設計階段則與現(xiàn)實結(jié)合起來,邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉(zhuǎn)換為與項目所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體任務包括將E-R圖轉(zhuǎn)換成關系模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用戶模式設計。</p><p>  2.2.1 建立關系模式</p><p>  E-R圖

31、向關系模型的轉(zhuǎn)換遵循如下規(guī)則,一個實體型轉(zhuǎn)換為一個關系模式,實體的屬性就是關系的屬性,實體的碼就是關系的碼。</p><p>  對于實體間的聯(lián)系則有不同的情況:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立關系模式,也可以與任意一端關系模式合并;一個1:N聯(lián)系可以轉(zhuǎn)換為一個獨立關系模式,也可以與n端實對應的關系模式合并;一個M:N聯(lián)系轉(zhuǎn)換為一個獨立關系模式,具有相同碼的關系模式可以合并。</p><p&g

32、t;  根據(jù)以上原則,對于該系統(tǒng)的E-R圖進行轉(zhuǎn)換,從而得到本E-R圖向關系模型的轉(zhuǎn)換如下:</p><p>  票存系統(tǒng)(票存分系統(tǒng)編號、票存分系統(tǒng)地址)</p><p>  票務人員(票務人員編號、票務人員姓名、票務人員工作地點)</p><p>  客戶(客戶身份證號、客戶名、客戶銀行卡號、客戶電話、客戶地址、登錄ID、登錄密碼、票務人員編號)</p&g

33、t;<p>  訂票單(訂票單號、訂票日期、訂票時間、訂票數(shù)量、訂票手續(xù)費、客戶身份證號)</p><p>  退票單(退票單號、開退單日期、開退單時間、退票數(shù)量、退票手續(xù)費、客戶身份證號)</p><p>  車票(車票編號、車票價格、車次、座位類型、座位編號、出發(fā)站、目的站、發(fā)車時間、到站時間、 訂票單號、退票單號)</p><p>  記錄(車票

34、編號、出入賬類型、票存分系統(tǒng)編號、記錄日期、記錄時間、出入賬金額)</p><p>  2.2.2 關系模式規(guī)范化處理</p><p>  以上關系模式中的各實體和聯(lián)系之間不存在非主屬性對主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達到了3NF。</p><p>  2.2.3 用戶子模式建立</p><p>  用戶子模式的建立如表2.

35、1所示。</p><p><b>  表2.1用戶子模式</b></p><p>  2.2.4 關系模式邏輯結(jié)構(gòu)定義</p><p>  詳細的邏輯結(jié)構(gòu)定義見附錄2。</p><p>  3. 數(shù)據(jù)庫物理設計</p><p>  3.1 物理設計階段目標和任務</p><p&

36、gt;  數(shù)據(jù)庫的物理設計是為邏輯數(shù)據(jù)模型選取一個最合適應用需求的物理結(jié)構(gòu)的過程,在這個階段中需要完成的任務是:</p><p>  (1) 確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);</p><p>  (2) 對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。</p><p><b>  3.2數(shù)據(jù)存儲方面</b><

37、/p><p>  3.2.1 建立索引的原則</p><p>  建立索引一般有以下三個原則:</p><p>  (1) 如果一個或一組屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個屬性上建立索引。</p><p>  (2) 如果一個經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引。</p><p>  (3

38、) 如果一個或一組屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個屬性上建立索引。</p><p>  3.2.2 建立索引</p><p>  根據(jù)系統(tǒng)和用戶的的需要,由于客戶信息、車票信息、訂票單編號、退票單編號等屬性查詢操作比較平凡,所以對其所在表建立唯一索引,索引見表3.1。</p><p><b>  表3.1索引表</b></

39、p><p>  3.2.3 系統(tǒng)功能模塊圖</p><p>  系統(tǒng)基本功能模塊圖如3.1所示。</p><p>  4.數(shù)據(jù)庫實施與測試</p><p>  主要包括數(shù)據(jù)庫實施和測試兩個部分。</p><p><b>  4.1 數(shù)據(jù)庫實施</b></p><p>  4.1

40、.1 數(shù)據(jù)庫及數(shù)據(jù)庫對象建立</p><p>  主要包括:數(shù)據(jù)庫、基本表、視圖、索引、觸發(fā)器以及存儲過程。詳細DDL語句以及相關代碼,見附錄3。</p><p><b>  (1) 建立索引:</b></p><p>  create unique index Customer_index onCustomer(Cno);</p>

41、<p>  create unique index Ticket_index on Ticket(Tno);</p><p>  create unique index Book_index on Book(Bno);</p><p>  create unique index Dishonour_index on Dishonour(Dno)</p><

42、p>  (2) 創(chuàng)建的視圖如表4.1所示</p><p><b>  表4.1視圖表</b></p><p>  (3) 創(chuàng)建的存儲過程如表4.2所示:</p><p><b>  表4.2存儲過程表</b></p><p>  (4) 創(chuàng)建的觸發(fā)器如表4.3所示:</p>&l

43、t;p><b>  表4.3觸發(fā)器表</b></p><p>  4.1.2 數(shù)據(jù)入庫</p><p>  系統(tǒng)包括7張基本表,在Excel中錄入數(shù)據(jù),然后使用SQL Server 2000數(shù)據(jù)導入功能,直接將數(shù)據(jù)導入到相應的基本表中。</p><p><b>  4.2 數(shù)據(jù)庫測試</b></p>&

44、lt;p>  主要內(nèi)容是對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進行測試,詳細的測試情況見附錄4。</p><p><b>  5.總結(jié)</b></p><p>  三個禮拜的實習,在不知不覺中即將結(jié)束了。在實習過程中遇到了很多問題,常常為了解決一個問題而長時間停滯不前,但經(jīng)過自己不斷的思考、嘗試問題都逐一的被解決了。</p><p>  總的來說,通

45、過這次課程設計的感觸很多。第一感覺就是理論和實踐的差距遠遠大于人的想象;課堂上覺得很簡單的東西,真到了要做的時候,會發(fā)現(xiàn)很難。在這次實習之前我感覺數(shù)據(jù)庫就像一種語言一樣,學會它的語法就應該可以了,不過現(xiàn)在才明白數(shù)據(jù)庫重點在于設計,設計的過程才是最有價值,最有意義也是最難的。</p><p>  通過這次實習,我收獲了很多。首先是在需求分析階段,這個階段的任務可以說是整個數(shù)據(jù)庫設計任務量最大的階段,我花了大量時間在

46、業(yè)務流程圖和數(shù)據(jù)流程圖的創(chuàng)建上,不斷的修改,不斷的和指導老師交流。在這個過程中真切的了解了業(yè)務的分析的重要性。在概念設計階段,主要的任務就是抽象出E-R圖。然后就是邏輯設計階段了,這個階段是要把讓我頭疼的E-R圖轉(zhuǎn)換為關系模式,這一階段我花費的時間相對較少。經(jīng)過不斷的嘗試和修改,很快就完成了邏輯結(jié)構(gòu)的設計,得到了該建立的表。這個時候到了數(shù)據(jù)庫實施階段了,以前我認為創(chuàng)建基本表、視圖、存儲過程、觸發(fā)器是數(shù)據(jù)的重點,現(xiàn)在看來這些都是皮毛,這些

47、都是數(shù)據(jù)庫設計過程中最簡單最基礎的問題。真正需要能力和時間的是前面的需求分析、概念設計、邏輯設計階段,把實際問題抽象成計算機能夠?qū)崿F(xiàn)解決的問題才是最重要的,這是數(shù)據(jù)庫可以實施的必要條件。</p><p>  這次課程設計的任務,我基本上算是完成了。人無完人我知道我做出的系統(tǒng)不是很全面,即便如此,我還是從其中學到了很多技巧。在以后的學習中,我會多實踐,多練習,書本上知識的學習畢竟沒有實踐來的有效,在此,我要感謝陪伴

48、我們?nèi)齻€禮拜的指導老師們和同學們!</p><p><b>  6.附錄</b></p><p><b>  附錄1:</b></p><p><b>  數(shù)據(jù)字典:</b></p><p>  (1) 數(shù)據(jù)項如表6.1所示。</p><p><b

49、>  表6.1 數(shù)據(jù)項</b></p><p>  (2) 數(shù)據(jù)結(jié)構(gòu)如表6.2所示。</p><p><b>  表6.2 數(shù)據(jù)結(jié)構(gòu)</b></p><p>  (3) 數(shù)據(jù)流如表6.3所示。</p><p><b>  表6.3數(shù)據(jù)流</b></p><p&g

50、t;  (4) 處理邏輯如表6.4所示。</p><p><b>  表6.4處理邏輯</b></p><p>  (5) 數(shù)據(jù)存儲如表6.5所示。</p><p><b>  表6.5數(shù)據(jù)存儲</b></p><p><b>  附錄2</b></p><

51、p>  工程及基本表的建立:</p><p>  1. 創(chuàng)建工程——鐵路網(wǎng)上售票系統(tǒng)</p><p>  create database RTSO</p><p>  2. 創(chuàng)建票存系統(tǒng)基本信息表:</p><p>  create table MemorySystem</p><p>  (Msno char(

52、14) primary key,</p><p>  Msadd char(20) unique not null</p><p><b>  )</b></p><p>  3. 創(chuàng)建票務人員基本信息表:</p><p>  create table TicketStaff</p><p>  

53、(Tsno char(14) primary key,</p><p>  Tsname char(10) not null,</p><p>  Tsadd char(20) not null</p><p><b>  )</b></p><p>  4. 創(chuàng)建客戶基本信息表:</p><p>

54、;  create table Customer</p><p>  (Cno char(20) primary key,</p><p>  Cname char(10) not null,</p><p>  Ccano char(20),</p><p>  Cphone char(12) not null,</p>&l

55、t;p>  Cadd char(30) not null,</p><p>  Cid char(14) not null,</p><p>  Cpwd char(20) not null,</p><p>  Tsno char(14) not null,</p><p>  foreign key (Tsno) reference

56、s TicketStaff(Tsno)</p><p><b>  )</b></p><p>  5. 創(chuàng)建訂票單基本信息表:</p><p>  create table Book</p><p>  (Bno char(14) primary key,</p><p>  Bdate dat

57、etime not null,</p><p>  Btime datetime not null,</p><p>  Bqua int check(Bqua>0 and Bqua<51) not null,</p><p>  Bpou int not null,</p><p>  Cno char(20) not null

58、,</p><p>  foreign key (Cno) references Customer(Cno)</p><p><b>  )</b></p><p>  6. 創(chuàng)建退票單基本信息表:</p><p>  create table Dishonour</p><p>  (Dno c

59、har(14) primary key,</p><p>  Ddate datetime not null,</p><p>  Dtime datetime not null,</p><p>  Adqua int check(Adqua>0 and Adqua<51) not null,</p><p>  Dpou in

60、t not null,</p><p>  Cno char(20) not null,</p><p>  foreign key (Cno) references Customer(Cno)</p><p><b>  )</b></p><p>  7. 創(chuàng)建車票基本信息表:</p><p>

61、;  create table Ticket</p><p>  (Tno char(60) primary key,</p><p>  Tprice int not null,</p><p>  Trainno char(8) not null,</p><p>  Tstype char(8) not null,</p>

62、<p>  Tpno char(8) not null,</p><p>  Tsta char(20) not null,</p><p>  Tdes char(20) not null,</p><p>  Tstatime datetime not null,</p><p>  Tdestime datetime not

63、 null,</p><p>  Bno char(14) not null,</p><p>  Dno char(14),</p><p>  foreign key (Bno) references Book(Bno),</p><p>  foreign key (Dno) references Dishonour(Dno)</

64、p><p><b>  )</b></p><p>  8. 創(chuàng)建售票記錄基本信息表:</p><p>  create table Record</p><p>  (Tno char(60) not null,</p><p>  Rsty char(6) not null,</p>

65、<p>  Msno char(14) not null,</p><p>  Rdate datetime not null,</p><p>  Rtime datetime not null,</p><p>  Ramo int check(Ramo<100001) not null,</p><p>  prima

66、ry key (Tno,Rsty),</p><p>  foreign key (Tno) references Ticket(Tno),</p><p>  foreign key (Msno) references MemorySystem(Msno)</p><p><b>  )</b></p><p><

67、;b>  附錄3:</b></p><p>  數(shù)據(jù)庫視圖、存儲過程、觸發(fā)器和索引的建立:</p><p>  1. 創(chuàng)建車票信息視圖(1-5):</p><p>  create view Ticket_view</p><p><b>  as</b></p><p>  s

68、elect distinct Tsta,Tdes,Trainno,Tprice,Tstype,Tpno,Tstatime,Tdestime</p><p>  from Ticket</p><p>  2. 創(chuàng)建客戶信息視圖:</p><p>  create view Customer_view</p><p><b>  as

69、</b></p><p>  select Cno,Cname,Ccano,Cphone,Cadd,Cid</p><p>  from Customer</p><p>  3. 創(chuàng)建訂票單信息視圖:</p><p>  create view Book_view</p><p><b>  a

70、s</b></p><p>  select Bdate,Btime,Bqua</p><p><b>  from Book</b></p><p>  4. 創(chuàng)建退票單信息視圖:</p><p>  create view Dishonour_view</p><p><b&

71、gt;  as</b></p><p>  select Ddate,Dtime,Adqua</p><p>  from Dishonour</p><p>  5. 創(chuàng)建記錄信息視圖:</p><p>  create view Record_view</p><p><b>  as<

72、/b></p><p>  select Rdate,Rtime,Rsty,Ramo</p><p>  from Record</p><p>  存儲過程(6-16):</p><p>  6. 建立票存系統(tǒng)表插入的存儲過程</p><p>  create procedure Ms_Insert</p

73、><p>  @Msno char(14),</p><p>  @Msadd char(20)</p><p><b>  as</b></p><p>  insert into MemorySystem</p><p>  values(@Msno,@Msadd)</p><

74、p>  7. 建立票務人員表插入的存儲過程</p><p>  create procedure Ts_Insert</p><p>  @Tsno char(14),</p><p>  @Tsname char(10),</p><p>  @Tsadd char(20)</p><p><b> 

75、 as</b></p><p>  insert into TicketStaff</p><p>  values(@Tsno,@Tsname,@Tsadd)</p><p>  8. 建立客戶表插入的存儲過程</p><p>  create procedure C_Insert</p><p>  @

76、Cno char(20),</p><p>  @Cname char(10),</p><p>  @Ccano char(20),</p><p>  @Cphone char(12),</p><p>  @Cadd char(30),</p><p>  @Cid char(14),</p>&l

77、t;p>  @Cpwd char(20),</p><p>  @Tsno char(14)</p><p><b>  as</b></p><p>  insert into Customer</p><p>  values(@Cno,@Cname,@Ccano,@Cphone,@Cadd,@Cid,@Cpw

78、d,@Tsno)</p><p>  9. 建立訂票單基本表插入的存儲過程</p><p>  create procedure B_Insert</p><p>  @Bno char(14),</p><p>  @Bdate datetime,</p><p>  @Btime datetime,</p&g

79、t;<p>  @Bqua int,</p><p>  @Bpou int,</p><p>  @Cno char(20)</p><p><b>  as</b></p><p>  insert into Book</p><p>  values(@Bno,@Bdate,@

80、Btime,@Bqua,@Bpou,@Cno)</p><p>  10. 建立退票單基本表插入的存儲過程</p><p>  create procedure D_Insert</p><p>  @Dno char(14),</p><p>  @Ddate datetime,</p><p>  @Dtime d

81、atetime,</p><p>  @Adqua int,</p><p>  @Dpou int,</p><p>  @Cno char(20)</p><p><b>  as</b></p><p>  insert into Dishonour</p><p>

82、  values(@Dno,@Ddate,@Dtime,@Adqua,@Dpou,@Cno)</p><p>  11. 建立車票基本表插入的存儲過程</p><p>  create procedure T_Insert</p><p>  @Tno char(60),</p><p>  @Tprice int,</p>&

83、lt;p>  @Trainno char(8),</p><p>  @Tstype char(8),</p><p>  @Tpno char(8),</p><p>  @Tsta char(20),</p><p>  @Tdes char(20),</p><p>  @Tstatime datetime

84、,</p><p>  @Tdestime datetime,</p><p>  @Bno char(14),</p><p>  @Dno char(14)</p><p><b>  as</b></p><p>  insert into Ticket</p><p&g

85、t;  values(@Tno,@Tprice,@Trainno,@Tstype,@Tpno,@Tsta,@Tdes,@Tstatime,@Tdestime,@Bno,@Dno)</p><p>  12. 建立記錄表插入的存儲過程</p><p>  create procedure R_Insert</p><p>  @Tno char(60),</p&

86、gt;<p>  @Rsty char(6),</p><p>  @Msno char(14),</p><p>  @Rdate datetime,</p><p>  @Rtime datetime,</p><p><b>  @Ramo int</b></p><p>&l

87、t;b>  as</b></p><p>  insert into Record</p><p>  values(@Tno,@Rsty,@Msno,@Rdate,@Rtime,@Ramo)</p><p>  13. 各插入存儲過程的實現(xiàn)</p><p>  exec Ms_Insert 'MS0043'

88、,'吉林省松原站'</p><p>  exec Ts_Insert 'TS0043001','狗娃','吉林省松原站'</p><p>  exec C_Insert '220724199902115813', </p><p>  '球蛋'

89、;,'6008480210350912582','15102949117',</p><p>  '內(nèi)蒙古包頭市','spsogood','df4859731','TS0015007'</p><p>  exec B_Insert 'B109500011','2010-

90、8-20','10:20','1','5','220724199902115813'</p><p>  exec D_Insert 'D109600011','2020-8-22','12:20','1','5','220724199902115813&

91、#39;</p><p>  exec T_Insert</p><p>  '45498756132165V12315468746541321698723145749813153468123456',</p><p>  '196','1676','硬座','無座','包頭&#

92、39;,'西安','2010-8-26 12:40',</p><p>  '2010-8-27 13:20','B109500011','D109600011'</p><p>  exec R_Insert </p><p>  '45498756132165V1231546

93、8746541321698723145749813153468123456',</p><p>  '入賬','MS0015','2010-8-20','10:20','201'</p><p>  14. 建立訂票單基本表刪除的存儲過程</p><p>  create pro

94、cedure B_Delete</p><p>  @Bno char(14)</p><p><b>  as</b></p><p><b>  delete </b></p><p><b>  from Book</b></p><p>  wh

95、ere @Bno='B109500011'</p><p>  15. 建立訂票單基本表刪除的存儲過程</p><p>  create procedure D_Delete</p><p>  @Dno char(14)</p><p><b>  as</b></p><p>

96、<b>  delete</b></p><p>  from Dishonour</p><p>  where @Dno='D109600011'</p><p>  16.建立記錄表刪除的存儲過程</p><p>  create procedure R_Delete</p><

97、p>  @Tno char(60),</p><p>  @Rsty char(6)</p><p><b>  as</b></p><p><b>  delete</b></p><p>  from Record</p><p>  where @Tno=

98、9;45498756132165V12315468746541321698723145749813153468123456' and @Rsty='入賬'</p><p>  建立觸發(fā)器(17-22):</p><p>  17.---刪除票務人員信息級聯(lián)刪除客戶信息</p><p>  create trigger delete_Ticke

99、tStaff</p><p>  on TicketStaff</p><p>  instead of delete</p><p><b>  as </b></p><p>  declare @Tsno char (14)</p><p>  select @Tsno=Tsno</p

100、><p>  from deleted</p><p>  delete from Customer</p><p>  where Tsno=@Tsno</p><p>  delete from TicketStaff</p><p>  where Tsno=@Tsno</p><p>  1

101、8.---刪除客戶信息級聯(lián)刪除客戶訂票及退票信息</p><p>  create trigger delete_Customer</p><p>  on Customer</p><p>  instead of delete</p><p><b>  as </b></p><p>  d

102、eclare @Cno char(20)</p><p>  select @Cno=Cno</p><p>  from deleted</p><p>  delete from Book</p><p>  where Cno=@Cno</p><p>  delete from Dishonour</p&

103、gt;<p>  where Cno=@Cno</p><p>  delete from Customer</p><p>  where Cno=@Cno</p><p>  19.---刪除訂票信息級聯(lián)刪除車票信息</p><p>  create trigger delete_Book</p><p&

104、gt;<b>  on Book</b></p><p>  instead of delete</p><p><b>  as </b></p><p>  declare @Bno char (14)</p><p>  select @Bno=Bno</p><p>

105、  from deleted</p><p>  delete from Ticket</p><p>  where Bno=@Bno</p><p>  delete from Book</p><p>  where Bno=@Bno</p><p>  20.---刪除退票信息級聯(lián)刪除車票信息</p>

106、;<p>  create trigger delete_Dishonour</p><p>  on Dishonour</p><p>  instead of delete</p><p><b>  as </b></p><p>  declare @Dno char (14)</p>

107、<p>  select @Dno=Dno</p><p>  from deleted</p><p>  delete from Ticket</p><p>  where Dno=@Dno</p><p>  delete from Dishonour</p><p>  where Dno=@D

108、no</p><p>  21.---刪除車票信息級聯(lián)刪除記錄信息</p><p>  create trigger delete_Ticket</p><p><b>  on Ticket</b></p><p>  instead of delete</p><p><b>  a

109、s </b></p><p>  declare @Tno char (60)</p><p>  select @Tno=Tno</p><p>  from deleted</p><p>  delete from Record</p><p>  where Tno=@Tno</p>

110、<p>  delete from Ticket</p><p>  where Tno=@Tno</p><p>  22.---車票價格低于2元不予退票</p><p>  create trigger DoNotDishonour</p><p>  on Dishonour</p><p>  ins

111、tead of insert</p><p><b>  as</b></p><p>  declare @Tprice int,@Dno char(14)</p><p>  select @Dno=Dno</p><p>  from inserted</p><p>  select @T

112、price=Tprice</p><p>  from Ticket</p><p>  if @Tprice<2</p><p>  print'車票價格低于2元,不能插入退票單表'</p><p><b>  23.建立索引:</b></p><p>  create u

113、nique index Customer_index onCustomer(Cno);</p><p>  create unique index Ticket_index on Ticket(Tno);</p><p>  create unique index Book_index on Book(Bno);</p><p>  create unique in

114、dex Dishonour_index on Dishonour(Dno)</p><p><b>  附錄4:</b></p><p>  對數(shù)據(jù)庫建立的視圖、存儲過程和觸發(fā)器進行演示。</p><p>  視圖Ticket_view的演示結(jié)果見如下圖6.1:</p><p>  圖6.1 視圖Ticket_view的

115、演示結(jié)果</p><p>  2.視圖Customer_view的演示結(jié)果見如下圖6.2:</p><p>  圖6.2 視圖Customer_view的演示結(jié)果</p><p>  3.視圖Book_view的演示結(jié)果見如下圖6.3:</p><p>  圖6.3 視圖Book_view的演示結(jié)果</p><p> 

116、 4.視圖Dishonour_view的演示結(jié)果見如下圖6.4:</p><p>  圖6.4 視圖Dishonour_view的演示結(jié)果</p><p>  5.視圖Recore_view的演示結(jié)果見如下圖6.5:</p><p>  圖6.5 視圖Recore_view的演示結(jié)果</p><p>  6.存儲過程Ms_Insert的演示e

117、xec Ms_Insert 'MS0043','吉林省松原站'的結(jié)果見如下圖6.6:</p><p>  圖6.6 存儲過程Ms_Insert的演示結(jié)果</p><p>  7.存儲過程Ts_Insert的演示exec Ts_Insert 'TS0043001','狗娃','吉林省松原站'的結(jié)果見如下圖6.7:

118、</p><p>  圖6.7 存儲過程Ts_Insert的演示結(jié)果</p><p>  8.存儲過程C_Insert的演示exec C_Insert '220724199902115813','球蛋','6008480210350912582','15102949117','內(nèi)蒙古包頭市','spso

119、good','df4859731','TS0015007'的結(jié)果見如下圖6.8:</p><p>  圖6.8 存儲過程C_Insert的演示結(jié)果</p><p>  9.存儲過程B_Insert的演示exec B_Insert 'B109500011','2010-8-20','10:20','

120、;1','5','220724199902115813'的結(jié)果見如下圖6.9:</p><p>  圖6.9 存儲過程B_Insert的演示結(jié)果</p><p>  10.存儲過程D_Insert的演示exec D_Insert 'D109600011','2020-8-22','12:20','

121、;1','5','220724199902115813'的結(jié)果見如下圖6.10:</p><p>  圖6.10 存儲過程D_Insert的演示結(jié)果</p><p>  11.存儲過程T_Insert的演示exec T_Insert '45498756132165V123154687465413216987231457498131534681

122、23456','196','1676','硬座','無座','包頭','西安','2010-8-26 12:40','2010-8-27 13:20','B109500011','D109600011'的結(jié)果見如下圖6.11:</p><p>  

123、圖6.11 存儲過程T_Insert的演示結(jié)果</p><p>  12.存儲過程R_Insert的演示exec R_Insert '45498756132165V12315468746541321698723145749813153468123456','入賬','MS0015','2010-8-20','10:20','2

124、01'的結(jié)果見如下圖6.12:</p><p>  圖6.12 存儲過程R_Insert的演示結(jié)果</p><p>  13.存儲過程B_Delete的演示結(jié)果見如下圖6.13:</p><p>  圖6.13 存儲過程B_Delete的演示結(jié)果</p><p>  14.存儲過程D_Delete的演示結(jié)果見如下圖6.14:</

125、p><p>  圖6.14 存儲過程D_Delete的演示結(jié)果</p><p>  15.存儲過程R_Delete的演示結(jié)果見如下圖6.15:</p><p>  圖6.15 存儲過程R_Delete的演示結(jié)果</p><p><b>  附錄5:</b></p><p>  Oracle設計截圖見圖

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論