ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:85.39KB ,
资源ID:6615178      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6615178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库oracle银行管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库oracle银行管理系统.docx

1、数据库oracle银行管理系统摘要随着计算机的飞速开展及应用领域的扩大,特别是计算机网络和电子商务的开展,极大的改变了商业银行传统的经营模式。能够为客户提供方便、快捷、平安的效劳,也能够有效的降低银行的营运本钱,这是银行存储系统追求的目标。目前,对于现代化银行运营的要客户可以实现方便平安的业务交易,银行职员可以进展高效合理的工作管理,实现银行业务电子化。方便用户快速的进展存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。一、行管理系构1.1系构1.1系构二、行管理系E-R和表构2.1E-R 2.1图2.22

2、.2表构通行管理系的需求分析,系3表,分用信息表、行卡信息表和交易信息表。用信息表用于存用的根本信息,包括用的、名、身份、系和家庭住址等信息表2.1 用信息表字段名字段描述据型度束customer用Number4主customer名Varhcar220必填PID身份Varchar218必填telephone系Varchar213必填Address家庭地址Varchar250 行卡信息表用于存行卡相的信息主要包括卡、存的型,存款方式,金,余、行卡密、是否挂失和用等信息,表2.2行卡信息表字段名字段描述据型度束cardID卡Varchar220主curType种Varhcar210必填Saving

3、Type存款型Varchar28非空Opendate日期DATETIME必填openmoney金Number8必填Balance余Number8必填Isreportloss是否挂失Varchar22必填CustomerVarchar4外交易信息表用于存用的交易,主要包括交易日期,卡、交易型,交易金等信息。表2.3交易信息表字段名字段描述据型度性Transdate交易日期DatetimePKcardID卡Varhcar220非空transTYPE交易型VARCHAR24非空transMoney交易金NUMBER4非空remark注VARCHAR250非空三、建系据表3.1建表空和用使用syste

4、m用接据后,建表空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,

5、PARTITION pid3,);ALTER TABLE userInfoADD 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-90-90-90-9-0-90-90-90-90-90-90-90-9ORLENGTH(telephone)=13);-建可以自生成

6、自增主列的序列 customerid_seqCREATE SEQUENCE customerid_seqSTART WITH 1INCREMENT BY 1NOCACHE如上述句所示,在userInfo表中包含用customerid)、名customername、身份PID)、系(telephone)、家庭住址address。其中,customerid主,自增1始;PID只能是18位或15位,并且是唯一的;telephone必是*-*的格式或13位的手机。3.2用信息表3.3建行卡信息表 行卡信息表cardinfo中包含了卡(cardid),种(curType),存款型savingtype,日

7、期opendate,金openmoney,余balance,密pass,是否挂失isREPORTLOSS和用customerID的信息。其中,cardID主,必1010 3756 * *的格式;CURTYPE默RMB,openmoney必不能低于一元;balance也必不能低于一元;pass默88888888;ISREPORTLOSS的值必是“是/否中之一,默否;customerID外,引用userInfo表中的customerID列。3.33.4建交易信息表交易信息表中包含了五字段,分transdate(交易日期),cardID(卡)、TRANSTYPE(交易型),transmoney(交易

8、金)和remark注。其中,transdate默系前日期;cardid位外,引用cardinfo表中的cardid列,可重复;transtype只能是“存入/取出之一;transmoney必大于0.3.4交易信息表四、模常操作4.1建立更新触器果如下:4.1建before update触器4.2存取款交易操作用理取款或存款,不需要向交易信息表中添加一交易,需要修改前中的余,如果理取款,如果前的余去支取余,如果理托管,多叫前中的金加上存款金。在交易信息表中包含一名transtype的字段,字段用于表示交易型,取值必是存入或者自取,因此可以transINFO表建BEFORE INSERTR触器。根

9、据要理里的交易型,判出前的交易型,如果transtype字段值“支取,表示要理取款,前余是否大于或等于要支取的金,如果足件,要修改cardinfo表中的balance字段值,字段值去交易金transmoney,如果transtype字段值“存入,表示要理存款,修改cardinfo表中的balance字段值,值加上交易金transmoney。代如下:reate or replace trigger trig_transbefore insert or update on transinfofor each rowdeclare my_balance number;rate_exception e

