《数据库课程设计报告银行管理系统37877.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告银行管理系统37877.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要银行管理系系统在无无论在网网络上,还还是各种种管理系系统软件件的资料料上都有有讲解,而而且均非非常详细细,其难难度也可可想而知知。这次次课程设设计时间间紧迫,另另外作者者本身能能力也十十分有限限,只能能完成银银行管理理系统中中的少量量功能,所所以该系系统还有有很多有有待扩充充及完善的的地方,有有不妥善善的地方方还请老老师指点点。(这这些应出出现在总总结,在在此应简简要说明明选题的的目的及及意义)这次课程设计只是达到训练、牢固知识的目的,熟悉数据库的前台和后台编程、VC+的控件、如何访问数据库等方面的知识,所以实现的功能也很有限,待以后随着知识的积累,慢慢地扩充完善该系统。本系统采用用了可
2、视视化的集集成开发发环境VVisuual C+ 6.0编辑辑用户操作作界面、以以SQLL Seeverr为后台台数据库库并以CCRecoordSSet类类访问数数据库信信息的管管理系统统,该系系统能够够完成用用户帐号号的建立立、用户户存取款款、数据据备份与与恢复等等基本功能能。关键字:SSQL数数据库、SQL语言、VC+、银行管理系统目 录1 绪论1.1 选选题目的的及意义义111.2 设设计内容容112 需求分分析2.1 功功能需求求12.2 数数据需求求112.3 其其他需求求113数据库设设计3.1概念念结构设设计23.2逻辑辑结构设设计23.3物理理结构设设计24 系统功功能设计计44
3、5 系统实实现5.1 开开发环境境45.2 主主要功能能的运行行结果及及代码46 总结18参考文献(页码再核核对一下下)1 绪论1.1选题题的目的的及意义义 银银行管理理系统:该系统统要求建建立的用用户表并并不是很很多,完完成的功功能也相相对有限限,但其其中各个个表之间间的联系系很紧密密,该系系统对数数据库表表的设计计要求会会很高,所所以完成成这个题题目,能能更好的的训练数数据库设设计和VVC的编编程能力力,选择择该题目目就是充充分训练练数据库库表设计计的能力力和运用用VC的的能力。1.2 设设计内容容用户管理模模块:建建立新用用户、删删除老用用户、更更改用户户操作;账户操作模模块:账账户信息
4、息、活期期存取款款操作、查查询活期期操作记记录、定定期存款款、定期期取款、查查询定期期操作记记录;数据库模块块:数据据库备份份、数据据库恢复复;2 需求分析2.1 功能需求对于用户部部分,能能够新建建和删除除用户,在在操作过过程中可可以更改改用户;对于账账户部分分,可以以查询用用户的信信息,包包括各种种基本信信息、活活期余额额、定期期账单等等;对于于账户操操作部分分,有活活期存取取款、定定期存取取款操作作,另外外操作完完成之后后存储相相应的操操作记录录并能够够查询操操作记录录等功能能。2.2 数据需求账户信息:帐号vaarchhar(20),开户户人姓名名varrchaar(220),账账户密
5、码码chaar(66),身身分证号号varrchaar(220),账账户余额额flooat,开开户日期期dattetiime,开开户地址址varrchaar(330);活期操作:帐号vvarccharr(200),金金额flloatt,类型型(存入入,支出出),账账户余额额flooat,利利息flloatt,存入入日期ddateetimme;定期存款:帐号vvarccharr(200),存存款人姓姓名vaarhccar(10),存款款金额ffloaat,存存款日期期dattetiime,存存储年份份intt,存储储利率ffloaat;定期取款:帐号vvarccharr(200),取取款人姓姓名
6、vaarhccar(10),取款款金额ffloaat,取取款日期期dattetiime;定期历史操操作记录录:帐号号varrchaar(220),存存取款人人姓名vvarhhcarr(100),类类型(存存入,支支出),办办理日期期dattetiime,存存储年份份intt,存储储利率ffloaat;2.3 其它需求完成数据库库的备份份与恢复复,系统统登录对对话框等等功能。3. 数据据库设计计3.1概念念结构设设计活期存取款存储帐号银行储户开户地址姓名性别帐户余额开户日期密码身份证号定期存取款定期操作记录活期操作记录 银银行管理理系统EE-R图图3.2 逻逻辑结构构设计储户(帐帐号,姓姓名,密
7、密码,身身份证号号,性别别,帐户户余额,开开户日期期,开户户地址);活期存取取款(nnID,帐帐号,金金额,类类型,办办理日期期,利息息,账户户余额);定期存款款(nIID,帐帐号,存存款人姓姓名,金金额,存存储年份份,年利率,存存储日期期);定期取款款(nIID,帐帐号,取取款人姓姓名,取取款金额额,取款款日期);定期记录录(nIID,帐帐号,存存取款人人姓名,类类型,操操作金额额,年份份,操作作日期)3.3 物物理结构构设计储户表序号字段名称字段描述数据类型长度属性1CNo帐号Varchhar20PK2CNamee开户人姓名名Varhccar20非空3CPasssworrd登录密码Char
8、6非空4CID身份证号Varchhar20非空5CSex性别Char 2非空6CBalaancee帐户余额Floatt8非空7CDatee开户日期Datettimee8非空8CAddrresss开户地址Varchhar30非空主键:帐号号;约束条件:各属性性均非空空,密码码长度为为6位;活期存取款款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchhar20非空3CMoneey操作金额Floatt8非空4CStylle操作类型Varchhar10非空5CDatee操作日期Datettimee8非空6CInteeresst利息Floatt8非空7CBalaanc
9、ee帐户余额Floatt8非空主键:nIID;外外键:帐帐号;被被参照表表:储户户表约束条件:各属性性均非空空;定期存款表表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchhar20非空3CNamee存款人姓名名Varchhar10非空4CMoneey存款金额Floatt8非空5CDatee存款日期Datettimee8非空6CYearr存储年份Int4非空7CRatee存储利率Floatt8非空主键:nIID;外外键:帐帐号;被被参照表表:储户户表约束条件:各属性性均非空空;定期取款表表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号
10、Varchhar20非空3CNamee取款人姓名名Varchhar10非空4CMoneey取款金额Floatt8非空5CDatee取款日期Datettimee8非空主键:nIID;外外键:nnID;被参照照表:定定期存款款表约束条件:各属性性非空定期操作记记录表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchhar20非空3CNamee存取款人姓姓名Floatt8非空4CStylle操作类型Char4非空5CMoneey存取款金额额floatt8非空6CYearr存储年份Int4非空7CDatee存取款日期期Datettimee8非空主键:nIID;外外键:n
11、nID;被参照照表:定定期存款款表,定定期取款款表约束条件:各属性性非空4.系统功功能设计计银行管理系统银行账户系统管理理新建账户删除账户更改账户账户管理退出系统账户操作查看账户信息活期操作定期操作活期存取款查看历史记录定期存款定期取款查看历史记录数据库管理数据库备份数据库恢复账户登录,身份验证图4-1银银行管理理系统功功能结构构图5 .系统统实现5.1 系系统开发发环境软件:SQQL SSeveer 220000,VCC+66.0操作系统:Winndoww XPP硬件:Peentiiun 4 DDDR 5122MB 1200G硬盘盘5.2主要要功能的的运行结结果及代代码数据库创建建过程及及其
12、连接接(1).进入企企业管理理器窗口口,选择择“新建SSQL Sevver注注册”;(2).选选中“数据库库”文件夹夹,单击击鼠标右右键,选选择“新建数数据库”,输入入数据库库名Baank;(3).单单击“确定”按钮,关关闭对话话框,数数据库创创建成功功。完成“账户户登录”的窗口口ID控件类型成员变量说明IDC_EEDITT1CStriingm_strrNo用户帐号IDC_EEDITT1CEdittm_ctrrNoIDC_EEDITT2CStriingm_strrPassswoord登录密码IDC_EEDITT2CEdittm_ctrrPassswoordIDC_EEDITT3CStriing
13、m_strrRePPasssworrd确认密码IDC_EEDITT3CEdittm_ctrrRePPasssworrdIDOK“OK”按按钮IDCANNCLEE“Canccle”按钮(1) 添加记录集集类CAAccoounttSett类,基基类为CCReccorddSett,数据据表为aaccoountt表;(2) 在在CLooginnDlgg类中添添加CAAccoontSSet类类的成员员变量mm_reecorrdseet;(3) 为为“CBaankAApp”类添加加为CSStriing型型的成员员变量sstrNNO;(4) IIDOKK控件的的消息响响应函数数:void CLooginnD
14、lgg:OOnOKK() UpdaateDDataa(TRRUE);if (mm_sttrNoo = )MesssaggeBoox(Pleeasee Innputt thhe AAccoountt Nuumbeer!);m_cctrNNo.SSetFFocuus();retturnn ;if (mm_sttrPaasswwordd = )MesssaggeBoox(Pleeasee Innputt thhe PPasssworrd!);m_cctrPPasssworrd.SSetFFocuus();retturnn ;if (mm_sttrReePassswoord = )MesssaggeB
15、oox(Pleeasee Innputt thhe CConffirmm Paasswwordd!);m_cctrRRePaasswwordd.SeetFoocuss();retturnn ;if (mm_sttrPaasswwordd != m_strrRePPasssworrd)MesssaggeBoox(Twoo Paasswwordds AAre Diffferred!);m_sstrPPasssworrd = ;m_sstrRRePaasswwordd = ;UpddateeDatta(FFALSSE);m_cctrPPasssworrd.SSetFFocuus();retturnn
16、 ;CStriing strrSQLL;strSSQL.Forrmatt(sseleect * ffromm Acccouunt wheere CNoo = %ss,m_sstrNNo);if (!m_rrecoordsset.Opeen(AAFX_DB_USEE_DEEFAUULT_TYPPE,sstrSSQL)MesssaggeBoox(Opeen DDataabasse FFileed!,DDataabasse EErroor,MB_OK);retturnn ;if (mm_reecorrdseet.mm_CPPasssworrd != mm_sttrPaasswwordd)Messsa
17、ggeBoox(Passswoord Errror! Plleasse RRewrritee!);m_rrecoordsset.Cloose();m_strrPassswoord = ;m_sstrRRePaasswwordd = ;UpddateeDatta(FFALSSE);m_cctrPPasssworrd.SSetFFocuus();retturnn ;CBankkAppp * pthheAppp = (CCBannkAppp *) AAfxGGetAApp();ptheeAppp-sstrNNo = m_strrNo;CDiaalogg:OOnOKK();(5) 在在“CBaankA
18、App”类中的的“IniitInnstaancee()”函数中中添加登登录对话话框的对对象:CLogiinDllg ddlg;if (ddlg.DoMModaal() != IDDOK)retuurn FALLSE;完成“创建建新帐户户”的窗口口:ID控件类型成员变量说明IDC_CCOMBBO1CCombboBooxm_ctrrSexx性别IDC_DDATEETIMMEPIICKEER1CTimeem_tmDDatee开户日期IDC_EEDITT1CStriingm_strrNo帐号IDC_EEDITT1CEdittm_ctrrNoIDC_EEDITT2CStriingm_strrNamme开
19、户人姓名名IDC_EEDITT2CEdittm_ctrrNammeIDC_EEDITT3CStriingm_strrPassswoord密码IDC_EEDITT3CEdittm_ctrrPassswoordIDC_EEDITT4CStriingm_strrCommPassswoord确认密码IDC_EEDITT4CEdittm_ctrrCommPassswoordIDC_EEDITT5CStriingm_strrID身份证号IDC_EEDITT5CEdittm_ctrrIDIDC_EEDITT6Doubllem_bBaalannce帐户余额IDC_EEDITT7CStriingm_strrAd
20、ddresss开户地址IDC_EEDITT7CEdittm_ctrrAdddresssIDOK“确定”按按钮IDCANNCLEE“取消”按按钮(1) 在CAcccounntDllg类中中添加CCAccconttSett类的成成员变量量m_rrecoordsset;(2) 添加记录集集类CCCurrrenttSett类,基基类为CCReccorddSett,数据据表为ccurrrentt表;(3) 添加初始化化对话框框OnIInittDiaalogg()方方法:BOOL CAcccouuntDDlg:OnnIniitDiialoog() CDiaalogg:OOnInnitDDiallog();
21、m_tmmDatte = CTTimee:GGetCCurrrenttTimme();m_cttrSeex.AAddSStriing(男);m_cttrSeex.AAddSStriing(女);UpdaateDDataa(FAALSEE);retuurn TRUUE; (4) IDOK控控件的消消息响应应函数,完完成对帐帐户表和和活期存存取款表表的记录录添加。完成“删除除帐户”的功能能:在CMaiinFrramee类中添添加菜单单的消息息响应函函数,找找到当前前用户在在账户表表中的记记录,并并且判断断该帐户户是否还还有活期期存款和和定期存存款,如如果有记记录,则则无法删删除帐户户。void C
22、MaainFFramme:OnDDeleeteAAccoountt() / TTODOO: AAdd youur ccommmandd haandller codde hhereeCBannkAppp * pttheAApp = (CBaankAApp *) AfxxGettAppp();CStrringg sttrSQQL;strSSQL.Forrmatt(sseleect * ffromm Acccouunt wheere CNoo = %ss,pthheAppp-strrNo);CAcccounntSeet rrecoordsset;if (!reecorrdseet.OOpenn(AF
23、FX_DDB_UUSE_DEFFAULLT_TTYPEE,sttrSQQL)MesssaggeBoox(Opeen DDataabasse FFileed!,DDataabasse EErroor,MB_OK);retturnn ;if (MesssaggeBoox(确定删删除该用用户?,提提示,MB_YESSNO) = IDDYESS)if (reecorrdseet.mm_CBBalaancee != 0)reecorrdseet.CClosse();MeessaageBBox(用户户账户中中活期存存款仍存存有余额额,无法法进行销销户!);reeturrn ;CTiimeDDepoosit
24、tSett tdds;CSttrinng sstrRRecoord;strrReccordd.Foormaat(sellectt * ffromm TiimeDDepoositt whheree CNNo = %s,pttheAApp-sttrNoo);if (!ttds.Opeen(AAFX_DB_USEE_DEEFAUULT_TYPPE,sstrRRecoord)reecorrdseet.CClosse();MeessaageBBox(Oppen Dattabaase Filled!,Dattabaase Errror,MBB_OKK);reeturrn ;if (tdds.GGetRRe
25、coordCCounnt() != 0)reecorrdseet.CClosse();tdds.CClosse();MeessaageBBox(用户户账户中中仍存有有定期账账目,无无法销户户!);reeturrn ;reccorddsett.Deelette();reccorddsett.Reequeery();reccorddsett.Cllosee();MesssaggeBoox(用户账账户删除除成功!);elseereccorddsett.Cllosee();retturnn ;完成“退出出系统”的功能能:在CMaiinFrramee类中添添加菜单单的消息息响应函函数:void CMaa
26、inFFramme:OnEExitt() if (MesssaggeBoox(确定退退出该系系统?,提提示,MB_YESSNO) = IDDYESS)PosstQuuitMMesssagee(1);retturnn ;完成“查询询账户信信息”的功能能:ID控件类型成员变量说明IDC_DDATEETIMMEPIICKEER1CTimeem_tmDDatee开户日期IDC_EEDITT1CStriingm_strrNo帐号IDC_EEDITT2CStriingm_strrNamme姓名IDC_EEDITT3CStriingm_strrAdddresss开户地址IDC_EEDITT4CStriingm_strrBallancce帐户余额IDC_LLISTT1CListtCtrrlm_ctrrLisst列表控件IDOK“确定”按按钮(1)添加加初始化化对话框框OnIInittDiaalogg()响响应函数数,初始始化对话话框信息息;(2)为CCAcccounntInnfo类类添加vvoidd型的成成员函数数ReffresshLiist(),初初始化列列表信息息。22