- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL项目实战银行ATM系统
项目实战 银行ATM(取款机)系统
第一部分 问题描述
某银行拟开发一套ATM取款机系统,实现如下功能:
开户(到银行填写开户申请单,卡号自动生成)
取钱
存钱
查询余额
转账(如使用一卡通代缴手机话费,个人股票交易等)
现要求对“ATM柜员机系统”进行数据库的设计并实现,数据库保存在F:\bank目录下,文件增长率为15%
第二部分 环境要求
开发工具:SQL Server2000企业版、PowerDesigner
第三部分 问题分析
用户信息表: userInfo 见表1.1
表1.1 用户信息表
字 段 名 称 说 明 customerID 顾客编号 自动编号(标识列),从1开始,主键 customerName 开户名 必填 PID 身份证号 必填,只能是18位或15位,身份证号唯一约束 telephone 联系电话 必填,格式为xxxx-xxxxxxxx或手机号11位 Address 居住地址 可选输入
银行卡信息表: cardInfo 见表1.2
表1.2银行卡信息表
字 段 名 称 说 明 cardID 卡号 必填,主键,银行的卡号规则和电话号码一样,一般前8位代表特殊含义,如某总行某支行等。假定该行要求其营业厅的卡号格式为:1010 3576 xxxx xxxx开始,每4位号码后有空格,卡号一般是随机产生 curType 货币类型 必填,默认为RMB savingType 存款类型 活期 / 定活两便 / 定期 必填 openDate 开户日期 必填,默认为系统当前日期 openMoney 开户金额 必填,不低于1元 balance 余额 必填,不低于1元,否则将销户 pass 密码 必填,6为数字,开户时默认为6个“8” IsReportLoss 是否挂失 必填,是/否值,默认为“否” customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一般顾客允许办理多张卡
交易信息表:transInfo 见表1.3
表1.3 交易信息表
字 段 名 称 说 明 transDate 交易日期 必填,默认为系统当前日期 cardID 卡号 必填,外键,可重复索引 transType 交易类型 必填,只能是存入/支取 transMoney 交易金额 必填,大于0 remark 备注 可选输入,其他说明
第四部分 实现步骤
设计数据库E-R模型图(采用PowerDesigner建模工具)
提示:根据第三部分的各个表,绘制概念数据模型图(Conceptual Data Model )。
建库:要求保存在F:\bank文件夹下,取名为bankDB,文件增长率为15%。
提示:以下所有步骤的软件环境均为SQL查询分析器
在F盘创建文件夹bank。
提示:exec xp_cmdshell ‘mkdir f:\bank’,NO_OUTPUT
建库是要求检测是否存在bankDB,如果存在先删除再创建。
提示:参考上机相关代码 if exists(…) …
建表:创建用户信息表userInfo,银行卡信息表cardInfo,交易信息表transInfo
提示:参照第三部分各表提出的要求,确定表中各个字段的长度、数据类型,注意一个 汉字占两个字节。身份证号字段为了验证方便,一般保存为字符串;是/否挂失字段, 可保存为BIT(即1/0)类型。
加约束
根据第三部分“说明”一栏中的要求,分析每列相应的约束条件
例如:
主键,添加主键(Primary Key)约束
只能是18位或者15位,添加检查(check)约束。(利用字符串长度函数len() )
……
同一个表的多个约束可以连写
例如:
Alter TABLE cardInfo
ADD CONSTRAINT PK_cardID PRIMARY KEY(cardID),
CONSTRAINT CK_cardID CHECK(cardID,….),
CONSTRAINT DF_cruType ….
建关系
提示:根据三表的字段,通过外键约束来建立表之间的关系
插入测试数据:
先假定卡号不自动随机产生,而是人工指定,向相关表中插入如下开户信息
张三开户
身份证:123456789012345, 电话:010 地址:北京海淀,开户金额:1000,活期,卡号:1010 3576 1234 5678
李四开户
身份证:321245678912345678 电话:0478 开户金额:1,定期,卡号:1010 3576 1212 1134
插入交易信息
张三的卡中取款900元
李四的卡中存款5000元
要求保存交易记录,以便
文档评论(0)