




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 系统设计(1) 数据库部分1、 题目简介(1) 基本数据用户信息:编号,姓名,性别,电话,地址,身份证号账户信息:卡号,身份证号,余额,开户日期,密码,有效期,利率转账信息:转出卡号,转入卡号,转入姓名,操作金额,转账时间,用户编号权限信息:编号,密码,权限存取款信息:卡号,金额,时间,柜员编号(2) 语义某用户仅拥有一个用户信息。每个用户信息拥有多个账户信息,每个账户信息只属于一个用户信息。每个账户信息可以拥有多个存取款信息。每个转账信息与和其相关的多个账户信息有联系。每个用户信息对应一个权限信息。一个身份证号对应一个电话号码。一个编号对应一个客户。2、 ER图(1) 账户信息与存取款信息关系(2) 用户信息与权限信息关系(3) 账户信息与转账信息关系(4) 账户信息与用户信息关系(5) 所有实体之间的ER图实体:(1)用户信息(编号,姓名,性别,电话,地址,身份证号) (2)账户信息(卡号,身份证号,余额,开户日期,密码,有效期,利率)(3)转账信息(转出卡号,转入卡号,转入姓名,操作金额,转账时间,柜台号)(4)权限信息(编号,密码,权限)(5)存取款信息(卡号,金额,时间,柜台号)3、 关系模式图(1) 用户信息Cinfo(第二范式)范式分析:关系中不包含重复着的关系,满足第一范式要求;在此基础上,此关系中只有一个主码ID,满足第二范式要求;此关系中的非主属性为姓名、性别、地址,这三者之间不存在传递关系,但是IDCno,CnoAddrs,所以Addrs传递依赖于ID,没有满足第三范式的要求,但是在此系统中,并没有造成很大的麻烦。属性名含义数据类型位数取值范围空值唯一主码外码/被参照关系Name姓名Varchar10NoSex性别Char2男,女NoAddrs地址Char50(1)Tel电话Char11(2)ID身份证Char18NoYesYesCno编号Char4(3)No表名:用户信息说明:(1)地址只需精确到市、县一级,更精确无影响;(2)电话以手机为主,便于短信通知;(3)编号为银行内部编号,功能为简便操作。(2) 账户信息Ainfo(第三范式)范式分析:关系中不包含重复着的关系,满足第一范式要求;在此基础上,此关系中只有一个主码CardID,满足第二范式要求;且非主属性都不传递依赖于主码,满足第三范式。表名:账户信息属性名含义数据类型位数取值范围空值惟一主码外码/被参照关系CardID卡号Char20NoYesYesID身份证Char18NoYes/用户信息Balance余额Money8NoDate开户时间Smalldatetime8(1)NoPasskey密码Varchar20NoValidity有效期Char2NoInterest利率Float8(2)No说明:(1)开户时间格式为:yyyy-mm-dd;(2)利率为银行规定利率,依开户时选择而定。(3) 转账信息Tinfo(第三范式)关系中不包含重复着的关系,满足第一范式要求;在此基础上,此关系中有两个主码Outcard和Incard,但是其并不包含每个非主属性不都完全依赖于主码的现象,因此满足第二范式要求;且非主属性都不传递依赖于主码,满足第三范式。表名:转账信息属性名含义数据类型位数取值范围空值唯一主码外码/被参照关系Outcard转出卡号Char20NoYes/账户信息Incard转入卡号Char20NoYes/账户信息Inname转入姓名Varchar10Tamount金额Money8=0NoTdate时间Smalldatetime8(1)NoYesCno柜员编号Char4(2)NoYes说明:(1)交易时间格式为:yyyy-mm-dd;(2)柜台号为操作时柜台号码,其值为1000-2000,依地区而定。(4) 权限信息Pinfo(第三范式)关系中不包含重复着的关系,满足第一范式要求;在此基础上,此关系中只有一个主码Cno,满足第二范式要求;且非主属性都不传递依赖于主码,满足第三范式。表名:权限信息属性名含义数据类型位数取值范围空值惟一主码外码/被参照关系Cno编号Char4(1)NoYESYESYes/用户信息Cpass账户密码Char10NoCpower权限Char1(2)No说明:(1) 编号为银行内部编号,功能为简便操作;(2)Cpower取值为1、2、3,其中1代表银行经理,2代表银行柜台人员,3代表客户。(5) 存取款信息Sinfo(第三范式)关系中不包含重复着的关系,满足第一范式要求;在此基础上,此关系中有两个主码Sdate和Cno,但是其并不包含每个非主属性不都完全依赖于主码的现象,因此满足第二范式要求;且非主属性都不传递依赖于主码,满足第三范式。表名:存取款信息属性名含义数据类型位数取值范围空值唯一主码外码/参照关系CardID卡号Char20NoYes/账户信息Samount金额Money8NoSdate时间Smalldatetime8(1)NoYesCno柜员编号Char4(2)NoYes说明:(1) 交易时间格式为:yyyy-mm-dd;(2) 柜台号为操作时柜台号码,其值为1000-2000,依地区而定。4、 数据库关系图(2) 系统实现部分本系统的数据库方面,共设计了5个基本表,9个视图,9个存储过程,以满足系统对数据库的各项需求。在C#编程方面,共设计了27个对话框,以满足3种用户的不同操作。本系统针对的是银行管理,在实际生活中,银行操作中设计较多的隐私,所以对查询功能的编译相对较少,而对于插入、更新、删除方面下了较大的功夫完成,这也是本系统的一大特色,同时为响应window 8操作系统的诞生,本系统的设计仿照了window 8的操作风格。本银行管理系统设计了3种用户:银行卡用户、银行柜员、银行经理,其权限由低到高依次为用户、柜员、经理。由于不用的用户具备的权限不同,故他们完成的操作不同,下面就对这三种用户的操作做以详细介绍,以截图为主要叙述内容。1 银行卡用户(1) 登陆界面:A)登陆用户名或密码错误时:B)登陆正确时:(2) 用户信息显示界面(3) 点击“银行账户信息”之后:A) 首先显示:B)由于此用户只有一个银行卡,故显示一个信息,当点击这条信息后,此用户的银行卡号会自动添加到左下角的空白框中如下:C) 点击银行卡号右边的“确定”按钮之后,显示:(4) 点击“修改登陆密码”之后显示:A) 原始密码输入错误:B) 两次输入修改后的密码不一致:C) 右下角第一个按钮为清空操作,即在用户输入密码错误时可点此按钮重新输入:d) 操作正确后:2 银行柜员银行柜员的登陆界面与用户的一致,只是用户名和密码不一致,这里引用账户名为:0004,密码为:nihao登录进行银行柜员的相关操作:(1) 操作界面:(2) 开户操作A) 输入客户的基本信息,显示如下:B) 在客户信息图中点击确定之后,需要输入密码,密码错误的提醒如(4),在操作正确之后,显示如下:C) 完成操作之后,数据库显示如下:(3) 银行卡办理A) 银行卡办理业务的界面,输入相应的数据,成功后显示如下:B) 成功后数据库基本表中的数据如下:(4) 存取操作A) 客户在柜员这里办理存款操作完成时:B) 存款前后用户银行卡的信息:C) 客户在柜员这里办理取款操作完成时:D) 取款操作完成后银行卡的信息:E) 两次存、取款后存款信息表中的数据信息:(5) 转账操作A) 进入转账页面,并输入转账数据,点击“确定”B) 数据库中同步更新如下:a) Tinfo表中更新b) Ainfo表中更新(6) 工作记录查询,包括此柜员经手的存取款信息和转账信息,显示如下:(7) 员工信息修改A) 修改密码正确时不提示,直接完成修改B) 新密码的两次输入不一致时,提示错误:(8) 客户信息修改(A) 要对客户信息进行修改,必须先用户进行搜索,这里根据身份证号查找到相应用户:B)在输入身份证号之后,点击确定,出现相应用户的信息,直接在框中输入要修改的信息,点击确定,用户信息即被修改: (9) 销卡操作输入信息错误时,显示与(10)中相同的错误信息,这里就不重述了,直接进行操作正确的显示。A) 在柜员操作界面点击“销卡操作”,之后输入相应的数据,显示如下:B) 点击“确定”按钮之后,操作成功,数据库中相应表的信息被修改如下:即身份证号全部归0,银行卡号保留,以防止此银行卡号被重新使用。(10) 销户操作A) 在柜员操作界面点击“销户操作”,填入相应信息如下,当输入的数据有误时,点击确定后,显示如下:B) 当输入正确时,点击“确定”,执行销户操作:C) 同时,数据库中相应的表内容被修改:a)Pinfo表中相应的数据被删除,如下为唐三对应的账户号0006被删除:b)Ainfo表中相同身份证办理的银行卡号不变,银行保留此部分数据,但身份证号被清零,如下:c)Cinfo表中关于此用户的数据被删除,这里就不上图了。3 银行经理经理的登陆界面与用户和柜员的一致,就不重述了,这里用账户名为:0010,密码为:22222的经理进行登录。(1) 银行经理的操作界面:(2) 查询用户信息首先显示所有用户的信息(3)查询银行卡信息A) 首先显示所有用户的银行卡信息B) 选中一个用户的“银行卡号”,点击“确定”后,显示此用户的信息,右拉滑动轴,查看所有信息(4) 查询存储款信息A) 首先显示所有用户的存储款信息B) 选中一个用户的“卡号”,点击“确定”后,显示此用户的信息,右拉滑动轴,查看所有信息(5) 查询转账信息A) 首先显示所有用户的转账信息B) 选中一个用户的“转出卡号”,点击“确定”后,显示此用户的信息,右拉滑动轴,查看所有信息(6) 统计数据查看银行开户人数和总的存款金额(7) 修改权限数据A) 首先显示所有用户的信息B) 选中一个用户的“用户编号”,点击“确定”后,修改此用户的权限2、 系统特色特色 1:windows 8风格的操作界面,简易、大气、时尚,更加人性化。特色 2:转账操作,同时实现了多表操作和多组数据的同时更新柜员在如下的转账界面完成转账操作,点击确定按钮之后,后台在Tinfo表中添加转账信息,同时在Ainfo表中将涉及到的两个用户的账户余额同时更新,一个增加,一个减少相同的数目。此过程用存储过程实现,拥有不同的返回值提示不同的错误,这里只演示了操作成功的实例,其他的错误情况在具体操作中会具体体现。操作成功的实例如下:A) 进入转账页面,并输入转账数据,点击“确定”B)数据库中同步更新如下:a)Tinfo表中更新b)Ainfo表中更新注:存款同样完成了类似的操作,用户在存款之后,同时更新表Ainfo和Sinfo中的数据。特色 3:边界条件的完全设置,符合实际情况,系统几乎无BUG,人机交流通畅。拿柜员密码修改举例,共分为了三种情况:(1) 原密码输入错误(2) 两次新密码输入不相同(3) 在输入错误时点击“刷新”,清除之前的输入的密码(4) 密码输入正确之后特色 4:柜员操作中的工作记录查询结果,将两个不同表的不同属性整合到了一个视图的 同一列中Sinfo表Tinfo表即将Sinfo表和Tinfo表中的相关属性整合到一个表中,最后显示如下:特色 5:开卡、存款、转账操作中,后台将当前的操作时间自动添加到基本表中,无需输入。在一次存款操作完成后,添加当前的时间到基本表中:特色 6:在用户的银行账户信息中点击信息后,银行账号自动更新在左下角的“当前选中的卡号”之中:特色 7:柜员中的客户信息操作中客户信息修改,在TextBox中显示先关数据,在相应的TextBox中修改相应的数据后,会再将数据直接更新到基本表中。特色 8:特色 9:1、 特色10:系统特色特色 1:windows 8风格的操作界面,简易、大气、时尚,更加人性化。特色 2:转账操作,同时实现了多表操作和多组数据的同时更新柜员在如下的转账界面完成转账操作,点击确定按钮之后,后台在Tinfo表中添加转账信息,同时在Ainfo表中将涉及到的两个用户的账户余额同时更新,一个增加,一个减少相同的数目。此过程用存储过程实现,拥有不同的返回值提示不同的错误,这里只演示了操作成功的实例,其他的错误情况在具体操作中会具体体现。操作成功的实例如下:A) 进入转账页面,并输入转账数据,点击“确定”B)数据库中同步更新如下:a)Tinfo表中更新b)Ainfo表中更新注:存款同样完成了类似的操作,用户在存款之后,同时更新表Ainfo和Sinfo中的数据。特色 3:边界条件的完全设置,符合实际情况,系统几乎无BUG,人机交流通畅。拿柜员密码修改举例,共分为了三种情况:(1) 原密码输入错误(2) 两次新密码输入不相同(3) 在输入错误时点击“刷新”,清除之前的输入的密码(4) 密码输入正确之后特色 4:柜员操作中的工作记录查询结果,将两个不同表的不同属性整合到了一个视图的 同一列中Sinfo表Tinfo表即将Sinfo表和Tinfo表中的相关属性整合到一个表中,最后显示如下:特色 5:开卡、存款、转账操作中,后台将当前的操作时间自动添加到基本表中,无需输入。在一次存款操作完成后,添加当前的时间到基本表中:特色 6:在用户的银行账户信息中点击信息后,银行账号自动更新在左下角的“当前选中的卡号”之中:特色 7:柜员中的客户信息操作中客户信息修改,在TextBox中显示先关数据,在相应的TextBox中修改相应的数据后,会再将数据直接更新到基本表中。 2、 系统难点难点 1:sql中money等的数据类型在C#中的识别在柜员的办卡、存取、转账操作中,涉及到了对金额、利率的插入和修改,在C#中调用spl中的存储过程时,涉及对这些数据的数据类型进行定义,TextBox的数据类型为string,要与其对应的数据库类型为money,最初使用了Decimal强转TextBox为money,但是失败了,反反复复的调试,最终这个问题获得了解决。同时还解决了datetime和float类型在C#中的识别问题。难点 2: 多表数据的同时更新对于转账操作,需要对Ainfo中设计该操作的两个卡的余额做变动,并且需要判断卡号是否存在,且转出卡余额是否足够,还要同时添加Tinfo中的转账信息。我们通过设置返回值作为观察变量解决了该问题。代码如下:CREATE PROC Transferfrom char(20) , to char(20) , toname char(10) , sum money , date smalldatetime , counter char(4) , sign int outputASDECLARE tocheckID char(18)DECLARE tocheckname varchar(10)DECLARE fromchecksum moneySELECT tocheckID = ID FROM AinfoWHERE CardID = toSELECT tocheckname = Cname FROM CinfoWHERE tocheckID = IDSELECT fromchecksum = Balance FROM AinfoWHERE from = CardIDIF tocheckname = toname AND fromchecksum = sumBEGINSET sign = 0INSERT INTO Tinfo VALUES (from , to , toname , sum , date , counter)UPDATE Ainfo SET Balance = Balance + sumWHERE CardID = toUPDATE Ainfo SET Balance = Balance - sumWHERE CardID = fromENDELSE IF tocheckname != toname AND fromchecksum = sumBEGINSET sign = 1 ENDELSE IF tocheckname = toname AND fromchecksum sumBEGINSET sign = 2 ENDELSE IF tocheckname != toname AND fromchecksum sumBEGINSET sign = 3 ENDELSE IF tocheckname = 已销户BEGINSET sign = 4 END难点 3:不同表的不同属性放在同一视图的同一列在柜员查询自身经手的交易信息时,会将其经手的转账、存取信息显示在同一个视图中,这就需要将Sinfo和Tinfo中的相关信息整合,将两个表中的Shuxing整合到一个视图中去。难点 4:销户功能的实现在销户操作过程中,由于用户信息存于表Cinfo中,但用户卡的信息存于Ainfo中,两表有外键相连,删除时需先删Ainfo中该用户卡的信息,但Ainfo中该卡的信息又与Tinfo和Sinfo中的操作记录由外键相连,需先删除Tinfo和Sinfo,而转账记录又有可能包含其他未注销的卡,又不能删除,所以操作极其不易。因此我们在Cinfo中设置一个销卡ID(A),将要销户的用户的卡先转到该销卡ID(A)的名下,此时Cinfo中数据无外键,可以直接删除。代码如下:CREATE PROC DELETEUSERid char(18)ASDECLARE cno char(4)BEGINUPDATE Ainfo SET ID = 000000000000000000WHERE ID = idDELETE FROM CinfoWHERE ID = idSELECT cno = Cno FROM CinfoWHERE ID = idDELETE FROM PinfoWHERE Cno = cnoEND难点 5:销卡功能的实现在销卡过程中,同难点4,一样有着多表相连且,部分数据与未删除数据有关联,不易直接删除,因此我们将已销卡过渡给销卡ID(A),解决了此问题。代码如下:CREATE PROC DELETEACCOUNTcardid char(20) , id char(18)ASDECLARE idcheck char(18)SELECT idcheck =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖啡纳米技术应用创新创业项目商业计划书
- 用电安全与隐患治理方案创新创业项目商业计划书
- 农产品供应链协同创新创业项目商业计划书
- 智能车辆行人识别创新创业项目商业计划书
- 渔业品牌国际化推广创新创业项目商业计划书
- 2025年老年健康管理长期照护服务模式创新与社区护理模式融合001
- 湖南省双峰一中2026届化学高一第一学期期末达标检测试题含解析
- 2025年教师资格证考试(中学科目二)教育知识与能力冲刺复习全真试卷
- 现代培训基础知识课件
- 现代化沙发知识培训内容课件
- 2025届高考作文备考之主题素材:家国情怀
- 一线班组质量奖申报材料
- 蜜雪冰城加盟合同(2025年版)
- 消毒供应质量控制指标(2024年版)
- ACS合并消化道出血治疗策略
- 数字化转型视角下H公司订单管理优化策略研究
- 精益管理看板
- 汽车产品初期流动管理计划
- 《战略资源稀土》课件
- 《过程审核讲义》课件
- 中医内科学虚劳培训课件
评论
0/150
提交评论