银行数据库表的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

银行数据库表的设计

系统需求分析:

1.在学习了数据库之后,为了更进一步巩固所学知识,将其用于实践,我们选择了银行管理系统,来完成最基本的一些操作。

2.功能

(1).客户:包括存款,取款,转账,查询余额,查看流水,密码修改这些功能

(2).管理员:

1.新增用户

2 .删除

3.查看

4.员工绩效(就是根据流水表中的员工号,select出员工一天内做的所有单,用来考评绩效)

5.VIP判别(就是账户存储资金大于某个值的时候在账户表的一个字段上赋值为VIP)

6.资金储备金判别,当库存资金总数小于一个值的时候,系统对管理者要提出风险警告。

3.功能流程图:

银行管理系统

登陆

管理员

客户

销户

查看

员工绩效

VIP

判别

资金储备金判别

开户

存款取款转账

余额显示查看流水修改密码

详细设计: 1.E-R 图模型

operate

custom

bank

staff

Cphone

Ctime

Cpass

CRmoney

Cname

Cid

Bid

Sphone

Sname

Sid

Spass

SItime

Bname Bmoney

Bid

1

1

1

2.根据E-R图设计关系表

字段名字段类型及长度允许空主键说明

Bid nchar(9) no PK 银行号

Bname nchar(20) no 银行名

Bmoney numeric(20,3) no 银行余额

字段名字段类型及长度允许空主键说明

Cid nchar(9) no PK 客户ID

Cname nchar(10) no 客户姓名

Cpass nchar(10) no 密码

Ctime nchar(20) no 注册时间

Bid nchar(9) no 所在银行行号

外码(Bank(Bid))

Crmoney numeric(10,3) no 账户余额

Cphone nchar(11) no 客户电话

字段名字段类型及长度允许空主键说明

Sid nchar(9) no PK 员工ID

Sname nchar(10) no 员工姓名

Spass nchar(10) no 登陆密码

SItime nchar(20) no 入行时间

Sphone nchar(11) no 联系电话

字段名字段类型及长度允许空主键说明

Oid nchar(9) no PK 流水号

Cid nchar(9) no 客户ID 外码(Custom(Cid))Bid nchar(9) no 银行ID 外码(Bank(Bid))Sid nchar(9) no 员工ID 外码(Staff(Sid))Otype smallint no 操作类型

Otime nchar(20) no 操作时间

Omoney numeric(10,3) yes 交易金额

OBmoney numeric(10,3) yes 上次余额

OAmoney numeric(10,3) yes 账户余额

三个实体:bank,staff,custom

一个联系:operate

关系图:

程序代码:

客户部分:

a. void CClientDlg::OnButtonIn()

//存款函数

{

// TODO: Add your control notification handler code here

CInDlg InDlg;

if (InDlg.DoModal()==IDOK)

{double temp,temp1;

ADOConn ado;

CString sql = "select * from

Custom where Cname='"+Cname+"'";

_RecordsetPtr ResultSet =

ado.GetRecordSet((_bstr_t)sql);

CString str = (LPCTSTR)(_bstr_t)ResultSet->GetColle

ct("Crmoney");

CString bid = (LPCTSTR)(_bstr_t)ResultSet->GetColle

ct("Bid");

CString str4 = (LPCTSTR)(_bstr_t)ResultSet->GetColle

ct("Cid");

CString str2= str;

//将交易前钱数暂存

temp=atof(str);

temp1=(double)InDlg.m_InNum;

temp+=temp1;

str.Format("%f",temp);

CString str3 = str;

//暂存交易后金额

sql = "update Custom set

Crmoney='"+str+"' "+"where Cname='"+Cname+"'";

ado.ExecuteSQL((_bstr_t)sql);

sql = "select count(*) num from Operate";

ResultSet = ado.GetRecordSet((_bstr_t)sql);

int num = atoi((LPCTSTR)(_bstr_t)ResultSet->Get Collect("num"));

str = "240600";CString Oid,Cid,Sid,Bid,Otime,Omoney,OAmoney, OBmoney;

Oid.Format("%d",++num);

Oid=str+Oid;

Sid="7985001";Bid = bid; double temp2;

sql = "select * from Bank where Bid='"+Bid+"'";

ResultSet = ado.GetRecordSet((_bstr_t)sql);

CString bmoney =

相关文档
最新文档