1556.计算机科学与技术学院数据库课程设计报告银行管理系统.doc
《1556.计算机科学与技术学院数据库课程设计报告银行管理系统.doc》由会员分享,可在线阅读,更多相关《1556.计算机科学与技术学院数据库课程设计报告银行管理系统.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 绪论21.1 引言21.2 内容梗要2第二章 需求分析32.1 信息要求32.2 处理要求4 安全性与完整性要求6第三章 概念结构设计73.1 E-R图7一、实体集及属性描述7二、函数依赖7三、E-R图及实体集属性的计算方法83.2 表的冗余及外码约束9一、表的冗余9二、外码约束9第四章 逻辑结构设计10函数依赖的极小化处理104.2 E-R图到关系模型及其优化114.3 工作流程及用户子模式设计12一、管理员的工作流程及其子模式:12二、用户工作流程及子模式设计12第五章 数据库的实施与维护13管理员模块的功能模块分析及代码讲解13一、功能模块和功能概要13二、结合源代码和操作界面详
2、细分析14客户模块的功能模块分析及代码讲解20一、客户模块的功能模块总轮廓及功能概要20二、结合源代码和操作界面详细分析21结束语29参考文献30第一章 绪论1.1 引言随着数据处理的不断进步和计算机网络的迅速发展,使数据库应用系统不仅在功能而且在结构上都有了深刻的变化,而且运用在生活的每一个方面。通过学习关系代数,关系演算,函数依赖,关系模式分解,关系模式的规范化让我们建立了扎实的关系数据库理论基础。而在掌握基本理论的基础上掌握关系数据库的设计方法,掌握现代信息系统的开发方法也显得尤为必要。目前在关系数据库中用得最多的SQL数据库,开发数据库的语言工具多数用DELPHI.。所以对于计算机专业
3、的学生来说掌握数据库应用的基本技术,熟悉编程语言与SQL数据库的结合运用是我们计算机专业学生之必备本领。本次课程设计是以银行管理系统为模拟模型,运用DELPHI编程语言结合SQL数据库所开发系统。1.2 内容梗要此次课程设计针对设计要求主要要做以下工作,根据要求提炼数据库所需的信息,弄清楚数据库要实现的功能,及其完整性和安全性要求。由需求分析和依赖关系确立实体集及关系表,设立外码约束。创建适当的视图和事务。结合与用户的交互信息搭建友善的界面,根据功能的不同确立不同的模块,合理运用DELPHI语言和调用SQL语句达到数据库操作的目的。信息提取与处理见第二章内容。概念结构设计见第三章内容。逻辑机构
4、设计见第四章内容,具体功能分析及代码详解见第五章内容。结合此次课程设计的过程将几个值得关注的问题列举如下:一、SQL中所要注意的问题: 数据库的建立,根据所需信息合理设立表。 确立外码约束,建关系图。 根据与用户所交互的信息,创造方便的视图以便于查询显示。 保证一些操作的原子性,即要创建事务。二、DELPHI中所注意的问题DELPHI中所遇到的问题主要怎样运用DELPHI开发工具设计出交互性好的界面,合理组织各单元文件之间的调用问题,及在DELPHI中调用SQL语句问题等等。第二章 需求分析2.1 信息要求一、 客户对于客户我们应该知道他的客户号,客户名,信用度,最大的经济支付能力。二、 存款
5、功能对于一个客户,他在一个银行有且只有一个存款账号。但可在不同的银行都有存款,所以对于一个账号,我们需要知道其所在银行类型,账号,密码,存款额,最近存款日期。(假定存款利率都一样)三、 取款和透支对于客户取款,我们要知道他在用哪个卡型取款,即哪个银行,同时应该验证身份信息(卡号,密码)要知道该卡上的存款额,及此次的取款额。根据卡上的金额与所取金额的差值决定是否属于透支类型。若属于透支类型,需要知道客户以前的透支记录,即哪张卡上(卡型)什么时间(上一次透支日期)透支多少(金额)。若可以透支需根据客户的信誉度和经济能力确定用户的最大可透支额,用户根据其信息来透支所需金额。四、 贷款我们需要知道贷款
6、类别(卡型)即哪个银行上贷款,然后根据客户的信誉度和经济承受能力来确定最大可贷多少款子给客户。同时我们应该给客户一个贷款号,根据其贷款的年数来确定客户的贷款利率,对于贷款我们还应该保存其贷款时间,还贷时间等。五、 还贷1 对于贷款的还贷:我们应该支持分期还贷服务,这样我们需要记录客户的每次还贷记录,即还贷的顺序号,此次还贷金额。2 对于透支的偿还:处理方法是,将下一次的存款额作为偿还透支的金额,直到透支额全部还清。六、 转账需要知道转账的卡型,卡号,密码(验证身份)。需要判断对方的卡型(确定转账费率问题),卡号(判断该卡是否存在)。如果转账金额大于该卡现有金额则转账失败。2.2 处理要求一、
7、存款的情况当用户在此次存款的卡上有透支额且没有还时,这次存款的金额将全部或部分作为偿还透支的金额(视透支的金额而定)。且存款或偿还透支操作需满足原子性,即要把这类操作设计成事务,要么全部执行,要么全部不执行。还应注意在这次存款前把该卡上已有的存款的利息算出来作为该卡上已有的本金。(我在本次设计中把存款利率按日计算,设为0.005)二、 取款的情况要判断此次取款的金额与卡上现存的金额的大小,如果取款额大于现存额则应该当作透支处理,接着应该判断该用户能不能透支,这主要依据他上次的透支额是否还清,如果还清了,则允许透支,否则不许。在允许透支的前提下,应该给出用户最大允许的透支额,这就要查询该用户的信
8、誉度(A)和经济能力(B),透支主要是由信誉度决定的,在此次课程设计中我设置最大透支额1000A;(初始时用户的信誉度都设为10,以后视还透支的期限来设置信誉度)。这里还应注意在每次取款前,应该把前面所存款项的利息算出来作为此卡上已有的本金。三、 贷款的情况贷款主要是给出用户的最大可贷款额,这主要由用户的经济能力(B)决定。而在此次设计中用户的经济能力BMAX(用户曾经一次的存款额)10。还有用户的贷款应该不同于透支,应根据不同的贷款年限来设置贷款的利率。且应该支持分期付款。贷款应给出独立的贷款号。四、 偿还透支的情况这种情况主要发生在用户有透支且又在存款的条件下,即用户没有刻意地去还透支,而
9、是在存款中不知不觉的还了。但应该注意上次透支的时间和这次存款的时间不应该超过最迟偿还透支期限(本次设计为100天),如果超过了,就将用户的信誉度(A)减1。当用户透支额全部还完的时候就删除透支记录。五、 偿还贷款的情况贷款可以分期支付,每次支付前都要把前面贷款的利息算出来作为此次贷款应还的金额。六、 转账的情况用户的转账额不能大于卡上现存金额,同时应该确定是同行转账还是异行转账以便收取不同的费率,同行则为0.02,异行为0.05。批注:无论存款,取款,贷款,还贷,还是转账都设计为事务,以保证原子性。在此次课程设计中为便于用户或管理员查阅信息,我把存/取款日志保存下来,还有还贷日志。2.3 安全
10、性与完整性要求一、 安全性1 用户和管理员的权限设置:用户只能存款,取款,转账,还有查询存款情况和还贷情况,同时也可以修改自己的资料(譬如密码),不具有修改和查阅银行内部资料的权利。但银行管理员则可以,可以增添管理员,查阅银行的存取状况等。2 非法数据的输入:每个字段信息都有自己确定的类型,不能插入不合乎该类型的数据。可以在DELPHI程序中屏蔽掉,也可以在SQL数据库中作错误处理。3 用户查询情况:在用户的查询过程中一些数据应该屏蔽掉,比如用户在查询自己的存款状况时就应该屏蔽掉改客户的密码等。所以可以在查询语句中加以处理,也可以创建视图来实现数据的屏蔽。4 某些操作需要身份认证:取款,转账,
11、修改资料等。二、 完整性要求:数据完整性是指数据的精确性和可靠性,首先就是实体的完整性,就是指每一行记录在表中是唯一的实体,不能插入有重复主码的记录。再一个就是参照完整性,是指两个表的主关键字和外关键字的数据对应一致,防止数据的丢失或者无意义的数据在数据库中的扩散。表现在:a 禁止在表中插入包含主表中不存在的关键字的数据行。b 禁止删除在从表中的有对应记录的主表记录。完整性问题可以通过一些工具来实现,如:规则,约束,触发器等。第三章 概念结构设计3.1 E-R图一、实体集及属性描述实体1:customer(客户)属性:customer_id name trust_abi(信誉度) pay_ab
12、i(经济能力)实体2:bank(银行)属性:card_type(卡型银行名称)adress(银行所在地) asset(银行现有存款)实体3:fund_bill(存款单)属性:card_type card_no keyword fortune_amount(存款金额) deposite_date(上次的存款日期)实体4:loan_pack(贷款)属性:loan_pack_no(贷款号) card_type(银行)loan_money payoff_date borrow_date rest_money(为了支持分期付款而设立的) rate(贷款利率)实体5:overdraft(透支)属性:car
13、d_type card_no amount date(透支的时间) 实体6:fetch_depo_log(存款/取款日志)属性: card_type dat amount dep_fet(存款/取款)实体7:payoff_pro(还贷日志)属性:loan_pack_no payback_no payback_amount card_type 二、函数依赖customer_id-name customer_id-trust_abi customer_id-pay_abi card_type-assetcard_type card_no-keyword card_type card_no-fort
14、une_amount card_type card_no-deposite_date loan_pack_no card_type-loan_money loan_pack_no card_type- patoff_date loan_pack_no card_type- borrow-date loan_pack_no card_type-rest_money loan_pack_no card_type-ratecard_type card_no-amount card_type card_no-datescard_type dat -amount dep_fetloan_pack_no
15、payback_no-payback_amount card_type三、E-R图及实体集属性的计算方法Deposite_datecustomerTrust_abinameCustomer_idPay_abiFund_billCard_typeCard_nokeywordFortune_amouttLoan_packLoan_pack_noCard_typeCard_noLoan_moneyrateBorrow_datePayoff_dateRest_moneyoverdraftCard_typeCard_noamountdatePayoff_proPayback_noamountFetch_
16、depo_logDep_fetamountdateFund_billBankCard_typeAssetAddressCustomer部分属性的计算方法:trust_abi:初始为10(最大),然后依据每次所还透支的天数是否超过100天而确定是否减1pay_abimax曾经最大的一次存款额10批注:着重加黑的方框表示弱实体。3.2 表的冗余及外码约束一、表的冗余在还贷日志实体和存取款日志实体中,这两个实体都是弱实体集,故需要连同强实体集的主码一起够成该实体的主码。Loan_pack的主码是card_type loan_pack_no,所以payoff_pro的主码为card_type,loan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1556. 计算机科学 技术学院 数据库 课程设计 报告 银行 管理 系统
限制150内