數(shù)據(jù)庫課程設(shè)計(jì)銀行存儲(chǔ)管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)銀行存儲(chǔ)管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)銀行存儲(chǔ)管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)銀行存儲(chǔ)管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)銀行存儲(chǔ)管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)號(hào)2013-2014學(xué)年 第一學(xué)期0908010129數(shù)據(jù)庫原理課程設(shè)計(jì)報(bào)告題 目 : 銀行存儲(chǔ)管理系統(tǒng) 專業(yè)班級(jí) : 計(jì)算機(jī)與信息工程系11(1)班 學(xué)生姓名 : 學(xué) 號(hào) : 指導(dǎo)教師 : 設(shè)計(jì)周數(shù) : 2周 設(shè)計(jì)成績(jī) : 計(jì)算機(jī)與信息工程系2013年12月16日目 錄1 概述22 需求與功能分析23 概要設(shè)計(jì)24 數(shù)據(jù)庫設(shè)計(jì)45 關(guān)鍵技術(shù)實(shí)現(xiàn)76 數(shù)據(jù)庫安全性控制177總結(jié)與展望17參 考 文 獻(xiàn)181 概述現(xiàn)今的社會(huì),資金流動(dòng)十分頻繁。不單單是企業(yè)、產(chǎn)商,個(gè)人也不例外。銀行作為一個(gè)金融機(jī)構(gòu),在現(xiàn)代人們的生活中扮演著極其重要的角色。為生活節(jié)奏飛快的現(xiàn)代人提供快速、便捷、高效的理財(cái)服務(wù)。伴

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

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

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

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

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

7、serpassword密碼varchar20nsavemoney存儲(chǔ)數(shù)額money8nsavestyle存儲(chǔ)類型varchar10naccrualrate利息利率double10nsavedate存儲(chǔ)日期datetime8n自動(dòng)填寫當(dāng)天日期savetime已存儲(chǔ)時(shí)間(年份)datetimey公式計(jì)算:(datepart(year,getdate()-datepart(year, savedate)interest已獲得利息moneyy公式計(jì)算:(savemoney*accrualrate)*(datepart(year,getdate()-datepart(year, savedate)all

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

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

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

11、serpassword)12)beginprint 密碼長(zhǎng)度應(yīng)在到6到12 rollback 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)beginprint

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

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

14、理員信息存儲(chǔ)過程:create procedure dbo.adminmodify(adnumber varchar(50),adname varchar(50), adpassword varchar(50) )as update adminsset adname=adname,adpassword=adpasswordwhere (adnumber=adnumber)用戶開戶(錄入用戶個(gè)人信息):create procedure dbo.useradd(bankcardnumber varchar(50),name varbinary(50), userpassword varchar(5

15、0),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,name,userpassword,idcardnumber,telephone,sex)insert

16、 into usersavemessage (savemoney,savestyle,accrualrate,savedate)values(savemoney,savestyle,accrualrate,savedate)set transaction isolation level read uncommitted用戶銷戶(刪除個(gè)人信息與存儲(chǔ)信息):create procedure dbo.userdetele(bankcardnumber varchar(50)as delete usermessage where (bankcardnumber=bankcardnumber)delet

17、e usersavemessagewhere (bankcardnumber=bankcardnumber)修改用戶個(gè)人信息存儲(chǔ)過程: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,idcard

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

19、tted增加存款存儲(chǔ)過程:create procedure dbo.addsavemoney(bankcardnumber varchar(50),savemoney money)as update usersavemessage set savemoney=savemoney-savemoneywhere (bankcardnumber=bankcardnumber)set transaction isolation level read uncommitted用戶修改密碼:create procedure dbo.usermodifypassword(bankcardnumber varc

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論