10、xception;begin select balance into my_balance from cardinfo where cardid=:new.cardid; if :new.transtype=支取 then if my_balance:new.transmoney-1 then update cardinfo set balance=balance-:new.transmoney where cardId=:new.cardId; end if;elsif :new.transtype=存入 thenupdate cardinfo set balance=balance+:ne

11、w.transmoney where cardid=:new.cardId; end if; dbms_output.put_line(交易成功!); exception when rate_exception then raise_application_error(-20001,交易失); end;select * from cardInfo_vw;insert into transInfo (transdate,cardID,transType,transMoney) values(sysdate,1010 3576 8888 6666,存入,1000);mit;4.3用根据身份查是否在

12、行,万一失,需要查生成的卡是否已被使用,如果件都符合要求此人未在行,生成的卡也人使用,向userinfo表中插入人的根本信息,并根据人的身份取人的,而向cardinfo表中插入人的根本信息,同需要生成的卡示人。如果收到卡已被使用,得提醒用失;如果前人已在此行,提示用此身份已有。 果如下:4.24.4更改密一行一密,因此用入的卡密相,可以行卡置新的密,代: create or replace procedure proc_updateUserPass(temp_cardid varchar2, -卡oldpass varchar2, -密newpass varchar2 -新密)asi numb

13、er;pass_i VARCHAR2(6);beginselect count(*) into i from cardInfo where cardID=temp_cardid;select pass into pass_i from cardInfo where cardID=temp_cardid;if i=0 thendbms_output.put_line(此卡不存在!);elsif i0 thenif pass_i=oldpass thenUPDATE cardInfo set pass=newpass where cardid=temp_cardid;dbms_output.put

14、_line(密更改成功!);elsedbms_output.put_line(密不正确!);end if;end if;mit;exceptionwhen others thendbms_output.put_line(密更改失!);end4.5挂失 用的行卡失后,可以卡行挂失,行管理系需要用的真性,用入行卡和密相,才可以卡行挂失操作,即修改cardinfo表中的IsreportLOSS列“是,否提示“挂失。果如:4.34.6余查用可以使用行管理系,理余查等,系要求用入行卡和密,用入的和密都合法,系就查用的余,否提示用“或密!,代:CREATE OR REPLACE procedure pro

15、_query_balance(card_id varchar2, -card_pass varchar2) -密asi NUMBER:=0;not_data_found exception;user_balance NUMBER(8);beginselect count(*) into i from cardInfo where cardID=card_id and pass=card_pass;if i=0 thenraise not_data_found;elseselect balance into user_balance from cardInfo where cardID=card

16、_id and pass=card_pass;dbms_output.put_line(你的余:|user_balance);end if;exceptionwhen not_data_found thendbms_output.put_line(或密!);end;4.7置自助行管理系理,要求用入正确的用于的卡和密,以及得的卡和金,系根据用入的卡和密,行卡是否存在,如果存在,判行卡余是否大于要的余;如果大于,向表中插入交易,一支取的,一存入的,并提示用成功;如果用入的卡和密不正确,提示“你的卡或密有!。4.8行盈利算 行的管理人可以行的金流通余和盈利算,金流金等于存入-支金;盈利算,等于支出金

17、乘以8%-存入金乘以3%,代如:4.44.9撤操作 用不再需要使用某行卡,可去行理撤操作,撤操作需要用入正确的卡和密,系根据用入的据行卡行,如果行卡存在,都需要卡上的余全部取出,并除卡在cardinfo表中的,以及在transinfo表中所有的交易。代如下4.5五、 通此次程,使我更加扎的掌握了有据方面的知,在程中然遇到了一些,但一次又一次的思考,一遍又一遍的查于找出了原因所在,也暴露出了前期我在方面的知欠缺和缺乏。出真知,通自手制作,使我掌握的知不再是上兵。在程程中,我不,不改正,不悟,不取。最的,本身就是在行“而能改,善莫大焉的知行。次程于利完成了,在中遇到了很多,最后在老的指下,于游逆而

18、解。在今后社的展和程中,一定要不懈努力,不能遇到就想到要退,一定要不其的所在,然后一一行解,只有,才能成功的做成想做的事,才能在今后的道路上劈棘,而不是知而退,那永不可能收成功,收喜,也永不可能得到社及他人你的可!考文1郝安林,Oracle 11g基教程与指,清大2王珊,据系概,高等教育3王霓虹,据系原理,哈工十二五划教材4建中,据系原理,子工原理5Stephens著,据,机械工6丙洋.涂抹oracle-三思之一步一步oracleM中水利水,2010.17KarenMorton.OracleSQL高程M.人民,2011.118梁敬彬,梁敬弘.收不止oracleM.子工,2013.59.循序or

