数据库设计与系统实现.docx

上传人:b****8 文档编号:9964236 上传时间:2023-05-22 格式:DOCX 页数:18 大小:132.12KB
下载 相关 举报
数据库设计与系统实现.docx_第1页
第1页 / 共18页
数据库设计与系统实现.docx_第2页
第2页 / 共18页
数据库设计与系统实现.docx_第3页
第3页 / 共18页
数据库设计与系统实现.docx_第4页
第4页 / 共18页
数据库设计与系统实现.docx_第5页
第5页 / 共18页
数据库设计与系统实现.docx_第6页
第6页 / 共18页
数据库设计与系统实现.docx_第7页
第7页 / 共18页
数据库设计与系统实现.docx_第8页
第8页 / 共18页
数据库设计与系统实现.docx_第9页
第9页 / 共18页
数据库设计与系统实现.docx_第10页
第10页 / 共18页
数据库设计与系统实现.docx_第11页
第11页 / 共18页
数据库设计与系统实现.docx_第12页
第12页 / 共18页
数据库设计与系统实现.docx_第13页
第13页 / 共18页
数据库设计与系统实现.docx_第14页
第14页 / 共18页
数据库设计与系统实现.docx_第15页
第15页 / 共18页
数据库设计与系统实现.docx_第16页
第16页 / 共18页
数据库设计与系统实现.docx_第17页
第17页 / 共18页
数据库设计与系统实现.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库设计与系统实现.docx

《数据库设计与系统实现.docx》由会员分享,可在线阅读,更多相关《数据库设计与系统实现.docx(18页珍藏版)》请在冰点文库上搜索。

数据库设计与系统实现.docx

数据库设计与系统实现

 

摘要

银行管理系统在无论在网络上,还是各种管理系统软件的资料上都有讲解,而且均非常详细,其难度也可想而知。

这次课程设计时间紧迫,另外作者本身能力也十分有限,只能完成银行管理系统中的少量功能,所以该系统还有很多有待扩充及完善的地方,有不妥善的地方还请老师指点。

(这些应出现在总结,在此应简要说明选题的目的及意义)这次课程设计只是达到训练、牢固知识的目的,熟悉数据库的前台和后台编程、VC++的控件、如何访问数据库等方面的知识,所以实现的功能也很有限,待以后随着知识的积累,慢慢地扩充完善该系统。

本系统采用了可视化的集成开发环境VisualC++6.0编辑用户操作界面、以SQLSever为后台数据库并以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选题的目的及意义

银行管理系统:

该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。

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系统开发环境

软件:

SQLSever2000,VC++6.0

操作系统:

WindowXP

硬件:

Pentiun4DDR512MB120G硬盘

5.2主要功能的运行结果及代码

数据库创建过程及其连接

(1).进入企业管理器窗口,选择“新建SQLSever注册”;

(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控件的消息响应函数:

voidCLoginDlg:

:

OnOK()

{

UpdateData(TRUE);

if(m_strNo=="")

{

MessageBox("PleaseInputtheAccountNumber!

");

m_ctrNo.SetFocus();

return;

}

if(m_strPassword=="")

{

MessageBox("PleaseInputthePassword!

");

m_ctrPassword.SetFocus();

return;

}

if(m_strRePassword=="")

{

MessageBox("PleaseInputtheConfirmPassword!

");

m_ctrRePassword.SetFocus();

return;

}

if(m_strPassword!

=m_strRePassword)

{

MessageBox("TwoPasswordsAreDiffered!

");

m_strPassword="";

m_strRePassword="";

UpdateData(FALSE);

m_ctrPassword.SetFocus();

return;

}

CStringstrSQL;

strSQL.Format("select*fromAccountwhereCNo='%s'",m_strNo);

if(!

m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("OpenDatabaseFiled!

","DatabaseError",MB_OK);

return;

}

if(m_recordset.m_CPassword!

=m_strPassword)

{

MessageBox("PasswordError!

PleaseRewrite!

");

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()”函数中添加登录对话框的对象:

CLoginDlgdlg;

if(dlg.DoModal()!

=IDOK)

{

returnFALSE;

}

完成“创建新”的窗口:

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()方法:

BOOLCAccountDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

m_tmDate=CTime:

:

GetCurrentTime();

m_ctrSex.AddString("男");

m_ctrSex.AddString("女");

UpdateData(FALSE);

returnTRUE;

}

(4)IDOK控件的消息响应函数,完成对表和活期存取款表的记录添加。

完成“删除”的功能:

在CMainFrame类中添加菜单的消息响应函数,找到当前用户在账户表中的记录,并且判断该是否还有活期存款和定期存款,如果有记录,则无法删除。

voidCMainFrame:

:

OnDeleteAccount()

{

//TODO:

Addyourcommandhandlercodehere

CBankApp*ptheApp=(CBankApp*)AfxGetApp();

CStringstrSQL;

strSQL.Format("select*fromAccountwhereCNo='%s'",ptheApp->strNo);

CAccountSetrecordset;

if(!

recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))

{

MessageBox("OpenDatabaseFiled!

","DatabaseError",MB_OK);

return;

}

if(MessageBox("确定删除该用户?

","提示",MB_YESNO)==IDYES)

{

if(recordset.m_CBalance!

=0)

{

recordset.Close();

MessageBox("用户账户中活期存款仍存有余额,无法进行销户!

");

return;

}

CTimeDepositSettds;

CStringstrRecord;

strRecord.Format("select*fromTimeDepositwhereCNo='%s'",ptheApp->strNo);

if(!

tds.Open(AFX_DB_USE_DEFAULT_TYPE,strRecord))

{

recordset.Close();

MessageBox("OpenDatabaseFiled!

","DatabaseError",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类中添加菜单的消息响应函数:

voidCMainFrame:

:

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(),初始化列表信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2