銀行管理系統(tǒng)課程設(shè)計報告_第1頁
銀行管理系統(tǒng)課程設(shè)計報告_第2頁
銀行管理系統(tǒng)課程設(shè)計報告_第3頁
銀行管理系統(tǒng)課程設(shè)計報告_第4頁
銀行管理系統(tǒng)課程設(shè)計報告_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、仲愷農(nóng)業(yè)工程學(xué)院課 程 設(shè) 計設(shè)計題目:銀行儲蓄管理系統(tǒng)姓 名 方墅東院(系) 計算機科學(xué)與工程學(xué)院專業(yè)年級 計算機科學(xué)與技術(shù)091班學(xué) 號 200910214106指導(dǎo)教師 羅慧慧職 稱 講師起止時間 2011年6月20日-2011年6月24日仲愷農(nóng)業(yè)工程學(xué)院教務(wù)處制 目 錄1 概述32 需求與功能分析33 概要設(shè)計34 數(shù)據(jù)庫設(shè)計55 關(guān)鍵技術(shù)實現(xiàn)86 數(shù)據(jù)庫安全性控制187總結(jié)與展望18參 考 文 獻191 概述現(xiàn)今的社會,資金流動十分頻繁。不單單是企業(yè)、產(chǎn)商,個人也不例外。銀行作為一個金融機構(gòu),在現(xiàn)代人們的生活中扮演著極其重要的角色。為生活節(jié)奏飛快的現(xiàn)代人提供快速、便捷、高效的理財服務(wù)

2、。伴隨著電腦技術(shù)的發(fā)展,各大銀行的儲蓄管理系統(tǒng)也隨之出現(xiàn)在這一舞臺之上。這次的數(shù)據(jù)庫課程設(shè)計我以這一應(yīng)用環(huán)境為背景,應(yīng)用數(shù)據(jù)庫原理課程所學(xué)的數(shù)據(jù)庫設(shè)計與關(guān)系數(shù)據(jù)理論,結(jié)合實際的操作和設(shè)計進行設(shè)計。目標是制定一套合理、有效,規(guī)范和實用的銀行管理系統(tǒng),對銀行信息進行集中統(tǒng)一的管理。提高銀行工作效率,做到信息的規(guī)范管理,科學(xué)統(tǒng)計和快速查詢。這次課程設(shè)計我所應(yīng)用的開發(fā)環(huán)境是windows7,開發(fā)工具是sql2008,所制作數(shù)據(jù)庫在window2000以上操作系統(tǒng)都可以正常運行。2 需求與功能分析銀行儲存管理系統(tǒng)要求每一個銀行管理者都有一個系統(tǒng)帳號,并且每一個帳號都有密碼,系統(tǒng)對用戶的添加、管理、存款添

3、加都有管理者執(zhí)行,而不是由存儲用戶自己執(zhí)行。該系統(tǒng)主要有兩部分業(yè)務(wù)內(nèi)容:存款與取款。取款則可以由儲戶自己在取款窗口取款,也可以由管理員管理取款操作。系統(tǒng)擴充的功能有管理員的添加、修改,用戶修改密碼。3 概要設(shè)計下面為銀行存儲管理系統(tǒng)的的概要設(shè)計:(1)、系統(tǒng)總體框圖:銀行是一個與我們的生活息息相關(guān)的部門。在我們的生活中銀行主要辦理以下業(yè)務(wù):1,儲戶開戶登記;2,定期存款;3,定期取款;4,活期存款;5,活期取款;6,利息結(jié)算7,輸出明細賬單,8、銷戶9、管理員的添加與修改。這些功能都是由管理員來操作的,管理員可以操作管理員信息表、用戶個人信息表和用戶存儲信息表這三個表。而對于用戶,可以單獨在端

4、口操作賬戶查詢、取款和修改個人密碼。不管是任何操作,都要先登錄核對帳號密碼。銀行存儲管理系統(tǒng)銀行管理員注冊用戶開戶用戶取款錄入管理員信息用戶基本信息存款數(shù)與類型用戶登錄、查詢、取款、修改密碼(2)、數(shù)據(jù)流程圖: 管理員登錄管理員信息表 用戶開戶、存款用戶信息表用戶存儲信息表 用戶查詢、取款、修改密碼銀行管理員用戶信息表存儲信息表個人用戶4 數(shù)據(jù)庫設(shè)計我設(shè)計的銀行管理系統(tǒng)只有兩個實體:管理員與存儲用戶。而管理員只擁有管理員帳號、密碼、姓名這三個信息,以方便查詢管理員操作記錄。儲戶則擁有個人信息和存儲信息,分為兩個表。個人信息的屬性有銀行卡號、姓名、身份證號、密碼、電話、性別,存儲信息有銀行卡號、

