免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 武武汉汉理理工工大大学学华华夏夏学学院院 课课程程设设计计报报告告书书 课程名称 课程名称 数据库系统原理 题题 目目 ATM 机数据库设计 系系 名 名 信息工程系 专业班级 专业班级 姓姓 名名 学学 号 号 指导教师指导教师 2011 年 7 月 1 日 2 课程设计任务书 学生姓名 专业班级 指导教师 工作单位 信息工程系 设计题目 银行 ATM 机后台数据库设计开发 要求完成的主要任务 包括课程设计工作量及其技术要求 以及说明书撰写等具体要求 1 创建数据库 Bank 数据表 并建立主外键 约束 建立表测试数据 2 实现以下功能 1 简单查询 2 嵌套查询 3 连接查询 4 统计银行的资金流通余额和盈利结算 5 创建触发器 6 创建存储过程 设计报告撰写格式要求 设计报告撰写格式要求 1 明确课程设计的目的和重要性 认真领会课程设计的题目 读懂课程设计 指导书的要求 学会设计的基本方法与步骤 学会如何运用前修知识与收集 归 纳相关资料解决具体问题的方法 严格要求自己 要独立思考 按时 独立完成 课程设计任务 2 设计报告 要求层次清楚 整洁规范 不得相互抄袭 凡正文内容有整段 完全相同者一律以抄袭论处 设计报告正文字数不少于 0 2 万字 不包括附录 时间安排 时间安排 消化资料 系统调查 1 天 系统分析 总体设计 实施计划 撰写报告 3 天 演示 验收 1 天 指 导 教 师 签 字 2011 年 6 月 25 日 系 主 任 签 字 2011 年 6 月 26 日 3 目录目录 1 问题描述问题描述 4 1 11 1 背景背景 4 1 21 2 数据需求数据需求 4 方案图表设计方案图表设计 4 2 12 1 E R 图图 4 2 22 2 数据字典数据字典 7 2 42 4 关系图 关系图 8 3 数据库源代码数据库源代码 9 3 13 1 数据库建立数据库建立 9 3 23 2 数据初始化数据初始化 11 4 结果数据处理结果数据处理 12 4 14 1简单查询简单查询 12 4 24 2连接查询连接查询 13 4 34 3嵌套查询嵌套查询 13 4 34 3统计银行的资金流通余额和盈利结算统计银行的资金流通余额和盈利结算 14 4 44 4创建触发器创建触发器 14 4 54 5创建存储过程创建存储过程 15 5 结束语结束语 17 4 1 问题描述问题描述 1 11 1 背景背景 通过数据库课程设计 进一步掌握数据库系统的理论和方法 培养和锻炼开发 管理信息系统的能力 为今后信息系统开发打下良好的基础 本课程环节主要针对 关系数据库基础与应用 这么课程进行设计 数据库是 一门应用性很强的专业课 在学习时必须注意理论与实践相结合 本次课程环节 旨在培养学生在本课程范围内 初步掌握解决实际应用问题时所应具备的查阅资 料 综合运用所学知识的能力 为毕业设计及今后从事专业工作打下基础 本课程环节要求学生了解企业管理信息系统后台数据库的设计 配置过程 掌握管理信息系统的开发方法 主要包括 需求分析 数据分析 系统逻辑模型 设计方法 功能设计 物理模型设计方法 系统的实现等方法 完成一个小型系 统后台数据库的设计与配置 1 21 2 数据需求数据需求 随着社会的日益发展 银行在人们的日常生活扮演者重要的角色 ATM 机给 人们的日常生活带来了方便 它出现在各个街道角落里 ATM 数据库系统使自动 取款机机高速快捷的工作 不易发生数据丢失 统计错误 使 ATM 机更加安全方 便 1 3 开发及运行环境开发及运行环境 操作系统 Microsoft Windows XP 软件平台 Microsoft SQL Server 2000 硬件环境 服务器端 P4 256MB 80GB 以上 客户端 PC 586 128MB 40MB 以上 5 方案图表设计方案图表设计 2 12 1 E R 图图 2 1 1 用户信息实体用户信息实体 E R 图 图 图 2 1 用户信息实体 E R 图 2 1 2 银行卡信息实体银行卡信息实体 E R 图 图 用户信息表实体 开户名 居住地址 联系电话 顾客编号 身份证号 银行卡信息表实体 卡号 余额 密码 顾客编号 是否挂失 开户金额 开户日期 货币种类 存款类型 6 图 2 2 银行卡信息实体 E R 图 2 1 3 交易信息实体交易信息实体 E R 图 图 图 2 4 交易信息实体 E R 图 2 1 6 总的信息实体总的信息实体 E R 图 图 交易信息实体 卡号 交易日期 备注 交易类型 交易金额 用户拥有银行卡 1 n 交易 发生 1 n 7 图 2 7 总的信息实体 E R 图 2 22 2 数据字典数据字典 表 1 用户信息表用户信息表 userInfo 字段名称字段名称说说 明明 customerID顾客编号自动编号 标识列 从 1 开始 主键 customerName开户名必填 PID身份证号 必填 只能是 18 位或 15 位 身份证号唯一 约束 telephone联系电话必填 格式为 xxxx xxxxxxxx 或手机号 13 位 address居住地址可选输入 表 2 银行卡信息表银行卡信息表 cardInfo 字段名称字段名称说说 明明 cardID卡号 必填 主健 银行的卡号规则和电话号码一样 一般前 8 位代表特殊含义 如某总行某支行等 假定该行要求其营 业厅的卡号格式为 1010 3576 xxxx xxx 开始 每 4 位号码 后有空格 卡号一般是随机产生 curType货币种类必填 默认为 RMB savingType存款类型活期 定活两便 定期 openDate开户日期必填 默认为系统当前日期 openMoney开户金额必填 不低于 1 元 balance余额必填 不低于 1 元 否则将销户 pass密码必填 6 位数字 开户时默认为 6 个 8 8 IsReportLoss是否挂失必填 是 否值 默认为 否 customerID顾客编号 外键 必填 表示该卡对应的顾客编号 一位顾客允许办 理多张卡号 表 2 3 交易信息表交易信息表 transInfo 字段名称字段名称说说 明明 transDate 交易日期必填 默认为系统当前日期 cardID卡号必填 外健 可重复索引 transType 交易类型必填 只能是 存入 支取 transMoney交易金额必填 大于 0 remark备注可选输入 其他说明 2 32 3 关系图 关系图 9 数据库存表关系图 3 数据库源代码数据库源代码 3 13 1 数据库建立数据库建立 3 1 1 创建数据库创建数据库 use master go if exists select from sysdatabases where name ATM drop database ATM go 创建数据库 create database ATM on primary name ATM data filename d bank ATM data mdf size 10mb filegrowth 10 maxsize 100mb log on name ATM log filename d bank ATM data ldf size 10mb filegrowth 10 maxsize 100mb 10 3 1 2 创建用户信息表创建用户信息表 create table userinfo customerID int identity 1 1 primary key customerName varchar 20 not null PID char 18 char 18 not null unique check PID like 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 or PID like 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 telephone char 15 check telephone like 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 or telephone like 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 not null address varchar 50 3 1 3 创建银行卡信息表创建银行卡信息表 create table cardinfo cardID char 30 check cardID like 1010 3576 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 primary key curType char 5 default RMB savingType char 15 check savingType like 活期 or savingType like 定期 or savingType like 订活 两便 openDate datetime default getdate not null openMoney money check openMoney 1 not null balance money check balance 1 not null pass char 6 check pass like 0 9 0 9 0 9 0 9 0 9 0 9 default 888888 not null IsReportLoss char 8 check IsReportLoss like 是 or IsReportLoss like 否 default 否 not null customerID int unique not null 3 1 4 交换信息表交换信息表 create table transinfo transDate datetime default getdate not null cardID char 30 unique not null transType char 10 check transType like 存入存入 or transType like 支取支取 transMoney money check transMoney 0 remark text 3 1 5 创建联系创建联系 11 alter table transinfo add foreign key cardID references cardinfo cardID alter table cardinfo add foreign key customerID references userinfo customerID 3 23 2 数据初始化数据初始化 3 2 1 向表向表 userinfo 中输入数据中输入数据 INSERT INTO userInfo customerName PID telephone address VALUES Lily 124578999524125 0712 5763258 湖北武汉 INSERT INTO userInfo customerName PID telephone address VALUES 黄安 123578999524126 0713 5763258 湖北安陆 INSERT INTO userInfo customerName PID telephone address VALUES 刘浩 145578999524125 0745 5763249 湖北孝感 INSERT INTO userInfo customerName PID telephone address VALUES 王娜 124578999524145966 0712 5763358 湖北应城 INSERT INTO userInfo customerName PID telephone address VALUES 张珂 124578999524125559 0713 5763298 湖北武汉 INSERT INTO userInfo customerName PID telephone address VALUES 张静初 124578999524125221 0712 5663258 湖北宜昌 INSERT INTO userInfo customerName PID telephone address VALUES 李明博 124578999524125256 0712 5763258 韩国 3 2 2 向向 cardInfo 表中插入数据表中插入数据 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 5589 5986 活期 1000 1000 1 INSERT INTO cardInfo cardID savingType openMoney balance customerID 12 VALUES 1010 3576 5524 4986 定期 1000 1000 3 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 5698 5987 活期 1000 1000 2 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 2156 5789 定期 1000 1000 5 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 5589 5966 定期 1000 1000 6 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 1569 1856 活期 1800 1800 4 INSERT INTO cardInfo cardID savingType openMoney balance customerID VALUES 1010 3576 5589 5386 定期 1000 1000 7 3 2 3 向向 transInfo 表中插入数据表中插入数据 INSERT INTO transInfo transType cardID transMoney VALUES 支取 1010 3576 5589 5986 900 INSERT INTO transInfo transType cardID transMoney VALUES 支取 1010 3576 5524 4986 600 INSERT INTO transInfo transType cardID transMoney VALUES 存入 1010 3576 5589 5966 5000 INSERT INTO transInfo transType cardID transMoney VALUES 支取 1010 3576 1569 1856 300 INSERT INTO transInfo transType cardID transMoney VALUES 支取 1010 3576 5698 5987 100 4 结果数据处理结果数据处理 4 1 1 查询本周开户的卡号 显示该卡相关信息 13 4 1 2 查询本月交易金额最高的卡号 4 1 3 在黄安的卡上取款在黄安的卡上取款 900 元 在张珂的卡上存入元 在张珂的卡上存入 5000 元元 14 4 1 3统计银行的资金流通余额和盈利结算统计银行的资金流通余额和盈利结算 declare in money out money select in sum transMoney from transInfo where transType 存入 select out sum transMoney from transInfo where transType 支取 print 银行流通余额总计为 convert varchar 20 in out RMB print 盈利 convert varchar 20 out 0 008 in 0 003 RMB 15 4 24 2 创建触发器创建触发器 create trigger insert transType on transinfo for insert 指定了触发对象与触发事件 as begin declare transType char 10 cardID char 30 select transType transType cardID cardID from inserted if transType 支取 begin update transType set balance blance transMoney where transMoneybalance print 交易失败 余额不足 else if convert int qk 100 0 print 本柜员机只提供面值 100 元的纸币 取款金额为 100 的整数倍 else if select balance from cardInfo where cardID cardID qk 1 print 取款后余额不能低于 1 元 else begin 16 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 cardInfo where pass pass print 交易成功 print 交易金额 convert varchar 10 qk print 卡号 convert varchar 18 cardID 余额 convert varchar 10 left end end 存款 create proc saveMoney cardID varchar 18 pass varchar 6 ck money as begin print 正在交易 请稍候 print if select pass from cardInfo where cardID cardID pass print 密码不正确 else if select IsReportLoss from cardInfo where IsReportLoss IsReportLoss 是 print 卡已挂失 交易不能进行 else if convert int ck 100 0 print 本柜员机只存入面值 100 元的纸币 存款金额为 100 的整数倍 else begin update cardInfo set balance balance ck where cardID cardID insert transInfo transDate cardID transType transMoney remark values default cardID 存入 ck 17 declare cardID varchar 25 left money select cardID cardID left balance from cardInfo where pass pass print 交易成功 print 交易金额 convert varchar 10 ck print 卡号 convert varchar 18 cardID 余额 convert varchar 10 left end end 5 结束语结束语 在这一个星期中 在做系统的过程中遇到了很多问题 有的是知识存储不足 有 的是考虑不够周全 有些问题不但要深入地理解 而且要不断地更正以前的错误 思维 之所以能够顺利实现基本功功能 除了有自己的辛勤努力之外 遇到不能 解决的问题 多亏了老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程招投标与合同管理考试试题库及参考答案
- 高危儿管理培训试卷课前及答案
- 厂区外来人员管理考试题库及答案
- 2026年中医耳鼻喉科小儿急喉风应急护理培训试卷及答案
- 小儿吸痰护理及拍背技巧教学课件
- 2026年雨季基坑防汛防坍塌培训试卷及答案
- 桥架型起重机安装技术要求培训
- 路灯改造工程安全保证措施培训
- 四人宿舍设施安全人机工程学分析及优化
- 高空外墙清洗作业指导培训课件
- 2026广东湛江市遂溪发展集团有限公司招聘15人(第二批)考试备考题库及答案详解
- 2026年重庆市部编版高一语文一轮复习第五单元文言文阅读测试题库试卷
- 2025秋新版道德与法治二年级上册教学工作计划及教学进度表
- 2026年高职院校教务干事岗笔试真题附答案
- 项目施工现场退场处置方案
- 2026 年秋季开学:新时代教师师德师风建设专题培训
- GB/T 12008.3-2026塑料聚氨酯生产用聚醚多元醇第3部分:羟值的测定
- 六年级上册人教部编版语文 《单元习作导学单+作文范文》
- 20S515 钢筋混凝土及砖砌排水检查井
- 太阳能科普知识-课件
- 管理者的自我管理(讲师手册)课件
评论
0/150
提交评论