简单的数据库应用——银行ATM取款机系统

项目需求

1.储户业务需求

  开户,修改客户密码,办理银行卡挂失,办理存取款业务,打印客户对账单,转账

2.银行业务需求

  统计银行资金流通余额和盈利结算,查询本周开户信息,查询本月交易金额最高的卡号,查询挂失的客户,催款提醒业务,查询银行客户记录,查询银行卡记录,查询银行卡交易记录,统计未发生交易的账户,统计银行卡交易量和交易额,分页显示所有交易数据

项目实现思路

1.数据库的设计
客户信息:客户编号、开户名、身份证号、联系电话、地址
银行卡信息:卡号、密码、存款类型、开户日期、开户金额、余额、客       户编号、是否挂失
存款类型:货币的名称、货币的编号
交易信息:交易的日期、卡号、交易金额、备注
客户使用银行卡(1:n)
银行卡记录交易信息(1:n)
存款类型属于银行卡信息(1:n)

2.创建表空间、用户、表、约束
   使用SQL语言数据定义语言(DDL)和数据控制语言(DCL)
约束:
a.电话输入格式的检查约束:add constraint ck_telephone check(regexp_like(telephone,'(^\d{3,4}-\d{8}$)|(^\d{11}$)'));
b.卡号的检查约束:add constraint ck_cardID check(regexp_like(cardID,'1010 3576 \d{4}  \d{4}'));
c.密码的检查约束:add constraint ck_pass check(regexp_like(pass,'^[0-9]{6}$)'));

3.插入测试的数据
               使用insert语句插入数据,要注意各表中数据插入的顺序,插入交易信息的时候要修改银行卡的存款余额,保证业务数据的一致性和完整性。
4.常规业务实现
                 使用update进行客户密码以及银行卡挂失业务,主要就是对表中的数据进行修改
       统计银行资金流通余额和盈利结算使用PL/SQL块来进行实现,其中定义两个变量存放总存入金额和总支取金额,用到sum()函数
       查询本周开户信息中用到截断函数trunc(sysdate,'DAY')取得本周的第一天

5.创建、使用视图
    首先要对用户进行授于创建视图的权限
     创建视图的语句create or replace VIEW 视图名称 as

6.使用存储过程实现业务
   使用SQL语句创建存储过程,并使用所创建的存储过程完成比较复杂的银行业务,在存储过程中使用事务,以保证数据操作的一致性,主要是一些业务逻辑的设计,因此在编写语句之前一定要理解清楚



你可能感兴趣的:(简单的数据库应用——银行ATM取款机系统)