银行管理系统数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吉首大学
张家界学院
《数据库系统概念》课程设计题目
学号
学生姓名
院系
专业
指导教师
二O一六年月日
学生选课系统的设计
一、绪论
1.1 目的和意义
银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。
1.2 内容和要求
用户管理模块:建立新用户、删除老用户、更改用户操作;
账户操作模块:账户信息、活期存取款操作、查询活期操作纪录、定期存款、定期取款、查询定期操作纪录;
数据库模块:数据库备份、数据库恢复;
二、需求分析
2.1系统用户
对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作纪录并能够查询操作纪录等功能。银行帐目管理系统包括五个模块,分别为系统选项、帐目管理、查询统计、用户查询和帮助。
2.2系统主要功能
帐目管理模块:主要处理用户的日常操作。
(1)开户:新建一个帐户,为其指定一个唯一的帐号来标志该用户
(2)销户:将指定用户的帐号删除。用户输入密码经过验证成功后,把帐户的余额全部取出,最后删除该帐户。
(3)存款:向指定的帐户中存入一笔钱,经用户输入密码确认后,方可存入。
(4)取款:从指定的帐户中取出一笔钱。取款前用户需要输入密码确认,取款后帐户余额不得少于帐户的最低存款额,否则不予处理。
(5)修改信息:选择一个存在的帐户,然后输入密码经确认后进入用户信息窗口,可对里面的密码、联系电话和家庭住址进行修改,而帐号和帐户上的金额不能被用户修改。
查询模块:按照指定方式进行查找帐户信息,包括按姓名、帐号和联系电话进行查找,也可以按照地址进行模糊查找。
统计模块:对银行的数据进行统计,如对帐户数量的统计。其系统功能模块如图2-1:
图2-1 系统功能模块
2.3 开发技术
开发工具:MYSQL
开发语言:SQL
开发技术:数据库开发技术
面向对象:需求者
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在WEB 应用方面MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
本实验将设计出一个银行账目管理数据库系统,其要求简要如下:
三、概念结构设计
本章节主要包含概念设计、E-R图,以及如何将E-R图转换为实际的物理模型等内容。
3.1 概念设计
在我们的数据库系统中共有5个实体:储户、活期存取款、定期存款、定期取款、定期记录。(1)储户的属性:账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址(2)活期存取款的属性:账号、金额、类型、办理日期、利息、账户余额
(3)定期存款的属性:账号、存款人姓名、金额、存储年份、年利率、存储日期
(4)定期取款的属性:账号、取款人姓名、取款金额、取款日期
(5)定期记录的属性:账号、存取款人姓名、类型、操作金额、操作日期
3.2 E-R图
图1银行基本信息实体图图2储户基本信息实体图
图3定期记录基本信息实体图
合并画出数据库系统的E-R图,如图3-7所示:
图3-7 数据库系统E-R图
四、逻辑结构设计
4.1 逻辑转换
根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为7个关系,详细信息如下所示:
(1)储户(账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址)
(2)活期存取款(账号、金额、类型、办理日期、利息、账户余额)
(3)定期存款(账号、存款人姓名、金额、存储年份、年利率、存储日期)
(4)定期取款的(账号、取款人姓名、取款金额、取款日期)
(5)定期记录(账号、存取款人姓名、类型、操作金额、操作日期)
4.2 细化表结构
为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:
(1)储户表
(2)活期存取款表
(3)定期存款表
(4)定期取款表
(6)定期操作记录表
五、数据库实施
本章节主要包含创建表、添加数据和创建必要的视图、触发器和存储过程等内容。
5.1 创建表
提高查询速度,分别为各表经常查询的列建立索引。
(1)为chuhu(储户表)中的cno属性建立唯一索引cno:
CREATE UNIQUE INDEX cno_index on chuhutable(cno);
(2)为Hcq(活期存取款表)中nid属性建立唯一索引nid:
CREATE UNIQUE INDEX nid_index ON Hcq(nid);
(3)为dqcun (定期存款表)中nid属性建立降序唯一索引niddesc:
CREATE UNIQUE INDEX niddesc ON dqcun(nid desc);
(4)为dqqu (定期取款表)中nid属性建立升序唯一索引nidasc:
CREATE UNIQUE INDEX nidasc ON dqqu(nid asc);
(5)为dqjilu (定期记录表)中nid属性建立降序唯一索引niddesc:
CREATE UNIQUE INDEX niddesc ON dqjilun (nid desc);
数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入。该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。分别给储户基本信息表,活期存取款基本信息表,定期存款基本信息表,定期取款基本信息表和定期操作记录基本信息表输入数据。下面若干个表分别显示了所要求的表基本信息息的录入和显示的结果
(1)创建储户表
Create table chuhu
(CNo int primary key,
CName char(20) notnull,
CPassword int notnull,
CID int notnull,
CAddress char(20) notnull,
CBalance int notnull,
CDate datetime notnull,
CSex char(2) notnull,
)