版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民航售票系統(tǒng)(數(shù)據(jù)庫課程設(shè)計報告)
- 數(shù)據(jù)庫課程設(shè)計報告-車站售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--車站售票系統(tǒng)
- 車站售票管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計報告---車站售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計航空售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告----火車票售票系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告網(wǎng)上購物系統(tǒng)
- 航空售票信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 火車售票系數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上購物系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---網(wǎng)上購書系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上考試系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---網(wǎng)上拍賣數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上訂貨系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----網(wǎng)上購物系統(tǒng)設(shè)計
- 網(wǎng)上書店數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計--火車票售票管理系統(tǒng)
- 火車站車票售票系統(tǒng)--數(shù)據(jù)庫課程設(shè)計
- 網(wǎng)上圖書銷售系統(tǒng)—數(shù)據(jù)庫課程設(shè)計報告
評論
0/150
提交評論