I《数据库技术与应用》课程设计报告二零一一年六月银行客户管理系统专业:信息管理班级:信息1011学号:1002108121学生姓名:赖斐斐校内指导教师:谭恒松目录1需求分析................................................................................................12概念结构设计.......................................................................................03逻辑结构设计.......................................................................................14物理设计...............................................................................................34.1数据表建立.................................................34.2索引建立...................................................34.3视图建立...................................................35数据库应用设计...................................................................................05.1查询建立...................................................05.2安全性.....................................................05.3存储过程与触发器...........................................0结束语.......................................................................................................0《数据库技术与应用》课程设计报告11需求分析客户是企业的生存之本,客户信息的资料对企业来说至关重要。为了适应现代信息管理,节省人力、物力和财力,这个银行客户管理系统是针对银行客户管理中存在的客户资源利用率低等问题,开发了这个银行客户管理系统。通过这样的系统,可以做到信息的规范管理、科学的统计和快速的查找,充分利用计算机的功能实现对客户的管理的自动化控制从而减少管理方面的工作量。银行客户管理系统需要的功能主要有:(1)管理员管理:管理员登陆、修改密码、注销、数据库备份与恢复、退出。(2)账户的管理:开户、销户、挂失、取消挂失。(3)客户信息管理:客户身份验证、客户信息查询、密码修改、注销。(4)客户业务管理:存款、取款、转账、查询余额、信息打印。(5)客户基本查询:客户基本信息查询、客户取款信息查询、客户存款信息查询、客户转账信息查询。(6)帮助:关于、帮助。2概念结构设计银行客户管理系统的E-R图如图1所示。图1:银行客户管理系统的E-R图管理员管理账户属于客户管理员编号密码账号余额开户时间状态身份证号地址姓名密码账号《数据库技术与应用》课程设计报告13逻辑结构设计本系统将使用Access2000作为数据库管理系统。现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。(1)管理系统用户口令表(BMS)的设计本系统主要针对的对象为用户的基本信息,而用户的基本信息包括以下几个部分:用户名,口令等。在数据库中创建一个表,表名为“BMS”,其字段结构如下表。其中,ID(用户名)字段为该表的主关键字(PrimaryKey,PK),惟一标识用户信息记录。(2)客户基本信息表(CLIENT)的设计本系统主要针对的对象为客户的基本信息,而客户的基本信息包括以下几个部分:账号,客户姓名,客户密码,客户身份证,余额,现在状态,客户住址,开户时间等。在数据库中创建一个表,表名为“CLIENT”,其字段结构如下表。其中,ID(账号)字段为该表的主关键字(PrimaryKey,PK),惟一标识了一条客户信息记录。表3-1BMS管理系统的用户口令表列名数据类型长度可否为空说明BMS_IDCHAR20NOTNULL用户名(主键)BMS_PSWDCHAR20NOTNULL口令表3-2CLIENT客户基本信息表列名数据类型长度可否为空说明CLIENT_IDCHAR20NOTNULL账号(主键)CLIENT_NAMECHAR20NOTNULL客户姓名CLIENT_PSWDCHAR6NOTNULL客户密码CLIENT_IDENTITYCHAR18NOTNULL客户身份证CLIENT_ALLMONEY8NOTNULL余额CLIENT_STATUSCHAR4NUTNULL现在状态CLIENT_ADDRESSCHAR40NULL客户住址CLIENT_DATEDATETIME8NOTNULL开户时间《数据库技术与应用》课程设计报告2表3-3BANKIN银行客户存款信息表列名数据类型长度可否为空说明BMS_IDCHAR20NOTNULL操作员ID号CLIENT_IDCHAR20NOTNULL客户账号BANKIN_TIMEDATETIME8NOTNULL存款时间BANKIN_MONEYMONEY8NOTNULL存款金额CLIENT_ALLMONEY8NOTNULL余额表3-4BANKOUT银行客户取款信息表列名数据类型长度可否为空说明BMS_IDCHAR20NOTNULL操作员ID号CLIENT_IDCHAR20NOTNULL客户账号BANKOUT_TIMEDATETIME8NOTNULL取款时间BANKOUT_MONEYMONEY8NOTNULL取款金额CLIENT_ALLMONEY8NOTNULL余额表3-5银行客户转账信息表列名数据类型长度可否为空说明BMS_IDCHAR20NOTNULL操作员ID号CLIENT_IDCHAR20NOTNULL客户账号TRANSFER_IDCHAR20NOTNULL客户转账账号BANKTRANSFER_TIMEDATETIME8NOTNULL转账时间BANKTRANSFER_MONEYMONEY8NOTNULL转账金额CLIENT_ALLMONEY8NOTNULL余额《数据库技术与应用》课程设计报告34物理设计4.1数据表建立在本系统中建立了BMS管理系统的用户口令表、CLIENT客户基本信息表、BANKIN银行客户存款信息表、BANKOU银行客户取款信息表和银行客户转账信息表这五个表。4.2索引建立数据库中的索引与书籍中的索引(目录)类似,在数据库中,索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需的数据。而数据库中索引是某个表中一列或者若干列的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。4.3视图建立视图只是保存在数据库中的select查询。视图可以实现以下的作用:(1)筛选表中的行和列;(2)防止未经许可的用户访问敏感数据;(3)降低数据库的复杂程序;(4)将多个物理数据表抽象为一个逻辑数据表。5数据库应用设计5.1查询建立1.按客户身份证号查询客户基本信息(查询23151的基本信息)。并保存成SQLQuery1.sql脚本文件2.按账号查询余额(查询的余额)并保存成SQLQuery2.sql脚本文件3.按账号查询客户取款信息(查询的取款信息)并保存成SQLQuery3.sql脚本文件4.按账号查询客户存款信息(查询的存款信息)并保存成SQLQuery4.sql脚本文件5.按账号查询客户转账信息。5.2安全性系统应从软件、硬件等多方面考虑信息数据的安全性和可靠性,针对可能涉及金融机密或敏感信息,应能控制和区分用户的权限以防止越权使用数据信息,以防止潜在的黑客攻击等事件的发生。1.创建一个用户,登录名和用户名为:“银行客户管理员”,SQLServer身份验证。分配给该用户在该数据库中具有创建表和视图的权限并具有查看和修改该数据库所有用户表数据的权限。2.创建一个用户,登录名和用户名为:“管理员”,SQLServer身份验证。分配给该用户在该数据库中只有查看所有用户表的权限5.3存储过程与触发器1.为银行客户数据库创建一个名为CLIENT_ALL的存储过程,用来返回余额大于10000的客户的情况。CREATEPROCEDURECLIENT_ALLAsSELECT*FROMCLIENTWHERECLIENT_ALL100002.在银行客户数据库的客户基本信息表(CLIENT)上创建一个名为s_insert触发器,当用户向CLIENT上插入数据时将触发该触发器。CREATETRIGGERs_insertonCLIENTFORINSERTASBEGINROLLBACKTRANSACTIONPRINT'无法插入数据'END结束语本系统是一个面向银行客户,具有一定实用性的信息管理系统。它主要完成对银行客户信息的处理,具有相当的实用功能。通过这段时间的课程设计,学到了很多东西,不仅把以前所学的很多知识充分利用上了,还让我学会使用了数据库开发软件,做了进一步的了解,我们体会到了软件开发不仅是编程,它需要方方面面的考虑,同时也必须具备比较全面的知识。