5、密碼、存儲數(shù)額、存儲類型、利息利率、存儲日期、已存儲時間(年份)、已獲得利息、總余額這些信息,其中這里的銀行卡號和密碼是個人信息表的外鍵。由管理員操作用戶的開戶、存儲操作等操作,而用戶可以自己進行查詢、取款、修改密碼。以下為e-r模型圖:銀行管理員開戶、存款存儲用戶mn個人存款查詢、取款11各部分e-r圖:管理員信息 編號姓名密碼用戶個人信息銀行卡號姓名身份證號密碼用戶存儲信息電話銀號卡號密碼存款數(shù)額存款類型存款利率存儲日期性別存儲時間賬戶余額關(guān)系表(已規(guī)范化):adminstrator(管理員信息表)字段名稱含義類型長度是否為空黙認值主鍵外鍵約束adnumber管理員帳號varchar10n

6、p主鍵adname姓名varchar10nadpassword密碼varchar12nusersmessage(用戶個人信息表)字段名稱含義類型長度是否為空黙認值主鍵外鍵約束bankcardnumber銀行卡號varchar20np主鍵name姓名varchar10npassword密碼varchar20nidcardnumber身份證號varchar20ntelephone電話varchar20nsex性別nvarchar1ncheck in(男,女)savemessage(存儲信息表)字段名稱含義類型長度是否為空黙認值主鍵外鍵約束bankcardnumber銀行卡號varchar20np主

