编辑: 贾雷坪皮 2016-03-05
问题描述 某银行拟开发一套ATM取款机系统,实现如下功能:

1、开户(到银行填写开户申请单,卡号自动生成)

2、取钱

3、存钱

4、查询余额

5、转账(如使用一卡通代缴手机话费、个人股票交易等)现要求对 ATM柜员机系统 进行数据库的设计并实现,数据库保存在D:\bank目录下,文件增长率为15% .

问题分析-1 字段名称 说明customerID 顾客编号 自动编号(标识列),从1开始,主键 customerName 开户名 必填 PID 身份证号 必填,只能是18位或15位,身份证号唯一约束 telephone 联系电话 必填,格式为xxxx-xxxxxxxx或手机号13位address 居住地址 可选输入 用户信息表:userInfo : 问题分析-2 字段名称 说明cardID 卡号 必填,主健,银行的卡号规则和电话号码一样,一般前8位代表特殊含义,如某总行某支行等.假定该行要求其营业厅的卡号格式为:1010

3576 xxxx xxx开始,每4位号码后有空格,卡号一般是随机产生. curType 货币种类 必填,默认为RMB savingType 存款类型 活期/定活两便/定期 openDate 开户日期 必填,默认为系统当前日期 openMoney 开户金额 必填,不低于1元balance 余额 必填,不低于1元,否则将销户 pass 密码 必填,6位数字,开户时默认为6个

8 IsReportLoss 是否挂失 必填,是/否值,默认为 否 customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号 银行卡信息表:cardInfo 问题分析-3 字段名称 说明transDate 交易日期 必填,默认为系统当前日期 cardID 卡号 必填,外健,可重复索引 transType 交易类型 必填,只能是存入/支取 transMoney 交易金额 必填,大于0 remark 备注 可选输入,其他说明 交易信息表:transInfo 难点分析-1 设计ER图、建库、建表、加约束、建关系部分 建库语句:CREATE DATABASE bankDB ON ( NAME='

…'

, FILENAME=…'

, SIZE=…, FILEGROWTH=…) LOG ON ( …. ) 建表语句:CREATE TABLE 表名 ( customerID INT IDENTITY(1,1), customerName CHAR(8) NOT NULL, …..) 文件增长率 数据文件 日志文件 自动编号,从1开始 非空/必填 难点分析-2 设计ER图、建库、建表、加约束、建关系部分 建约束语句:ALTER TABLE cardInfo ADD CONSTRAINT PK_cardID PRIMARY KEY(cardID), CONSTRAINT CK_cardID CHECK(cardID LIKE '

1010

3576 [0-9]CONSTRAINT DF_curType DEFAULT('

RMB'

) FOR curType CONSTRAINT FK_customerID FOREIGN KEY(customerID)REFERENCES userInfo(customerID), CONSTRAINT UQ_PID UNIQUE(PID) 主键约束 检查约束 外键约束(建关系) 唯一约束 默认约束 难点分析-3 字段名称 说明customerID 顾客编号 自动编号(标识列),从1开始,主键 customerName 开户名 必填 PID 身份证号 必填,只能是18位或15位,身份证号唯一约束 telephone 联系电话 必填,格式为xxxx-xxxxxxxx或手机号13位address 居住地址 可选输入 建表时:IDENTITY(1,1) check约束:len( )函数 建表时:NOT NULL check约束: like '

[0-9][0-9]…'

设计ER图、建库、建表、加约束、建关系部分 子查询:SELECT ....FROM … WHERE transMoney=(SELECT … FROM …)内部连接:SELECT … FROM userInfo INNER JOIN cardInfo ON….. SQL编程:DECLARE @inMoney moneySELECT @inMoney=sum(transMoney) from ..where (transType='

存入'

)视图:CREATE VIEW view_userInfo AS …--SQL语句GO 难点分析-4 声明变量 插入测试数据、常规业务模拟、创建索引视图部分 给变量赋值的两种方法:SELECT或SET 测试视图:SELECT .. FROM view_userInfo … 创建存储过程: CREATE PROCEDURE proc_takeMoney @card char(19), @type char(4) , @inputPass char(6)='

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题