19、acle据管理、优化与份恢复M.人民,2011.810LanAbramson,MicheaelAbbey,MichaelJ.Corey,朝.oracledatabase11g:初者指南M.清大,2010-01附程序源代:CREATE TABLESPACE space_zqpDATAFILE D:Bank.dbf SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;建用zqp,用密:zqpCREATE USER zqpIDENTIFIED BY zqpDEFAULT TABLESPACE space_zqp;TEMPORARY TABLESPACE t

20、empQUOTA 20M ON space_xianglin;/用已建GRANT DBA TO XIANGLIN;/授成功CONNECT xianglin/accp;/已接REATE 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)-根据身份ID建散列分PARTITION BY HASH(PID)( PARTITION pid1,

21、 PARTITION pid2, PARTITION pid3,);-userInfo表添加束件ALTER TABLE userInfoADD 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-90-90-90-9-0-90-90-90-90-90-90-90-9

22、ORLENGTH(telephone)=13);/表已更改-建可以自生成自增主列的序列 customerid_seqCREATE SEQUENCE customerid_seqSTART WITH 1INCREMENT BY 1NOCACHE;/序列已建CREATE TABLE cardIofo(cardID VARCHAR2(20) NOT NULL,curType VARCHAR2(10) NOT NULL,savingType VARCHAR2(8) NOT NULL,openDate DATE NOT NULL,openMoney NUMBER(8) NOT NULL,balance

23、NUMBER(8) NOT NULL,pass VARCHAR2(6) NOT NULL,IsReportLoss VARCHAR2(2) NOT NULL,customerID NUMBER(4) NOT NULL)-根据日期建表分PARTITION BY RANGE(openDate)(PARTITION openDate_p1 VALUES LESS THAN(TO_DATE(01/01/2007,dd/mm/yyyy),PARTITION openDate_p2 VALUES LESS THAN(TO_DATE(01/04/2007,dd/mm/yyyy),PARTITION open

24、Date_p3 VALUES LESS THAN(TO_DATE(01/07/2007,dd/mm/yyyy),PARTITION openDate_p4 VALUES LESS THAN(TO_DATE(01/10/2007,dd/mm/yyyy),PARTITION openDate_p5 VALUES LESS THAN(TO_DATE(01/01/2008,dd/mm/yyyy),PARTITION openDate_p6 VALUES LESS THAN(TO_DATE(01/04/2008,dd/mm/yyyy),PARTITION openDate_p7 VALUES LESS

25、THAN(TO_DATE(01/07/2008,dd/mm/yyyy),PARTITION openDate_p8 VALUES LESS THAN(TO_DATE(01/10/2008,dd/mm/yyyy),PARTITION openDate_p9 VALUES LESS THAN(TO_DATE(01/01/2009,dd/mm/yyyy),PARTITION openDate_p10 VALUES LESS THAN(TO_DATE(01/04/2009,dd/mm/yyyy),PARTITION openDate_p11 VALUES LESS THAN(TO_DATE(01/07

26、/2009,dd/mm/yyyy),PARTITION openDate_p12 VALUES LESS THAN(maxvalue);/表已建-cardInfo表添加束件ALTER TABLE cardIofoADD CONSTRAINT PK_cardID PRIMARY KEY(cardID)ADD CONSTRAINT CK_cardID CHECK(TRANSLATE(cardID,0123456789 ,* )=* * * * ANDINSTR(cardID,1010 3576 )=1ADD CONSTRAINT CK_sav CHECK(savingType IN (活期,定期便

27、,定期)ADD CONSTRAINT CK_openMoney CHECK (openMoney=1)ADD CONSTRAINT CK_pass CHECK(LENGTH(pass)=6)ADD CONSTRAINT CK_IsRePortLoss CHECK(IsReportLoss IN (是,否)ADD CONSTRAINT FK_customerID FOREIGN KEY(customerID) REFERENCES userInfo(customerID)MODIFY(curType DEFAULT RMB)MODIFY(openDate DEFAULT sysdate)MODIFY(pass DEFAUL

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1