上传者: 43880517
|
上传时间: 2022-01-09 20:36:31
|
文件大小: 15KB
|
文件类型: -
数据库应用系统设计与实现
实验类型:设计型
实验地点:2楼312
实验时间:12月14日、21日周五1-3/5-7节
实验内容:
系统概述:
某银行需要开发ATM存取款机系统实现如下功能:
1)开户(到银行填写开户申请单,卡号自动生成)
2)取款
3)存款
4)查询余额
题目要求:
一、建库、建表、建约束
1、使用SQL创建表
客户信息表userinfo
字段名称 说明 备注
customerID 顾客编号 自动编号(标识列),从1开始,主键 用序列sequence实现,用其属性:nextval
customerName 开户名 必填
PID 身份证号 必填,智能是18位或15位,唯一约束 check约束length()函数
telephone 联系电话 必填,11位手机号 check约束,’[0-9]’
address 居住地址
银行卡信息表cardinfo
字段名称 说明
cardID 卡号 必填,主键,银行的卡号规则和电话好吗一样,一般前8位代表特殊含义,如某综合某支行等,假定该行要求其营业厅的卡号格式为10103576**** ***开始,每4位号码后有空格,卡号一般是随机产生。
curType 货币种类 必填,默认为RMB
savingTate 存款类型 活期/定活两便/定期
openDate 开户日期 必填,默认为系统当前日期
openMoney 开户金额 必填,不低于1元
balance 余额 必填,不低于1元,否则将销户
pass 密码 必填,6位数字,开户时默认为6个“6”
IsReportloss 是否挂失 必填,是/否值,默认为“否”
customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号
交易信息表transinfo
字段名称 说明
transDate 交易日期 必填,默认为系统当前日期
cardID 卡号 必填,外键
transType 交易类型 必填,只能是存入/支取
transMoney 交易金额 必填,大于0
remark 备注 可选,其他说明
2、使用SQL语言在每个表上添加约束
主键约束、外键约束、CHECK约束、默认约束、非空约束
二、插入测试数据
使用SQL语言向每个表中插入至少3条记录
三、模拟常规业务
1)修改客户密码
2)办理银行卡挂失
3)统计银行资金流通余额和盈利结算
银行资金流通余额=总存入金额-总支取金额
盈利结算=总支取金额 * 0.008 – 总存入金额 * 0.003
4)查询本周开户的卡号,显示该卡相关信息
5)查询本月交易金额最高的卡号
6)查询挂失账号的客户信息
四、利用视图实现数据查询
1)为客户提供以下3个视图供其查询该客户数据
客户基本信息:vw_userInfo
银行卡信息:vw_cardInfo
银行卡交易信息:vw_transInfo
2)提供友好界面,要求各列名称为中文描述
3)调用创建的视图获得查询结果
五、用存储过程实现业务处理
1)完成开户业务
2)完成取款或存款业务
3)根据卡号打印对账单
4)查询、统计指定时间段内没有发生交易的账户信息