用户的需求主要体现在:界面应友好易用,一些人不太熟悉ATM系统的流程,导致不太敢使用ATM机。另外一些人士则认为ATM系统功能较单一,希望增加一些功能,比如快捷支付、查询详细交易记录等。通过这些需求分析,制定出下一步的对数据库概念结构的设计。
3.2.2数据库概念结构设计
在设计数据库结构的时候,应使数据尽可能的简化,优化数据库的存储空间,既要满足系统功能的基本要求,又要避免不必要的冗余的数据[12]。另外,由于ATM系统的特殊性,各种数据应使用强制类型,严格限制存储的类型和容量,在优化数据的同时要做到读取数据库的绝对安全。
综上,经过对数据的收集、整理,及系统各模块功能设计,得出实体属性E-R图如图2所示。
图 2 实体属性E-R图
3.2.3数据库逻辑结构设计
数据库逻辑设计即是将E-R图转换为关系模型的过程,也就是把所有实体和关系转换成一系列的关系模式。具体描述如下:
(1)银行用户信息表(银行卡号,姓名,身份证号,密码,账户金额,用户锁定标志,用户手机号,地址,管理员工号)。
(2)管理员信息表(管理员工号,姓名,身份证号,密码,电话,地址)。
(3)交易详情表(事务编号,交易账户,姓名,身份证号,事务类型,交易金额,交易时间,管理员工号)。
3.2.4数据库物理结构设计
系统采用SQL Server 2005作为数据库存储数据,数据库命名为UserManage。数据库共三个表,各表的各个字段的详细类型定义如下:
(1)客户表:主要用于存储银行用户基本信息,以及用户的注册,登录,取款,存款,转账,修改个人信息时的数据的读取写入。客户表如表1所示。
表1 客户表
字段信息 字段名 数据类型 长度 是否允许为空
银行卡号 CardID bigint 12 否
姓名 UserName varchar 20 否
身份证号 UserID char 18 否
密码 UserPwd char 6 否
账户金额 AccountBalance decimal 18 否
用户锁定标志 LockFlag bool 1 否
用户手机号 Telnum char 11 是
地址 Address nchar 20 是
管理员工号 CardID bigint 12 否
(2)管理员表:用于存储管理员的信息,严格验证管理员的登录身份。管理员表如表2所示。
表2 管理员表
字段信息 字段名 数据类型 长度 是否允许为空
管理员工号 CardID bigint 12 否
姓名 UserName varchar 20 否
身份证号 UserID char 18 否
密码 UserPwd char 6 否
电话 Telnum char 11 是
地址 Address nchar 20 是 VC++ATM机系统的设计与开发(3):http://www.youerw.com/jisuanji/lunwen_2363.html