收藏 分销(赏)

数据库课程设计报告银行管理系统.docx

上传人:精**** 文档编号:4729319 上传时间:2024-10-11 格式:DOCX 页数:11 大小:90.91KB 下载积分:8 金币
下载 相关 举报
数据库课程设计报告银行管理系统.docx_第1页
第1页 / 共11页
数据库课程设计报告银行管理系统.docx_第2页
第2页 / 共11页


点击查看更多>>
资源描述
摘 要 银行管理系统在无论在网络上,还是多种管理系统软件资料上均有讲解,并且均非常详细,其难度也可想而知。这次课程设计时间紧迫,此外作者自身能力也十分有限,只能完毕银行管理系统中少许功能,因此该系统尚有诸多有待扩充及完善地方,有不妥善地方还请老师指点。这次课程设计只是到达训练、牢固知识目,熟悉数据库前台和后台编程、VC++控件、怎样访问数据库等方面知识,因此实现功能也很有限,待后来伴随知识积累,慢慢地扩充完善该系统。 本系统采用了可视化集成开发环境Visual C++ 6.0编辑顾客操作界面、以SQL Sever为后台数据库并以CRecordSet类访问数据库信息管理系统,该系统可以完毕顾客帐号建立、顾客存取款、数据备份与恢复等基本功能。 关键字:SQL数据库、SQL语言、VC++、银行管理系统 目 录 1 绪论 1.1 选题目及意义……………………………………………1 1.2 设计内容……………………………………………………1 2 需求分析 2.1 功能需求……………………………………………………1 2.2 数据需求……………………………………………………1 2.3 其他需求……………………………………………………1 3数据库设计 3.1概念构造设计………………………………………………2 3.2逻辑构造设计………………………………………………2 3.3物理构造设计………………………………………………2 4 系统功能设计……………………………………………………4 5 系统实现 5.1 开发环境………………………………………………4 5.2 重要功能运行成果及代码…………………………4 6 总结…………………………………………………………18 参照文献 (页码再查对一下) 1 绪论 1.1选题目及意义 银行管理系统:该系统规定建立顾客表并不是诸多,完毕功能也相对有限,但其中各个表之间联络很紧密,该系统对数据库表设计规定会很高,因此完毕这个题目,能更好训练数据库设计和java编程能力,选择该题目就是充足训练数据库表设计能力和运用java能力。 1.2 设计内容 顾客管理模块:建立新顾客、删除老顾客、更改顾客操作; 账户操作模块:账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录; 数据库模块:数据库备份、数据库恢复; 2 需求分析 2.1 功能需求 对于顾客部分,可以新建和删除顾客,在操作过程中可以更改顾客;对于商品部分,可以查询商品信息,包括多种商品信息、商品单价、商品名单等;对于顾客操作部分,有顾客登录,顾客注册操作,此外操作完毕之后存储对应操作记录并可以查询操作记录等功能。 2.2 数据需求 账户信息:帐号varchar(20),开户人姓名varchar(20),账户密码char(6),身分证号varchar(20),账户余额float,开户日期datetime,开户地址varchar(30); 活期操作:帐号varchar(20),金额float,类型(存入,支出),账户余额float,利息float,存入日期datetime; 定期存款:帐号varchar(20),存款人姓名varhcar(10),存款金额float,存款日期datetime,存储年份int,存储利率float; 定期取款:帐号varchar(20),取款人姓名varhcar(10),取款金额float,取款日期datetime; 定期历史操作记录:帐号varchar(20),存取款人姓名varhcar(10),类型(存入,支出),办理日期datetime,存储年份int,存储利率float; 2.3 其他需求 完毕数据库备份与恢复,系统登录对话框等功能。 3. 数据库设计 3.1概念构造设计 活期存取款 存储 帐号 银行 储户 开户地址 姓名 性别 帐户余额 开户日期 密码 身份证号 定期存取款 定期操作记录 活期操作记录 银行管理系统E-R图 3.2 逻辑构造设计 储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址); 活期存取款(nID,帐号,金额,类型,办理日期,利息,账户余额); 定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期); 定期取款(nID,帐号,取款人姓名,取款金额,取款日期); 定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期) 3.3 物理构造设计 储户表 序号 字段名称 字段描述 数据类型 长度 属性 1 CNo 帐号 Varchar 20 PK 2 CName 开户人姓名 Varhcar 20 非空 3 CPassword 登录密码 Char 6 非空 4 CID 身份证号 Varchar 20 非空 5 CSex 性别 Char 2 非空 6 CBalance 帐户余额 Float 8 非空 7 CDate 开户日期 Datetime 8 非空 8 CAddress 开户地址 Varchar 30 非空 主键:帐号; 约束条件:各属性均非空,密码长度为6位; 活期存取款表 序号 字段名称 字段描述 数据类型 长度 属性 1 nID 序号 Int 4 PK 2 CNo 帐号 Varchar 20 非空 3 CMoney 操作金额 Float 8 非空 4 CStyle 操作类型 Varchar 10 非空 5 CDate 操作日期 Datetime 8 非空 6 CInterest 利息 Float 8 非空 7 CBalance 帐户余额 Float 8 非空 主键:nID;外键:帐号;被参照表:储户表 约束条件:各属性均非空; 定期存款表 序号 字段名称 字段描述 数据类型 长度 属性 1 nID 序号 Int 4 PK 2 CNo 帐号 Varchar 20 非空 3 CName 存款人姓名 Varchar 10 非空 4 CMoney 存款金额 Float 8 非空 5 CDate 存款日期 Datetime 8 非空 6 CYear 存储年份 Int 4 非空 7 CRate 存储利率 Float 8 非空 主键:nID;外键:帐号;被参照表:储户表 约束条件:各属性均非空; 定期取款表 序号 字段名称 字段描述 数据类型 长度 属性 1 nID 序号 Int 4 PK 2 CNo 帐号 Varchar 20 非空 3 CName 取款人姓名 Varchar 10 非空 4 CMoney 取款金额 Float 8 非空 5 CDate 取款日期 Datetime 8 非空 主键:nID;外键:nID;被参照表:定期存款表 约束条件:各属性非空 定期操作登记表 序号 字段名称 字段描述 数据类型 长度 属性 1 nID 序号 Int 4 PK 2 CNo 帐号 Varchar 20 非空 3 CName 存取款人姓名 Float 8 非空 4 CStyle 操作类型 Char 4 非空 5 CMoney 存取款金额 float 8 非空 6 CYear 存储年份 Int 4 非空 7 CDate 存取款日期 Datetime 8 非空 主键:nID;外键:nID;被参照表:定期存款表,定期取款表 约束条件:各属性非空 4.系统功能设计 银行管理系统 银行账户系统管理理 新建账户 删除账户 更改账户 账户管理 退出系统 账户操作 查看账户信息 活期操作 定期操作 活期存取款 查看历史记录 定期存款 定期取款 查看历史记录 数据库管理 数据库备份 数据库恢复 账户登录,身份验证 图4-1银行管理系统功能构造图 5 .系统实现 5.1 系统开发环境 软件:SQL Sever ,VC++6.0 操作系统:Window XP 硬件:Pentiun 4 DDR 512MB 120G硬盘 5.2重要功能运行成果及代码 数据库创立过程及其连接 (1).进入企业管理器窗口,选择“新建SQL Sever注册”; (2).选中“数据库”文献夹,单击鼠标右键,选择“新建数据库”,输入数据库名Bank; (3).单击“确定”按钮,关闭对话框,数据库创立成功。 完毕“账户登录”窗口 ID 控件类型 组员变量 阐明 IDC_EDIT1 CString m_strNo 顾客帐号 IDC_EDIT1 CEdit m_ctrNo IDC_EDIT2 CString m_strPassword 登录密码 IDC_EDIT2 CEdit m_ctrPassword IDC_EDIT3 CString m_strRePassword 确认密码 IDC_EDIT3 CEdit m_ctrRePassword IDOK “OK”按钮 IDCANCLE “Cancle”按钮 (1) 添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表; (2) 在CLoginDlg类中添加CAccontSet类组员变量m_recordset; (3) 为“CBankApp”类添加为CString型组员变量strNO; (4) IDOK控件消息响应函数: void CLoginDlg::OnOK() { UpdateData(TRUE); if (m_strNo == "") { MessageBox("Please Input the Account Number!"); m_ctrNo.SetFocus(); return ; } if (m_strPassword == "") { MessageBox("Please Input the Password!"); m_ctrPassword.SetFocus(); return ; } if (m_strRePassword == "") { MessageBox("Please Input the Confirm Password!"); m_ctrRePassword.SetFocus(); return ; } if (m_strPassword != m_strRePassword) { MessageBox("Two Passwords Are Differed!"); m_strPassword = ""; m_strRePassword = ""; UpdateData(FALSE); m_ctrPassword.SetFocus(); return ; } CString strSQL; strSQL.Format("select * from Account where CNo = '%s'",m_strNo); if (!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("Open Database Filed!","Database Error",MB_OK); return ; } if (m_recordset.m_CPassword != m_strPassword) { MessageBox("Password Error! Please Rewrite!"); m_recordset.Close(); m_strPassword = ""; m_strRePassword = ""; UpdateData(FALSE); m_ctrPassword.SetFocus(); return ; } CBankApp * ptheApp = (CBankApp *) AfxGetApp(); ptheApp->strNo = m_strNo; CDialog::OnOK(); } (5) 在“CBankApp”类中“InitInstance()”函数中添加登录对话框对象: CLoginDlg dlg; if (dlg.DoModal() != IDOK) { return FALSE; } 完毕“创立新帐户”窗口: ID 控件类型 组员变量 阐明 IDC_COMBO1 CComboBox m_ctrSex 性别 IDC_DATETIMEPICKER1 CTime m_tmDate 开户日期 IDC_EDIT1 CString m_strNo 帐号 IDC_EDIT1 CEdit m_ctrNo IDC_EDIT2 CString m_strName 开户人姓名 IDC_EDIT2 CEdit m_ctrName IDC_EDIT3 CString m_strPassword 密码 IDC_EDIT3 CEdit m_ctrPassword IDC_EDIT4 CString m_strComPassword 确认密码 IDC_EDIT4 CEdit m_ctrComPassword IDC_EDIT5 CString m_strID 身份证号 IDC_EDIT5 CEdit m_ctrID IDC_EDIT6 Double m_bBalance 帐户余额 IDC_EDIT7 CString m_strAddress 开户地址 IDC_EDIT7 CEdit m_ctrAddress IDOK “确定”按钮 IDCANCLE “取消”按钮 (1) 在CAccountDlg类中添加CAccontSet类组员变量m_recordset; (2) 添加记录集类CCurrentSet类,基类为CRecordSet,数据表为current表; (3) 添加初始化对话框OnInitDialog()措施: BOOL CAccountDlg::OnInitDialog() { CDialog::OnInitDialog(); m_tmDate = CTime::GetCurrentTime(); m_ctrSex.AddString("男"); m_ctrSex.AddString("女"); UpdateData(FALSE); return TRUE; } (4) IDOK控件消息响应函数,完毕对帐户表和活期存取款表记录添加。 完毕“删除帐户”功能: 在CMainFrame类中添加菜单消息响应函数,找到目前顾客在账户表中记录,并且判断该帐户与否尚有活期存款和定期存款,假如有记录,则无法删除帐户。 void CMainFrame::OnDeleteAccount() { // TODO: Add your command handler code here CBankApp * ptheApp = (CBankApp *) AfxGetApp(); CString strSQL; strSQL.Format("select * from Account where CNo = '%s'",ptheApp->strNo); CAccountSet recordset; if (!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("Open Database Filed!","Database Error",MB_OK); return ; } if (MessageBox("确定删除该顾客?","提醒",MB_YESNO) == IDYES) { if (recordset.m_CBalance != 0) { recordset.Close(); MessageBox("顾客账户中活期存款仍存有余额,无法进行销户!"); return ; } CTimeDepositSet tds; CString strRecord; strRecord.Format("select * from TimeDeposit where CNo = '%s'",ptheApp->strNo); if (!tds.Open(AFX_DB_USE_DEFAULT_TYPE,strRecord)) { recordset.Close(); MessageBox("Open Database Filed!","Database Error",MB_OK); return ; } if (tds.GetRecordCount() != 0) { recordset.Close(); tds.Close(); MessageBox("顾客账户中仍存有定期账目,无法销户!"); return ; } recordset.Delete(); recordset.Requery(); recordset.Close(); MessageBox("顾客账户删除成功!"); } else { recordset.Close(); return ; } } 完毕“退出系统”功能: 在CMainFrame类中添加菜单消息响应函数: void CMainFrame::OnExit() { if (MessageBox("确定退出该系统?","提醒",MB_YESNO) == IDYES) { PostQuitMessage(1); return ; } } 完毕“查询账户信息”功能: ID 控件类型 组员变量 阐明 IDC_DATETIMEPICKER1 CTime m_tmDate 开户日期 IDC_EDIT1 CString m_strNo 帐号 IDC_EDIT2 CString m_strName 姓名 IDC_EDIT3 CString m_strAddress 开户地址 IDC_EDIT4 CString m_strBalance 帐户余额 IDC_LIST1 CListCtrl m_ctrList 列表控件 IDOK “确定”按钮 (1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息; (2)为CAccountInfo类添加void型组员函数RefreshList(),初始化列表信息。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服