版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計</p><p> 課程名稱 數(shù)據(jù)庫原理課程設(shè)計</p><p> 題 目ATM管理子系統(tǒng)數(shù)據(jù)庫設(shè)計 </p><p> 專 業(yè) 計算機科學(xué)與技術(shù) </p><p> 班 級 </p><p> 學(xué)
2、號 </p><p> 姓 名 </p><p> 成 績 </p><p> 指導(dǎo)教師 </p><p> 2015 年1 月19日至2015年1月23日</p>
3、<p> 課 程 設(shè) 計 任 務(wù) 書</p><p> 一、課程設(shè)計目的與任務(wù)</p><p> 《數(shù)據(jù)庫技術(shù)課程設(shè)計》是繼數(shù)據(jù)庫系統(tǒng)原理教學(xué)后的一個重要的實踐教學(xué)環(huán)節(jié),目地是鞏固課堂和書本上所學(xué)知識,綜合這些基礎(chǔ)知識,就具體問題做出解決方案并付諸實施,以培養(yǎng)同學(xué)們解決實際問題的能力。</p><p> 要求每個同學(xué)都能自己動手獨立設(shè)計完成一個數(shù)據(jù)
4、庫系統(tǒng)模型。</p><p> 二、課程設(shè)計的內(nèi)容與基本要求</p><p> ATM管理子系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p> 要求完成的主要任務(wù):</p><p> 1. 創(chuàng)建表、建立主外鍵、約束、建立UserInfo、CardInfo表測試數(shù)據(jù);</p><p><b> 常規(guī)業(yè)務(wù):</b&
5、gt;</p><p> (1) 張三的卡號取款900元,李四的卡號存款5000元</p><p> (2) 統(tǒng)計銀行的資金流通余額和盈利結(jié)算</p><p> 資金流通余額=總存入金額-總支出金額</p><p> 盈利結(jié)算=總支出金額*8‰ -總存入金額* 3‰ </p><p><b> 創(chuàng)建
6、索引與視圖</b></p><p> (1)為交易表的卡號cardID字段創(chuàng)建索引;</p><p> (2)創(chuàng)建視圖[查詢各表要求字段全為中文字段名]</p><p> 卡號/開戶名/開戶日期/余額/存款類型/身份證號/電話號碼/居住地址</p><p> 三、課程設(shè)計步驟及時間進度和場地安排</p>&l
7、t;p> 課程設(shè)計安排在第20周,地點在現(xiàn)教機房,設(shè)計步驟及時間進度如下:</p><p> 指 導(dǎo) 教 師 簽 名: 15年 1月16 日</p><p><b> 目錄</b></p><p><b> 1.問題描述3</b></p><p
8、><b> 1.1背景3</b></p><p><b> 1.2數(shù)據(jù)需求3</b></p><p><b> 1.3事物需求3</b></p><p> ?。?方案圖表設(shè)計3</p><p> 2.1 E-R圖3</p><p>
9、;<b> 2.2數(shù)據(jù)字典5</b></p><p> 3.數(shù)據(jù)庫源代碼5</p><p> 3.1數(shù)據(jù)庫建立5</p><p> 3.2數(shù)據(jù)初始化7</p><p> 4.結(jié)果數(shù)據(jù)處理8</p><p> 4.1表UserInfo查詢演示8</p><
10、p> 4.2表CardInfo查詢演示9</p><p> 4. 3表deal查詢演示9</p><p> 4. 4存取款演示9</p><p> 4. 5銀行資金流通余額盈利結(jié)算10</p><p><b> 5.結(jié)束語10</b></p><p> ATM管理子系統(tǒng)
11、數(shù)據(jù)庫設(shè)計</p><p><b> 1.問題描述</b></p><p><b> 1.1背景 </b></p><p> ATM機管理系統(tǒng)是銀行業(yè)務(wù)流程過程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè)務(wù)流程當(dāng)中起著承上啟下的作用,其重要性不言而喻。但是,目前許多銀行在具體的一些業(yè)務(wù)流程處理過程中仍然使用手工操作的方式來實
12、施,不僅費時、費力,效率低下,而且無法達到理想的效果。為明確軟件需求、安排項目規(guī)劃與進度、組織軟件開發(fā)與測試,撰寫本文檔,本文針對上述問題,采用軟件工程的開發(fā)原理,依據(jù)軟件流程過程規(guī)范,按照需求分析,概要設(shè) 計,程序編碼,軟件應(yīng)用等過程,開發(fā)了這個系統(tǒng)。</p><p><b> 1.2數(shù)據(jù)需求</b></p><p> ATM系統(tǒng)須提供如下服務(wù):</p&g
13、t;<p> 1.用戶基本信息的讀取,包括用戶編號、用戶名、身份證號、電話號碼、居住地址等;</p><p> 2.銀行卡基本信息的讀取,包括卡號、用戶編號、余額、開戶日期等;</p><p> 3.歷史交易信息的查詢,包括卡號、交易日期、交易類型、交易金額等;</p><p> 4.銀行的資金流通余額和盈利結(jié)算
14、 </p><p><b> 1.3事物需求</b></p><p> (1)可以查詢用戶信息</p><p> (2)可以實現(xiàn)存取款操作</p><p> (3)可以查詢交易信息</p><p> (4)可以查詢余額信息</p><p>
15、(5)可以統(tǒng)計銀行的資金流通余額和盈利結(jié)算 </p><p><b> 2.方案圖表設(shè)計</b></p><p><b> 2.1 E-R圖</b></p><p> 2.1.1用戶實體E-R圖:</p><p> 圖2-1用戶實體E-R圖</p><p> 2.1
16、.2銀行卡實體E-R圖:</p><p> 圖2-2銀行卡實體E-R圖</p><p> 2.1.3交易信息實體E-R圖:</p><p> 圖2-3交易信息實體E-R圖</p><p> 2.1.4總體的實體E-R圖:</p><p> 圖2-4總體的實體E-R圖</p><p>&
17、lt;b> 2.2數(shù)據(jù)字典</b></p><p> 表2.1數(shù)據(jù)庫中各表屬性參數(shù)</p><p><b> 3.數(shù)據(jù)庫源代碼</b></p><p><b> 3.1數(shù)據(jù)庫建立</b></p><p> 3.1.1創(chuàng)建數(shù)據(jù)庫</p><p>
18、create database ATMsystem</p><p><b> on</b></p><p> (name=’ ATMsystem_Data’,</p><p> Filename=’e:\sql’</p><p> Size=10MB,</p><p> Maxsize=
19、100MB,</p><p> Filegrowth=5%</p><p><b> )</b></p><p><b> Log on</b></p><p> (name=’ ATMsystem_Log’,</p><p> Filename=’e:\sql’&
20、lt;/p><p><b> Size=1MB,</b></p><p> Maxsize=10MB,</p><p> Filegrowth=1MB</p><p><b> )</b></p><p><b> go</b></p>
21、<p> 3.1.2創(chuàng)建用戶表</p><p> create table UserInfo</p><p> (users_numchar(10) not null,</p><p> users_namevarchar(10) not null,</p><p> users_idchar(18) not n
22、ull,</p><p> users_telchar(11 )not null,</p><p> users_addvarchar(50),</p><p><b> )</b></p><p> 3.1.3創(chuàng)建銀行卡表</p><p> create table BankCar
23、d</p><p> (bc_id char(19) not null,</p><p> users_num char(10) not null,</p><p> bc_bal float(8),</p><p> bc_day datetime not null,</p
24、><p><b> )</b></p><p> 3.1.4創(chuàng)建交易表</p><p> create table deal</p><p> (bc_id char(19) not null,</p><p> deal_daydatetime not null,</p&g
25、t;<p> deal_typechar(10),</p><p> deal_moneyfloat(8),</p><p><b> )</b></p><p> 3.1.5為交易表的卡號bc_id字段創(chuàng)建索引</p><p> create index deal_index on deal
26、(bc_id)</p><p> 3.1.6為表創(chuàng)建視圖</p><p> create view v_UserInfo(用戶編號,用戶名,身份證號,電話號碼,居住地址)</p><p><b> as</b></p><p><b> select *</b></p><
27、;p> from UserInfo</p><p> create view v_CardInfo(卡號,用戶編號,余額,開戶日期)</p><p><b> as</b></p><p><b> select *</b></p><p> from CardInfo</p&
28、gt;<p> create view v_deal(卡號,交易日期,交易類型,交易金額)</p><p><b> as</b></p><p><b> select *</b></p><p><b> from deal</b></p><p>
29、 3.1.7創(chuàng)建表屬性列約束</p><p> alter table UserInfo</p><p> add constraint UserInfo_pk primary key clustered(users_num),</p><p> constraint UserInfo_uk1 unique nonclustered(users_id),<
30、;/p><p> constraint UserInfo_uk2 unique nonclustered(users_tel)</p><p><b> go</b></p><p> alter table CardInfo</p><p> add constraint CardInfo_pk primary k
31、ey clustered(bc_id),</p><p> constraint CardInfo_uk1 unique nonclustered(users_num)</p><p><b> go</b></p><p> 3.1.8在交易表上創(chuàng)建觸發(fā)器</p><p> create trigger tri
32、g_deal on deal</p><p> for insert</p><p><b> as </b></p><p> if (select deal_type from inserted)='存款'</p><p><b> begin </b></p&g
33、t;<p> update CardInfo</p><p> set bc_bal=bc_bal+(select deal_money from inserted)</p><p> where bc_id=(select bc_id from inserted)</p><p><b> end</b></p&g
34、t;<p><b> else </b></p><p><b> begin</b></p><p> declare @a float ,@b float</p><p> set @a=(select bc_bal from CardInfo where bc_id=(select bc_id
35、 from inserted) )</p><p> set @b=(select deal_money from inserted)</p><p><b> if @a>@b</b></p><p><b> begin</b></p><p> update CardInfo&l
36、t;/p><p> set bc_bal=bc_bal-(select deal_money from inserted)</p><p> where bc_id=(select bc_id from inserted)</p><p><b> end</b></p><p><b> else<
37、/b></p><p><b> begin</b></p><p> print '余額不足'</p><p><b> end </b></p><p><b> end</b></p><p><b>
38、3.2數(shù)據(jù)初始化</b></p><p> 3.2.1將用戶信息添加到用戶表中</p><p> insert into UserInfo (users_num,users_name,users_id,users_tel,users_add)</p><p> values('0000000001','張三',
39、39;420322201401011212','13293971234',</p><p> '湖北省武漢市關(guān)山大道589號')</p><p> insert into UserInfo (users_num,users_name,users_id,users_tel,users_add)</p><p> valu
40、es('0000000002','李四','420322201408174031','13885395761',</p><p> '湖北省襄陽市南京路407號')</p><p> insert into UserInfo (users_num,users_name,users_id,users_tel
41、,users_add)</p><p> values('0000000003','王五','420322201412268349','15730354392',</p><p> '湖北省武孝感市上海路215號')</p><p> insert into UserInfo (
42、users_num,users_name,users_id,users_tel,users_add)</p><p> values('0000000004','李六','420322201403782134','14976234527',</p><p> '湖北省武咸寧市紫金路45號')</p&g
43、t;<p> 3.2.1將銀行卡信息添加到銀行卡表中</p><p> insert into CardInfo(bc_id,users_num,bc_bal,bc_day)</p><p> values('6217002870002308001','0000000001','10000','20150101&
44、#39;)</p><p> insert into CardInfo (bc_id,users_num,bc_bal,bc_day)</p><p> values('6217002870002308002','0000000002','20000','20150102')</p><p>
45、insert into CardInfo (bc_id,users_num,bc_bal,bc_day)</p><p> values('6217002870002308003','0000000003','30000','20150103')</p><p> insert into CardInfo (bc_id
46、,users_num,bc_bal,bc_day)</p><p> values('6217002870002308004','0000000004','40000','20150104')</p><p> 3.2.1將交易信息添加到交易表中</p><p> insert into deal
47、(bc_id,deal_day,deal_type,deal_money)</p><p> values('6217002870002308001','20150101','存款','10000')</p><p> insert into deal(bc_id,deal_day,deal_type,deal_money
48、)</p><p> values('6217002870002308002','20150102','存款','20000')</p><p> insert into deal(bc_id,deal_day,deal_type,deal_money)</p><p> values('
49、6217002870002308003','20150103','存款','30000')</p><p> insert into deal(bc_id,deal_day,deal_type,deal_money)</p><p> values('6217002870002308004','201501
50、04','存款','40000')</p><p><b> 4.結(jié)果數(shù)據(jù)處理</b></p><p> 4.1表UserInfo查詢演示</p><p> 圖4-1 表UserInfo內(nèi)容查詢圖</p><p> 4.2表CardInfo查詢演示</p>&
51、lt;p> 圖4-2 表CardInfo內(nèi)容查詢圖</p><p> 4. 3表deal查詢演示</p><p> 圖4-3 表deal內(nèi)容查詢圖</p><p><b> 4. 4存取款演示</b></p><p> 圖4-4存取款交易圖</p><p> 4. 5銀行資金流通
52、余額盈利結(jié)算</p><p> 圖4-5銀行資金流通余額盈利結(jié)算圖</p><p><b> 5.結(jié)束語</b></p><p> 通過這次實踐我學(xué)到了很多東西,做系統(tǒng)細心很重要,作為一個編程人員,更是如此。在整個系統(tǒng)中丟失了一個逗號,分號都是很嚴重的事情,所以保持清醒頭腦,膽大心細是一個編程人員的良好心態(tài)。也為以后自己踏上工作之路做好了
53、實踐經(jīng)驗準備。</p><p> 這次實踐不僅把學(xué)到的知識都進行了運用,鞏固了知識之外還學(xué)習(xí)到了開發(fā)系統(tǒng)應(yīng)該注意的問題的解決方法,這對以后的工作有很大的幫助。我從這次實踐中受益匪淺,感謝老師和同學(xué)們。</p><p> 剛開始時創(chuàng)建表時,有一些字段的數(shù)據(jù)類型設(shè)計的不合理。比如存款類型和賬戶余額在一開始時我設(shè)置的是char類型,但在后來的運算中總是需要把char類型轉(zhuǎn)化,這樣很麻煩,我就
54、重新定義了表,把類型轉(zhuǎn)化為money,這樣運算時就簡單一點了。在做系統(tǒng)時經(jīng)常會提示一些約束沖突,剛開始自己還以為做錯了,后來才明白那正是自己做的約束在起作用了。這還是理論與實際不能結(jié)合的原因啊。在整個系統(tǒng)中有很多存儲過程,自己對存儲過程掌握的不是太熟練,所以在做的過程中很吃力,有時候?qū)懲甏鎯^程執(zhí)行的時候經(jīng)常會出錯,因為有時是輸入的變量個數(shù)與存儲類型不符,有時是類型不一致。但是最后通過自己的努力還是成功的完成了。</p>
55、<p> 這次實驗使我受益匪淺,首先我們自己動手獨立完成實驗,這有利于提高我們的動手能力。另外從問題的解決來看,一個小型數(shù)據(jù)庫系統(tǒng)的建立,需要付諸行動去調(diào)查,摸索構(gòu)成它的要素,以及如何將這些獲得的數(shù)據(jù)項進行優(yōu)化處理,使之成為有聯(lián)系的而非雜亂無章的一個整體,而這些又需要運用數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的知識包括(數(shù)據(jù)流圖設(shè)計,數(shù)據(jù)字典,E-R圖設(shè)計,關(guān)系模式的優(yōu)化處理)基于這些基本知識才有可能完成好數(shù)據(jù)結(jié)構(gòu)設(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- atm課程設(shè)計報告--atm管理系統(tǒng)
- atm課程設(shè)計報告---atm交易管理系統(tǒng)
- atm課程設(shè)計報告---簡易atm機系統(tǒng)
- atm機課程設(shè)計--atm自動粗取款系統(tǒng)
- java課程設(shè)計--atm機模擬系統(tǒng)
- 總賬子系統(tǒng)課程設(shè)計
- 【操作系統(tǒng)課程設(shè)計】內(nèi)存管理子系統(tǒng)
- 課程設(shè)計---工資核算與管理子系統(tǒng)設(shè)計
- 生產(chǎn)管理輔助子系統(tǒng)課程設(shè)計報告
- 課程設(shè)計---工商銀行atm系統(tǒng)設(shè)計
- c++課程設(shè)計---建行atm取款機管理系統(tǒng)
- java課程設(shè)計報告--銀行atm機系統(tǒng)
- java課程設(shè)計atm機
- 電子系統(tǒng)課程設(shè)計
- 課程設(shè)計---小型圖書館借閱管理子系統(tǒng)
- 銀行atm自動取款機系統(tǒng)課程設(shè)計
- 電子系統(tǒng)課程設(shè)計論文
- 銀行atm自動取款機系統(tǒng)課程設(shè)計
- java課程設(shè)計報告--atm存取款系統(tǒng)
- 課程設(shè)計報告---atm自動提款機系統(tǒng)
評論
0/150
提交評論