ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:122.37KB ,
资源ID:12794219      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12794219.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库银行管理系统报告书.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库银行管理系统报告书.docx

1、数据库银行管理系统报告书数据库银行管理系统报告书课程设计报告书课程名称:数据库系统原理课程设计 题 目: 银行储蓄治理系统数据库设计 系 名: 信息工程系 专业班级: 软件技术2101 姓 名: 学 号: 指导教师: 2012年 6 月 29日课程设计任务书学生姓名: 专业班级:软件技技术2101 指导教师: 工作单位: 信息工程系 设计题目:银行储蓄治理系统数据库设计初始条件:本课程的设计的目的是通过实践使同学们经历数据库设计开发的全过程和受到一次综合训练,以便能较全面地明白得、把握和综合运用所学的知识。结合具体的开发案例,明白得并初步把握系统分析、系统设计、系统实施的要紧环节和步骤以及软件

2、文档的制作能力。要求完成的要紧任务:要求学生依照所学的数据库原理与程序设计的知识,能够针对一个小型的银行储蓄治理系统,进行数据库系统的需求分析,概念结构设计、逻辑结构设计、物理结构设计,数据录入及测试等,完成题目要求的功能。要紧任务:用户有以下需求:建立用户;建立账户档案,建立账户索引;完成日常交易信息检索、进行存款、转账、取款等工作,对取款、转账等操作,必需进行身份验证。具体要求如下:1 存折信息 数据包括:存折的差不多信息包括:户名、帐号、开户银行名称、开户日期、取款密码等。2账户存取明细数据包括:日期、摘要现存、现支、转存、利息、交易金额、余额、操作柜员编号。 3 检索系统 能依照户名、

3、账号、交易日期、金额等进行查询。4取款 输入账号和密码后,能依照密码判定用户是否合法,能判定取款金额是否超过了账户余额,假如取款金额合法,就对该账号的余额信息进行更新。5、存款 输入账号和存款金额后,能更新该账号的余额。6、转账 输入账号和密码后,能依照密码判定用户是否合法,然后再输入对方的转账账户,并判定对方的转账账户是否合法,假如合法,再输入转账的金额,并能判定转账金额是否超过了账户余额,假如转账金额合法,就对该账号的余额信息以及对方的账户余额信息进行更新。指 导 教 师 签 字: 凌伟 2021年 6月 25日系 主 任 签 字: 2021年 6月25 日 名目第一章需求分析1.项目概述

4、1.1产品描述1.2产品功能1.3用户特点2.功能需求 2.1 需求 2.2 开户功能 2.3 取款功能 2.4 查询功能 2.5 修改功能 2.6 销户功能3.具体需求4.设计4.1 概念结构设计4.2 数据库逻辑设计4.3 数据表建立的脚本第二章设计概要1.总体设计1.1 运行界面2.源代码3.心得体会4.参考文献第一章需求分析1项目概述 1.1产品描述本软件实现银行的活期储蓄存款业务。整套软件由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电脑上,银行职员输入相关信息并通过网络通讯向服务器发送要求,并同意服务器端程序的应答显示处理的结果。服务器端处理客户端的各种业务要

5、求。要紧实现银行开户、销户、取款、存款、余额查询、转账、修改密码、等功能。1.2产品功能软件功能表模块功能说明主菜单取款开户销户余额打印账户明细记录修改密码服务器端程序存款取款开户销户查询修改1.3.用户特点 本软件的最终用户要紧面向银行柜台职员。这些操作人员的教育水平是高中及以上学历,通过运算机操作的相关培训,能够熟练使用和操作电脑 2功能需求1.主菜单功能:输出主菜单包括开户、存款、取款、查询、转账、修改密码、销户、退出等功能供操作用户选择,然后依照用户的输入选择进入不同的系统功能界面。2.开户功能:银行职员在客户端输入开户的差不多信息,通过网络传送数据,在服务器处理后显示服务器端的处理结

6、果。开户成功后打印存折相关信息。操作终止后返回主菜单界面。存折的差不多信息包括:户名、帐号、开户人 号码、开户日期等。3.存款功能:要紧有存款金额与存款时刻,存款的账号等,供用户来填写数据存款。5.取款功能:包含取款金额,取款时刻等,供用户操作。6.查询功能:提供查询功能,能够查询用户余额,所得利息,与以往的存取款记录。7.销户功能:能通过账号与身份等 验证来销户,说明销户的日期,方便记录。 8.修改功能:能够通过原密码来改新密码。 总体结构图2.1开户功能引言:接收客户端传送的数据,把数据储存到数据库中,通过服务器段的处理后把处理的结果传回给客户端。输入:1、接收客户端传送过来的数据。处理:

