2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

6、/p><p>  2.2.4 關(guān)系模式邏輯結(jié)構(gòu)定義7</p><p>  3. 數(shù)據(jù)庫物理設(shè)計7</p><p>  3.1 物理設(shè)計階段目標(biāo)和任務(wù)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.?dāng)?shù)據(jù)庫實(shí)施與測試8</p><p>  4.1 數(shù)據(jù)庫實(shí)施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)項(xiàng)目開發(fā)背景:</p><p>  隨著Internet的迅速發(fā)展和用戶數(shù)量的急劇增加,互聯(lián)網(wǎng)對于企業(yè)和事業(yè)單位

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27、p><p>  參照業(yè)務(wù)流程圖和數(shù)據(jù)流程圖,分別畫出分E-R圖,如圖2.1至2.4所示。</p><p>  (1) 根據(jù)圖1.2抽象出的進(jìn)貨分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圖中的實(shí)體屬性如下圖2.5至圖2.10:</p><p> ?。?)車票及其屬性:</p><p> ?。?)客戶及其屬性:</p><p> ?。?)票務(wù)人員及其屬性:</p><p>  (4)票存系統(tǒng)及其屬性:</p><p>  

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

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

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

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

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

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

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

36、gt;  數(shù)據(jù)庫的物理設(shè)計是為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用需求的物理結(jié)構(gòu)的過程,在這個階段中需要完成的任務(wù)是:</p><p>  (1) 確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);</p><p>  (2) 對物理結(jié)構(gòu)進(jìn)行評價,評價的重點(diǎn)是時間和空間效率。</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.?dāng)?shù)據(jù)庫實(shí)施與測試</p><p>  主要包括數(shù)據(jù)庫實(shí)施和測試兩個部分。</p><p><b>  4.1 數(shù)據(jù)庫實(shí)施</b></p><p>  4.1

40、.1 數(shù)據(jù)庫及數(shù)據(jù)庫對象建立</p><p>  主要包括:數(shù)據(jù)庫、基本表、視圖、索引、觸發(fā)器以及存儲過程。詳細(xì)DDL語句以及相關(guān)代碼,見附錄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ù)導(dǎo)入功能,直接將數(shù)據(jù)導(dǎo)入到相應(yīng)的基本表中。</p><p><b>  4.2 數(shù)據(jù)庫測試</b></p>&

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

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

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

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

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

49、>  表6.1 數(shù)據(jù)項(xiàng)</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)建票務(wù)人員基本信息表:</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. 建立票務(wù)人員表插入的存儲過程</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. 各插入存儲過程的實(shí)現(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.---刪除票務(wù)人員信息級聯(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ā)器進(jìn)行演示。</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設(shè)計截圖見圖

溫馨提示

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

最新文檔

評論

0/150

提交評論