ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:77.83KB ,
资源ID:17814121      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17814121.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ATM机数据库设计Word文档下载推荐.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ATM机数据库设计Word文档下载推荐.docx

1、要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录)时间安排:消化资料、系统调查 ?1天系统分析、总体设计,实施计划、撰写报告 ? 3天演示、验收 1天指 导 教 师 签 字: 2011年 6 月 25 日系 主 任 签 字: 2011 年 6 月 26 日1.问题描述 41.1背景 41.2数据需求 4.方案图表设计 42.1 E-R图 42.2数据字典 72.4关系图: 83.数据库源代码 93.1数据库建立 93.2数据初始化 114.结果数据处理 124.1简单查询 124.2连接查询 134.3嵌套查询 134

2、.3统计银行的资金流通余额和盈利结算 144.4创建触发器 144.5创建存储过程 155.结束语 171.问题描述1.1背景 通过数据库课程设计,进一步掌握数据库系统的理论和方法。培养和锻炼开发管理信息系统的能力。为今后信息系统开发打下良好的基础。本课程环节主要针对关系数据库基础与应用这么课程进行设计,数据库是一门应用性很强的专业课,在学习时必须注意理论与实践相结合。本次课程环节旨在培养学生在本课程范围内,初步掌握解决实际应用问题时所应具备的查阅资料、综合运用所学知识的能力,为毕业设计及今后从事专业工作打下基础。本课程环节要求学生了解企业管理信息系统后台数据库的设计、配置过程,掌握管理信息系

3、统的开发方法。主要包括:需求分析、数据分析、系统逻辑模型设计方法;功能设计、物理模型设计方法;系统的实现等方法。完成一个小型系统后台数据库的设计与配置。1.2数据需求随着社会的日益发展,银行在人们的日常生活扮演者重要的角色。ATM机给人们的日常生活带来了方便,它出现在各个街道角落里。ATM数据库系统使自动取款机机高速快捷的工作,不易发生数据丢失,统计错误,使ATM机更加安全方便。1.3开发及运行环境操作系统:Microsoft Windows XP 软件平台:Microsoft SQL Server 2000硬件环境:服务器端P4/256MB/80GB以上,客户端PC 586/128MB/40

4、MB以上.方案图表设计2.1 E-R图2.1.1用户信息实体E-R图:图2-1用户信息实体E-R图2.1.2银行卡信息实体E-R图:图2-2 银行卡信息实体E-R图2.1.3交易信息实体E-R图:图2-4 交易信息实体E-R图2.1.6总的信息实体E-R图:图2-7总的信息实体E-R图2.2数据字典表-1用户信息表userInfo :字段名称说 明customerID顾客编号自动编号(标识列),从1开始,主键customerName开户名必填PID身份证号必填,只能是18位或15位,身份证号唯一约束telephone联系电话必填,格式为xxxx-xxxxxxxx或手机号13位address居住

5、地址可选输入表-2银行卡信息表cardInfo:cardID卡号必填,主健,银行的卡号规则和电话号码一样,一般前8位代表特殊含义,如某总行某支行等。假定该行要求其营业厅的卡号格式为:1010 3576 xxxx xxx开始,每4位号码后有空格,卡号一般是随机产生.curType货币种类必填,默认为RMBsavingType存款类型活期/定活两便/定期openDate开户日期必填,默认为系统当前日期openMoney开户金额必填,不低于1元balance余额必填,不低于1元,否则将销户pass密码必填,6位数字,开户时默认为6个“8”IsReportLoss是否挂失必填,是/否值,默认为”否”外

6、键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号表2-3交易信息表transInfo :transDate 交易日期必填,外健,可重复索引transType 交易类型必填,只能是存入/支取transMoney交易金额必填,大于0remark备注可选输入,其他说明2.3关系图:数据库存表关系图3.数据库源代码3.1数据库建立3.1.1创建数据库use mastergo if exists(select * from sysdatabases where name = ATM) drop database ATMgo-创建数据库create database ATMon primary(

7、 name = ATM_data, filename = d:bankATM_data.mdf, size=10mb, filegrowth =10%,maxsize=100mblog on (name = ATM_log,bankATM_data.ldf3.1.2 创建用户信息表create table userinfocustomerID int identity(1,1) primary key,customerName varchar(20) not null,PID char(18) char(18) not null unique check(PID like 0-90-90-90

8、-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9 or PID like 0-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9),telephone char(15) check(telephone like 0-90-90-90-9-0-90-90-90-90-90-90-9or telephone like 0-90-90-90-90-90-90-90-90-90-90-90-90-9) not null,address varchar(50)3.1.3创建银行卡信息表create table cardinfoc

9、ardID char(30) check(cardID like 1010 3576 0-90-90-90-9 0-90-90-90-9) primary key,curType char(5) default (RMBsavingType char(15) check(savingType like 活期or savingType like 定期订活两便) ,openDate datetime default (getdate() not null,openMoney money check (openMoney=1) not null,balance money check(balance

10、 pass char(6) check(pass like 0-90-90-90-90-90-9) default 888888 not null,IsReportLoss char(8) check (IsReportLoss like 是or IsReportLoss like 否customerID int unique not null3.1.4交换信息表create table transinfo transDate datetime default getdate() not null, cardID char(30) unique not null, transType char

11、(10) check (transType like 存入or transType like 支取), transMoney money check (transMoney0 ), remark text3.1.5创建联系alter table transinfoadd foreign key(cardID) references cardinfo(cardID) alter table cardinfoadd foreign key(customerID) references userinfo(customerID)3.2数据初始化3.2.1向表userinfo中输入数据INSERT IN

12、TO userInfo(customerName,PID,telephone,address )3.2.2向cardInfo表中插入数据INSERT INTO cardInfo(cardID,savingType,openMoney,balance,customerID) VALUES(1010 3576 5589 5986,1000,1000,1)1010 3576 5524 4986,1000,1000,3)1010 3576 5698 5987,1000,1000,2)1010 3576 2156 5789,1000,1000,5)1010 3576 5589 5966,1000,100

13、0,6)1010 3576 1569 1856,1800,1800,4)1010 3576 5589 5386,1000,1000,7)3.2.3向transInfo表中插入数据INSERT INTO transInfo(transType,cardID,transMoney) ,900) ,600) ,5000) ,300) ,100) 4.结果数据处理4.1.1查询本周开户的卡号,显示该卡相关信息4.1.2 查询本月交易金额最高的卡号4.1.3在黄安的卡上取款900元,在张珂的卡上存入5000元4.1.3统计银行的资金流通余额和盈利结算declare in money,out moneys