7、1、自动生成账户ID,长度5位,从1开始编号,不足补0,例如00009、00103等。自动生成账户ID要求唯独。2、账户所有信息将储存数据库的账户信息表中。3、依照开户金额生成一条账户的存款记录。输出:1、把服务器端处理的结果返回给客户端。处理的结果包括开户是否成功,假如开户成功处理的结果中还包含生成的存款记录。2.2存款功能引言:接收客户端传送的数据,增加账户余额并修改相关的数据库信息,把结果传回给客户端。输入处理输出1、客户端传送的数据。1、验证账户ID是否存在。2、修改对应账户ID的数据库信息。1、把服务器端处理的结果返回给客户端。2.3取款功能引言:接收客户端传送的数据,减少账户余额并

8、修改相关的数据库信息,把结果传回给客户端。输入处理输出1、客户端传送的数据。1、验证账户ID是否存在。2、验证密码是否正确。3、验证余额是否足够。2、修改对应账户ID的数据库信息。1、把服务器端处理的结果返回给客户端。2.4查询功能引言:接收客户端传送的数据,查找账户信息,把结果传回给客户端。输入处理输出1、客户端传送的数据。1、验证账户ID是否存在。2、验证密码是否正确。3、查找对应的账户信息。1、把服务器端处理的结果返回给客户端。2.5修改功能引言:接收客户端传送的数据,修改账户密码,把结果传回给客户端。输入处理输出1、客户端传送的数据。1、验证账户ID是否存在。2、验证密码是否正确。3、

9、查找对应的账户并修改密码。1、把服务器端处理的结果返回给客户端。2.6销户功能引言:接收客户端传送的数据,通过公式运算客户账户的利息,注销该客户账户。把结果传回给客户端。输入处理输出1、客户端传送的数据。1、验证账户ID是否存在。2、验证密码是否正确。3、运算利息,具体公式如下:利息 = 存款额 * 存款天数 * 年利率 / 360 需要注意的是,账户中的存款额在变化。4、修改对应账户ID的数据库。5、删除用户账户,不是做物理删除处理。1、把服务器端处理的结果返回给客户端。3具体需求在进行向数据库文件提取数据时,要求数据记录正确,在往数据文件中添加数据时,要求输入数据正确,金额,身份证,账号等

10、要需求设定字符数。依照软件和用户组织的特性等,某些需求放在下面各项中描述。4 设计4.1概念结构设计 4.1.1 各个功能模块的E-R图 1开户E-R图 2销户E-R图3存款E-R图 4取款E-R图5查询E-R图6修改E-R图4.2数据库逻辑设计将数据库的概念模型转换为关系模型开户姓名、性别、密码、身份证号码、开户日期、联系 存款账号、存款金额、存款时刻取款账号、密码、群款金额、取款时刻修改密码账号、身份证、原密码、新密码查询余额、利息、记录销户账号、身份证、开户时刻 、销户时刻4.3数据表建立的脚本create table kh( kh_name varchar(8), kh_ID int,

11、 kh_phone int, kh_adress varchar(20), kh_mm int );(开户表)create table cunk( ck_kahao int, ck_mima int, ck_ckjin_e int); (存款表)create table qukuan( qk_kahao int, qk_mima int, qk_qkjin_e int); (取款表)create table chaxun( cx_yu_e int, cx_jilu varchar(50), cx_lixi int); (查询表)create table xiugai( xg_name varc

12、har(8), xg_ID int, xg_y_mima int, xg_x_mima int); (修改密码)create table xiaohu( xh_name varchar(8), xh_ID int, xh_phone int); (销户表) 第二章 概要设计1总体设计1.1运行界面1.1.1进入主菜单界面图 主菜单界面1.1.2选择输入的编号,1 开户 开户菜单界面图1.1.3 存款界面图 图存款界面图1.1.4取款界面图 取款界面图1.1.5销户界面图 销户界面图1.1.6修改界面图 修改界面图1.1.7 查询界面图 查询界面图2. 源代码#ifndef_DB_STRUCT_

13、H_#define_DB_STRUCT_H_/typedefstructaccount_characc_name21;/账户名charid_card19;/身份证号charpwd7;/账户密码doublemoney;/开账金额chardate20;/开账时刻T_ACCOUNT;/存款数据typedefstructsaving_intacc_id;/账户IDintopter_id;/操作员IDdoublemoney;/存款金额chardate20;/操作时刻T_SAVING;/取款数据typedefstructwithdraw_intacc_id;/账户IDcharpwd7;/账户密码intop

14、ter_id;/操作员IDdoublemoney;/取款金额chardate20;/操作时刻T_WITHDRAW;/查询数据typedefstructquery_intacc_id;/账户IDcharpwd7;/账户密码intopter_id;/操作员IDchardate20;/操作时刻T_QUERY;/交易数据typedefstructtransfer_intacc_id;/账户IDcharpwd7;/账户密码intacc_oid;/对方账户IDdoublemoney;/交易金额intopter_id;/操作员IDchardate20;/操作时刻T_TRANSFER;/更换密码数据typed