7、鍵userpassword密碼varchar20nsavemoney存儲數(shù)額money8nsavestyle存儲類型varchar10naccrualrate利息利率double10nsavedate存儲日期datetime8n自動填寫當天日期savetime已存儲時間(年份)datetimey公式計算:(datepart(year,getdate()-datepart(year, savedate)interest已獲得利息moneyy公式計算:(savemoney*accrualrate)*(datepart(year,getdate()-datepart(year, savedate)a

8、llmoney總余額moneyy公式計算:(savemoney+accrualrate*(datepart(year,getdate()-datepart(year, savedate)由e-r圖轉(zhuǎn)化的關(guān)系表其中,利息、余額、存儲時間我采用了公式計算,并檢驗正確。由以上關(guān)系表在sql2008中建立了數(shù)據(jù)庫。5 關(guān)鍵技術(shù)實現(xiàn)設(shè)計了顯示用戶個人信息及存儲信息的個人信息視圖以及只查詢用戶存儲信息的視圖和顯示管理員信息的管理員視圖。設(shè)計了四個觸發(fā)器,包括兩個管理員密碼、用戶密碼設(shè)置修改不符合長度的觸發(fā)器。一個定期存款未到期不允許取款的觸發(fā)器,一個余額不足不允許取款的觸發(fā)器。設(shè)計了添加、修改、刪除管理員

9、;用戶開戶、修改用戶個人信息、用戶銷戶(刪除個人信息與存儲信息)、增加存款存儲、用戶修改密碼用戶取款這幾個存儲過程。并對關(guān)鍵事務(wù):用戶取款、用戶開戶、用戶修改密碼、用戶添加存款這幾個關(guān)鍵業(yè)務(wù)做了事務(wù)處理,我的方法是將事務(wù)的隔離級別設(shè)置為為提交讀(read uncommitted),防止丟失修改、讀臟數(shù)據(jù)等錯誤。具體就是在這些事務(wù)前加入set transaction isolation level read uncommitted具體代碼如下:視圖:由企業(yè)管理器直接創(chuàng)建。觸發(fā)器:管理員密碼長度觸發(fā)器:create trigger dbo.t1 on dbo.admins for insert,u

10、pdateasdeclare adpassword varchar(50)select adpassword=adpassword from insertedif (len(adpassword)12)beginprint 密碼長度應(yīng)在6到12rollback transactionend用戶密碼長度觸發(fā)器:create trigger dbo.t2 on dbo.usermessage for insert,updateasdeclare userpassword varchar(50)select userpassword=userpassword from insertedif (len

11、(userpassword)12)beginprint 密碼長度應(yīng)在到6到12rollback transactionend定期存款取款限定:create trigger dbo.t4 on dbo.usersavemessage for updateasdeclare savetime moneydeclare savestyle varchar(50)select savetime=savetime from insertedselect savestyle=savestyle from insertedif (savestyle=定期三年 and savetime 3)beginprin

12、t 儲蓄時間不足年,無法取款rollback transactionendelse if(savestyle=定期五年 and savetime 5)beginprint 儲蓄時間不足年,無法取款rollback transactionend余額不足觸發(fā)器:create trigger dbo.t3 on dbo.usersavemessage for updateasdeclare allmoney moneyselect allmoney=allmoney from insertedif (allmoney 1)beginprint 余額不足!rollback transactionend

13、存儲過程:添加管理員存儲過程:create procedure dbo.adminadd(adnumber varchar(50),adname varchar(50), adpassword varchar(50) )as insert into admins(adnumber,adname,adpassword)values(adnumber,adname,adpassword)刪除管理員存儲過程:create procedure dbo.admindelete(adnumber varchar(50) )as delete adminswhere(adnumber=adnumber)修改

14、管理員信息存儲過程:create procedure dbo.adminmodify(adnumber varchar(50),adname varchar(50), adpassword varchar(50) )as update adminsset adname=adname,adpassword=adpasswordwhere (adnumber=adnumber)用戶開戶(錄入用戶個人信息):set transaction isolation level read uncommittedcreate procedure dbo.useradd(bankcardnumber varch

15、ar(50),name varbinary(50), userpassword varchar(50),idcardnumber varchar(50),telephone varchar(50),sex varchar(1),savemoney money,savestyle varchar(50),accrualrate float,savedate datetime)as insert into usermessage (bankcardnumber,name,userpassword,idcardnumber,telephone,sex)values(bankcardnumber,na

16、me,userpassword,idcardnumber,telephone,sex)insert into usersavemessage (savemoney,savestyle,accrualrate,savedate)values(savemoney,savestyle,accrualrate,savedate)用戶銷戶(刪除個人信息與存儲信息):create procedure dbo.userdetele(bankcardnumber varchar(50)as delete usermessage where (bankcardnumber=bankcardnumber)dele

17、te usersavemessagewhere (bankcardnumber=bankcardnumber)修改用戶個人信息存儲過程:create procedure dbo.usermodify(bankcardnumber varchar(50),name varchar(50), userpassword varchar(50),idcardnumber varbinary(50),telephone varchar(50),sex varchar(1)as update usermessage set name=name,userpassword=userpassword,idcar

18、dnumber=idcardnumber,telephone=telephone,sex=sexwhere (bankcardnumber=bankcardnumber)用戶取款:set transaction isolation level read uncommittedcreate procedure dbo.getmoney(bankcardnumber varchar(50),getmoney money)as update usersavemessage set savemoney=savemoney-getmoneywhere (bankcardnumber=bankcardnu

19、mber)增加存款存儲過程:set transaction isolation level read uncommittedcreate procedure dbo.addsavemoney(bankcardnumber varchar(50),savemoney money)as update usersavemessage set savemoney=savemoney-savemoneywhere (bankcardnumber=bankcardnumber)用戶修改密碼:set transaction isolation level read uncommittedcreate pro

20、cedure dbo.usermodifypassword(bankcardnumber varchar(50), userpassword varchar(50)as update usermessage set userpassword=userpasswordwhere (bankcardnumber=bankcardnumber)觸發(fā)器sql腳本測試結(jié)果如下:余額不足的觸發(fā)器sql腳本測試結(jié)果:密碼長度限定觸發(fā)器sql腳本測試結(jié)果:給出增添、修改、刪除、取款等不同操作的存儲過程的sql腳本測試結(jié)果,存儲過程其余結(jié)果類似:添加管理員存儲過程sql腳本語言測試結(jié)果:取款操作的存儲過程測試結(jié)果:取款前:取款后:修改用戶信息存儲過程腳本測試結(jié)果:修改前:修改后:刪除用戶的存儲過程:執(zhí)行前:執(zhí)行后:6 數(shù)據(jù)庫安全性控制設(shè)置了admin的用戶,擁有所有架構(gòu)和權(quán)限。以管理數(shù)據(jù)庫設(shè)置了boss和yinhangwork兩個角色,boss有對admins表的所有

溫馨提示

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

評論

0/150

提交評論