数据库oracle银行管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (1)
一、设计银行管理系统结构图
1.1系统结构图 (2)
二、银行管理系统E-R图和表结构
2.1E-R图 (4)
2.2表结构 (7)
三、创建系统数据表
3.1创建表空间和用户 (9)
3.2创建用户信息表并添加约束 (9)
3.3创建银行卡信息表 (11)
3.4创建交易信息表 (12)
四、模拟常规业务操作
4.1建立更新账号触发器 (14)
4.2存取款交易操作 (14)
4.3用户开户 (16)
4.4更改密码 (18)
4.5账号挂失 (19)
4.6余额查询 (20)
4.7转账业务设置 (21)
4.8银行盈利结算 (22)
4.9撤户操作 (22)
五、总结 (24)
参考文献 (25)
附录 (26)
摘要
随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。
一、设计银行管理系统结构图
1.1系统结构图
图1.1系统结构图
二、银行管理系统E-R图和表结构
2.1E-R图
图2.1
2.2表结构
通过对银行管理系统的需求分析,应该为该系统设计3个表,分别为用户信息表、银行卡信息表和交易信息表。
用户信息表用于存储用户的基本信息,包括用户的编号、开户名、身份证号、联系电话和家庭住址等信息
表2.1 用户信息表
银行卡信息表用于存储银行卡相关的信息主要包括卡号、存储的货币类型,存款方式,开户时间,开户金额,余额、银行卡密码、是否挂失和用户编号等信息,
表2.2银行卡信息表
交易信息表用于存储用户的交易记录,主要包括交易日期,卡号、交易类型,交易金额等信息。
表2.3交易信息表
三、创建系统数据表
3.1创建表空间和用户
使用system用户连接数据库后,创建表空间space_zqp,指定数据文件为D:\Bank.dbf,代码如下图:
图3.1表空间和用户
3.2创建用户信息表并添加约束
用户信息表保存了用户的基本信息,该表的创建语句如下,
CREATE TABLE userInfo
(
customerID NUMBER(4) NOT NULL,
customerName VARCHAR2(20) NOT NULL,
PID VARCHAR2(18) NOT NULL,
telephone VARCHAR2(13) NOT NULL,
address VARCHAR2(50)
)
PARTITION BY HASH(PID)
(
PARTITION pid1,
PARTITION pid2,
PARTITION pid3,
);
ALTER TABLE userInfo
ADD CONSTRAINT PK_customerID PRIMARY KEY(customerID)
ADD CONSTRAINT UK_PID UNIQUE(PID)
ADD CONSTRAINT CK_PID CHECK(LENGTH(PID)=18 OR LENGTH(PID)=15)
ADD CONSTRAINT CK_telephone 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][0-9]'OR LENGTH(telephone)=13);
------------------创建可以自动生成自增主列的序列 customerid_seq CREATE SEQUENCE customerid_seq
START WITH 1
INCREMENT BY 1
NOCACHE
如上述语句所示,在userInfo表中包含用户编号(customerid)、开户名(customername)、身份证号(PID)、联系电话(telephone)、家庭住址(address)。其中,customerid为主键,自增(从1开始);PID只能是18位或15位,并且是唯一的;telephone必须是xxxx-xxxxxxxx的格式或13位的手机号码。
图3.2用户信息表
3.3创建银行卡信息表
银行卡信息表(cardinfo)中包含了卡号(cardid),货币种类(curType),存款类型(savingtype),开户日期(opendate),开户金额(openmoney),余额(balance),密码(pass),是否挂失(isREPORTLOSS)和用户编号(customerID)的信息。其中,cardID为主键,必须为1010 3756 xxxx xxxx的格式;CURTYPE 默认为RMB,openmoney必须不能低于一元;balance也必须不能低于一元;pass
默认为88888888;ISREPORTLOSS的值必须是“是/否”中之一,默认为否;customerID为外键,引用userInfo表中的customerID列。
图3.3
3.4创建交易信息表
交易信息表中包含了五个字段,分别为transdate(交易日期),cardID(卡号)、TRANSTYPE(交易类型),transmoney(交易金额)和remark(备注)。其中,transdate默认为系统当前日期;cardid位外键,引用cardinfo表中的cardid 列,可重复;transtype只能是“存入/取出”之一;transmoney必须大于0.