15、efstructchangepwd_intacc_id;/账户IDcharpwd7;/账户旧密码charnewpwd7;/账户新密码intopter_id;/操作员IDchardate20;/操作时刻T_CHANGEPWD;/销户数据typedefstructdestroy_intacc_id;/账户IDcharpwd7;/账户密码intopter_id;/操作员IDchardate20;/操作时刻T_DESTROY;/明细数据typedefstructdetail_intacc_id;/账户IDchars_date11;/起始日期chare_date11;/终止日期T_DETAIL;/明细数

16、据typedefstructdetailall_chars_date11;/起始日期chare_date11;/终止日期T_DETAILALL;/接收明细数据typedefstructrecv_detail_chartype_id20;/类型IDcharopt_date20;/操作时刻chard_money20;/处理金额charb_money20;/余额charstaffer_id20;/操作员IDcharoth_id20;/对方账户IDRECV_DETAIL;/接收明细数据typedefstructrecv_detail_all_intacc_id;/账户IDchartype_id20;/

17、类型IDcharopt_date20;/操作时刻doubled_money;/处理金额doubleb_money;/余额intstaffer_id;/操作员IDintoth_id;/对方账户IDRECV_DETAIL_ALL;/黑名单数据typedefstructblack_intacc_id;/账户IDT_BLACK;#defineCLIENT_EXIT0#defineOP_ACC1#defineSAVING2#defineWITHDRAW3#defineQUBALANCE4#defineTRANSFER5#defineCHAPWD6#defineDESTROY7#defineDETAILN

18、OTE8#defineDEDATA9#defineBLACKLIST10#defineNOTEALL11/包头typedefstructpack_headintlen;/数据长度inttype;/业务类型PACK_HEAD;#endif/_DB_STRUCT_H_/MySocket.cpp:implementationoftheMySocketclass.#includeMySocket.h/Construction/DestructionMySocket:MySocket()InitSocket();coutinitconstructorendl;MySocket:MySocket()int

19、MySocket:InitSocket()WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(2,2);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0)return-1;if(LOBYTE(wsaData.wVersion)!=2|HIBYTE(wsaData.wVersion)!=2)WSACleanup();return-1;s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);returns;intMySocke

20、t:ConnectSocket(constchar*ip,intport)structsockaddr_inaddr_far;addr_far.sin_family=AF_INET;addr_far.sin_port=htons(port);addr_far.sin_addr.s_addr=inet_addr(ip);memset(addr_far.sin_zero,0,8);coutip:ip,port:port0) ret=recv(s,n_data,max_count,0);if(ret=0)break;if(ret0)max_count-=ret;if(max_count=0)brea

21、k;n_data+=ret;voidMySocket:SendTCPLoop(char*n_data,intmax_count)intret;while(max_count0) ret=send(s,n_data,max_count,0);if(ret=0)break;if(ret0)max_count-=ret;if(max_count=0)break;n_data+=ret;voidMySocket:Close()if(s!=NULL)closesocket(s);#includeTools.h#pragmacomment(lib,ws2_32.lib)#includeusingnames

22、pacestd;#includeDBStruct.h#includeintmain()MySocketclient=Tools:mys;intret=client.ConnectSocket(127.0.0.1,7000);if(ret=SOCKET_ERROR)/连接服务器coutCannotconnecttoserver!endl;return-1;coutconnecttoserverendl;/数据打包T_ACCOUNTt_acc;strcpy(t_acc.acc_name,wepull);strcpy(t_acc.id_card,19801012);strcpy(t_acc.pwd,

23、600100);t_acc.money=2030;strcpy(t_acc.date,2010-03-08);PACK_HEADp_h;p_h.len=sizeof(T_ACCOUNT);p_h.type=OP_ACC;constintmax_count=sizeof(T_ACCOUNT)+sizeof(PACK_HEAD);chardatamax_count;memset(data,0,max_count);Tools:Package(char*)&t_acc,p_h,data);client.SendTCPLoop(data,max_count);/发送数据intret_acc_id=0;

24、client.RecvTCPLoop(char*)&ret_acc_id,sizeof(int);/同意返回数据coutret_acc_id:ret_acc_idendl;/ client.Close(); / _getch();/PACK_HEADp_h;/exitp_h.len=0;p_h.type=CLIENT_EXIT;client.SendTCPLoop(char*)&p_h,sizeof(PACK_HEAD);coutAlreadyexitthesystem.Thankyouforusing.endl;exit(0);return0;#includeusingnamespacest

25、d;#includedb.h#include#pragmacomment(lib,Ws2_32.lib)/接收数据intRecvTCPLoop(SOCKETs,char*n_data,intmax_count)intret;while(max_count0) ret=recv(s,n_data,max_count,0);if(ret=0)break;if(ret0)max_count-=ret;if(max_count=0)break;n_data+=ret;returnret;/发送数据voidSendTCPLoop(SOCKETs,char*n_data,intmax_count)intret;while(max_count0) ret=send(s,n_data,max_count,0);if(ret=0)break;if(ret0)max_count-=ret;if(max_count=0)break;n_da

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1