14、elect in=sum(transMoney) from transInfo where transType=select out=sum(transMoney) from transInfo where transType=print 银行流通余额总计为:+convert(varchar(20),in-out)+盈利:+convert(varchar(20),(out*0.008)-(in*0.003)+4.2 创建触发器 create trigger insert_transType on transinfo for insert -指定了触发对象与触发事件asbegin declare

15、 transType char(10),cardID char(30) select transType=transType,cardID=cardID from inserted if(transType = ) begin update transType set balance = blance - transMoney where transMoneybalance)交易失败,余额不足。 else if(convert(int,qk)%100!=0)本柜员机只提供面值100元的纸币,取款金额为100的整数倍。 else if(select balance from cardInfo w

16、here cardID=cardID)-qk1)取款后余额不能低于1元 else update cardInfo set balance = balance - qk where cardID=cardID -更新剩余余额 insert transInfo(transDate ,cardID,transType,transMoney,remark) values(default,cardID,qk,) -记录交易信息 -显示卡号,余额 declare cardID varchar(18),left money select cardID=cardID,left=balance from car

17、dInfo where pass=pass交易成功交易金额:+convert(varchar(10),qk)卡号:+convert(varchar(18),cardID)+ 余额:+convert(varchar(10),left)-存款 create proc saveMoney cardID varchar(18), ck money else if(select IsReportLoss from cardInfo where IsReportLoss=IsReportLoss)=卡已挂失, 交易不能进行。 else if(convert(int,ck)%100!本柜员机只存入面值100

18、元的纸币,存款金额为100的整数倍。 update cardInfo set balance =balance + ck where cardID=cardID insert transInfo(transDate ,cardID,transType ,transMoney,remark) values(default,cardID,ck, declare cardID varchar(25),left money +convert(varchar(10),ck)余额:5.结束语在这一个星期中,在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,有些问题不但要深入地理解,而

19、且要不断地更正以前的错误思维。之所以能够顺利实现基本功功能,除了有自己的辛勤努力之外,遇到不能解决的问题,多亏了老师和周围同学的热心帮助。 做一个系统最重要的是整体思路,在做之前,必须要先理清自己的思路,否则在后来系统的开发过程中会感觉没有明确的方向感。开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义 ,不管什么系统,只用运用到实际应用中,才具有先现实意义,要保持清醒的头脑。我刚开始的时候就是看着老师发的文档一题题往下做,后来我发现问题之后就把整个系统的思想理清了又重新开始的。 在整个系统中把我们这个学期学到的所有知识几乎都用到了,在运用知识的过程中

20、如果不熟悉就会无法融会贯通,所以对知识的熟练程度要求比较高,在课外时间我就加强自己的理论知识的学习,在做系统的过程中在参照自己以前的程序代码,这样就可以比较顺利的完成了。 刚开始时创建表时,有一些字段的数据类型设计的不合理。比如存款类型和账户余额在一开始时我设置的是char类型,但在后来的运算中总是需要把char类型转化,这样很麻烦,我就重新定义了表,把类型转化为money,这样运算时就简单一点了。在做系统时经常会提示一些约束冲突,刚开始自己还以为做错了,后来才明白那正是自己做的约束在起作用了。这还是理论与实际不能结合的原因啊。在整个系统中有很多存储过程,自己对存储过程掌握的不是太熟练,所以在

21、做的过程中很吃力,有时候写完存储过程执行的时候经常会出错,因为有时是输入的变量个数与存储类型不符,有时是类型不一致。但是最后通过自己的努力还是成功的完成了。 通过这次实践我学到了很多东西,做系统细心很重要,作为一个编程人员,更是如此。在整个系统中丢失了一个逗号,分号都是很严重的事情,所以保持清醒头脑,胆大心细是一个编程人员的良好心态。也为以后自己踏上工作之路做好了实践经验准备。这次实践不仅把学到的知识都进行了运用,巩固了知识之外还学习到了开发系统应该注意的问题的解决方法,这对以后的工作有很大的帮助。我从这次实践中受益匪浅,感谢老师和同学们。设计过程中质疑(或答辩)记载:1.创建触发器的思路?答:根据交易类型是“存入”或“支出”,进而更新银行卡信息表的余额2.如何默认当前时间? 答:datetime default (getdate()指导教师评语:签名: 11 年 6 月 25 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1