基于Oracle数据库的应用开发课件.ppt

上传人:小飞机 文档编号:3005262 上传时间:2023-03-08 格式:PPT 页数:51 大小:609.50KB
返回 下载 相关 举报
基于Oracle数据库的应用开发课件.ppt_第1页
第1页 / 共51页
基于Oracle数据库的应用开发课件.ppt_第2页
第2页 / 共51页
基于Oracle数据库的应用开发课件.ppt_第3页
第3页 / 共51页
基于Oracle数据库的应用开发课件.ppt_第4页
第4页 / 共51页
基于Oracle数据库的应用开发课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《基于Oracle数据库的应用开发课件.ppt》由会员分享,可在线阅读,更多相关《基于Oracle数据库的应用开发课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、第16 基于Oracle数据库的应用开发,本章内容,图书管理系统数据库设计与开发基于Oracle数据库的人事管理系统开发,本章要求,了解基于数据库的应用系统开发过程了解图书管理系统开发的过程与实现了解人事管理系统部分核心代码的实现,16.1图书管理系统数据库设计与开发,图书管理系统需求分析图书管理系统数据库对象设计图书管理系统数据库对象创建图书管理系统应用开发,16.1.1 图书管理系统需求分析,16.1.2 图书管理系统数据库对象设计,表设计序列设计视图设计PL/SQL功能模块设计,表设计,BOOK_CLASS表结构及其约束,BOOK_TYPE表结构及其约束,BOOK表结构及其约束,READ

2、ER_TYPE表结构及其约束,READER表结构及其约束,BORROW表结构及其约束,RULE表结构及其约束,ADMIN表结构及其约束,PRECONCERT(预约表)表结构及其约束,SEQ_READERS:产生读者编号,起始值为10 000。SEQ_BOOKS:产生图书编号,起始值为100。,序列设计,视图设计,创建名为“READER_BOOK_VIEW”的视图,包括读者信息、所借图书信息及借阅信息。创建名为“BOOK_TYPE_STAT_VIEW”的视图,包括各类图书的借阅统计信息。,PL/SQL功能模块设计,创建一个计算借阅超期天数的存储过程。创建一个计算图书应归还日期的函数。创建一个计算

3、超期罚款的存储过程。创建一个触发器,禁止星期六、星期日以及非工作时间借阅图书操作。,16.1.3 图书管理系统数据库对象创建,创建admin表CREATE TABLE admin(id NUMBER(11)PRIMARY KEY,username VARCHAR2(10)NOT NULL,pASsword VARCHAR2(11)NOT NULL);创建reader_type表CREATE TABLE reader_type(typeid NUMBER(11)PRIMARY KEY,typename VARCHAR2(20)NOT NULL,demo VARCHAR2(100);,创建read

4、er表CREATE TABLE reader(readerid NUMBER(11)PRIMARY KEY,name VARCHAR2(10)NOT NULL,telephone VARCHAR2(15),email VARCHAR2(30),dept VARCHAR2(20),right NUMBER(1)CHECK(right=0 or right=1),readertype NUMBER(11)REFERENCES reader_type(typeid),demo VARCHAR2(1000);,创建book_type表CREATE TABLE book_type(typeid NUMB

5、ER(11)PRIMARY KEY,typename VARCHAR2(20)NOT NULL,demo VARCHAR2(100);创建book_class表CREATE TABLE book_class(clASsid NUMBER(11)PRIMARY KEY,clASsname VARCHAR2(20)NOT NULL,demo VARCHAR2(100);,创建book表CREATE TABLE book(bookid NUMBER(11)PRIMARY KEY,bookname VARCHAR2(20)NOT NULL,author1 VARCHAR2(20)NOT NULL,au

6、thor2 VARCHAR2(20),author3 VARCHAR2(20),pubDATE DATE,publish VARCHAR2(30),photo VARCHAR2(100),abstract VARCHAR2(4000),price NUMBER(7,2)NOT NULL,isbn VARCHAR2(17)NOT NULL,bookclASs NUMBER(11)REFERENCES book_clASs(clASsid),booktype NUMBER(11)REFERENCES book_type(typeid);,创建borrow表CREATE TABLE borrow(r

7、eaderid NUMBER(11)REFERENCES reader(readerid),bookid NUMBER(11)REFERENCES book(bookid),borrowdate DATE,due DATE,last_due DATE,PRIMARY KEY(readerid,bookid);,创建preconcert表CREATE TABLE preconcert(readerid NUMBER(11)REFERENCES reader(readerid),bookid NUMBER(11)REFERENCES book(bookid),predate DATE,PRIMAR

8、Y KEY(readerid,bookid);,创建rule表CREATE TABLE rule(booktype NUMBER(11)REFERENCES book_type(typeid),readertype NUMBER(11)REFERENCES reader_type(typeid),days NUMBER(5)NOT NULL,num NUMBER(5)NOT NULL,renew NUMBER(5)NOT NULL,overtime NUMBER(5,2)NOT NULL,PRIMARY KEY(booktype,readertype);,序列的创建CREATE SEQUENC

9、E seq_reader START WITH 1 INCREMENT BY 10000;CREATE SEQUENCE seq_book START WITH 1 INCREMENT BY 100;,创建视图reader_book_viewCREATE OR REPLACE VIEW reader_book_viewASSELECT name,bookname,borrowdate,due,last_due FROM reader,book,borrow WHWER reader.readid=borrow.readid AND borrow.bookid=book.bookid;,创建视图

10、book_type_stat_viewCREATE OR REPLACE VIEW book_type_stat_viewASSELECT booktype,COUNT(booktype)FROM(SELECT readerid,borrow.booktype,Booktype,borrowdate,due,last_due FROM borrow,book WHERE book.bookid=borrow.bookid),计算借阅超期天数的存储过程CREATE OR REPLACE PROCEDURE p_days_FROM_due(v_readerid NUMBER,v_bookid NU

11、MBER,v_days out NUMBER)ASBEGINSELECT due sysdate INTO v_days FROM borrow WHERE readerid=v_readerid AND bookid=v_bookid;IF v_days=0 THEN v_day:=0;END IF;END;,计算图书应归还日期的函数CREATE OR REPLACE FUNCTION f_date_is_due(v_readerid NUMBER,v_bookid NUMBER)RETURN VARCHAR2ASv_booktype NUMBER;v_readertype NUMBER;v

12、_date VARCHAR2(10);BEGINSELECT booktype INTO v_booktype FROM book WHERE bookid=v_bookid;SELECT readertype INTO v_readertype FROM reader WHERE readerid=v_readerid;SELECT to_char(sysdate+days,yyyy-mm-dd)INTO v_date FROM rule WHERE readertype=v_readertype AND booktype=v_booktype;RETURN v_date;END;,计算超期

13、罚款的存储过程CREATE OR REPLACE PROCEDURE p_timeover_money(v_readerid NUMBER,v_bookid NUMBER,v_money OUT NUMBER)ASv_days NUMBER;v_readertype NUMBER;v_booktype NUMBER;BEGINp_days_from_due(v_readerid,v_bookid,v_days);SELECT booktype INTO v_booktype FROM book WHERE bookid=v_bookid;SELECT readertype INTO v_rea

14、dertype FROM reader WHERE readerid=v_readerid;SELECT overtime*floor(abs(v_days)INTO v_money FROM rule WHERE readertype=v_readertype AND booktype=v_booktype;END;,判断读者可否进行借阅的存储过程CREATE OR REPLACE PROCEDURE p_can_borrow(v_readerid NUMBER,v_bookid NUMBER,v_num OUT NUMBER)ASv_right NUMBER;v_borrowed_num

15、NUMBER;v_rule_num NUMBER;BEGINSELECT right INTO v_right FROM reader WHERE readerid=v_readerid;v_borrowed_num:=f_borrowed_num(v_readerid,v_bookid);v_rule_num:=f_rule_num(v_readerid,v_bookid);IF v_right=1 THEN v_num:=0;ELSEv_num:=v_rule_num-v_borrowed_num;END IF;EXCEPTION WHEN OTHERS THEN v_num:=0;END

16、;,16.2 人事管理系统开发,人事管理系统介绍数据库设计重要界面的设计与实现主要代码的实现,16.2.1人事管理系统介绍,功能:录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。实用的/S结构,后台Oracle数据库,16.2.2 数据库设计,员工基本信息表 员工基本信息表主要描述员工的个人情况,如姓名、性别、出生日期、身份证号、所属部门等,其中员工编号作为员工基本信息表的主码。员工工资信息表员工工资信息表主要描述每个员工所对应的工资情况,如工资编号、基本工资、岗位工资、出勤费等,其中工资编号作为员工

17、工资信息表的主码。而其中的员工编号是外码,它的取值参照于员工基本信息表的主码取值。同时,每名员工均只有一个工资编号和一个员工编号,即员工实体与员工工资实体之间是一对一的联系。,员工请假信息表员工请假信息表主要描述每个员工所对应的请假情况,如请假总天数、请假开始时间、请假结束时间、请假原因等,其中请假编号作为员工请假信息表的主码。而其中的员工编号是外码,它参照于员工基本信息表的主码取值。同时,每名员工可以有多次请假记录,即员工实体与员工请假实体之间是一对多的联系。管理员表管理员表主要描述本系统中的管理员账户情况,包括编号、管理员名、密码,其中编号作为管理员表的主码。,员工基本信息表(emp),员

18、工工资信息表(pay),员工请假信息表leave),管理员表(admin),16.2.3 重要界面的设计与实现,管理员登录界面增加人员基本信息查询人员基本信息员工请假信息员工工资信息维护与管理,管理员登录界面,人员信息添加界面,员工信息查询界面,员工请假信息添加界面,员工工资信息管理界面,16.2.4 主要代码的实现,系统采用JDBC的数据库连接 tryClass.forName(oracle.jdbc.driver.OracleDriver).newInstance();/加载数据库连接的驱动程序String url=jdbc:oracle:thin:localhost:1521:orcl;

19、/连接的字符串,其中orcl为你的数据库的SIDString user=scott;String password=tiger;Connection conn=DriverManager.getConnection(url,user,password);/与数据库建立连接Statement stmt=conn.createStatement();/产生Statement对象,用于执行SQL语句,员工工资信息管理代码显示员工信息添加员工的个人工资信息处理个人工资信息的添加,总结,数据库应用系统开发过程图书管理系统数据库的设计与实施 人力资源管理系统开发,5、世上最美好的事是:我已经长大,父母还未

20、老;我有能力报答,父母仍然健康。6、没什么可怕的,大家都一样,在试探中不断前行。7、时间就像一张网,你撒在哪里,你的收获就在哪里。纽扣第一颗就扣错了,可你扣到最后一颗才发现。有些事一开始就是错的,可只有到最后才不得不承认。8、世上的事,只要肯用心去学,没有一件是太晚的。要始终保持敬畏之心,对阳光,对美,对痛楚。9、别再去抱怨身边人善变,多懂一些道理,明白一些事理,毕竟每个人都是越活越现实。10、山有封顶,还有彼岸,慢慢长途,终有回转,余味苦涩,终有回甘。11、人生就像是一个马尔可夫链,你的未来取决于你当下正在做的事,而无关于过去做完的事。12、女人,要么有美貌,要么有智慧,如果两者你都不占绝对

21、优势,那你就选择善良。13、时间,抓住了就是黄金,虚度了就是流水。理想,努力了才叫梦想,放弃了那只是妄想。努力,虽然未必会收获,但放弃,就一定一无所获。14、一个人的知识,通过学习可以得到;一个人的成长,就必须通过磨练。若是自己没有尽力,就没有资格批评别人不用心。开口抱怨很容易,但是闭嘴努力的人更加值得尊敬。15、如果没有人为你遮风挡雨,那就学会自己披荆斩棘,面对一切,用倔强的骄傲,活出无人能及的精彩。5、人生每天都要笑,生活的下一秒发生什么,我们谁也不知道。所以,放下心里的纠结,放下脑中的烦恼,放下生活的不愉快,活在当下。人生喜怒哀乐,百般形态,不如在心里全部淡然处之,轻轻一笑,让心更自在,

22、生命更恒久。积极者相信只有推动自己才能推动世界,只要推动自己就能推动世界。6、人性本善,纯如清溪流水凝露莹烁。欲望与情绪如风沙袭扰,把原本如天空旷蔚蓝的心蒙蔽。但我知道,每个人的心灵深处,不管乌云密布还是阴淤苍茫,但依然有一道彩虹,亮丽于心中某处。7、每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方!8、不要活在别人眼中,更不要活在别人嘴中。世界不会因为你的抱怨不满而为你改变,你能做到的只有改变你自己!9、欲戴王冠,必承其重。哪有什么好命天赐,不都是一路披荆斩棘才换来的。10、放手如拔牙。牙被拔掉的那一刻,

23、你会觉得解脱。但舌头总会不由自主地往那个空空的牙洞里舔,一天数次。不痛了不代表你能完全无视,留下的那个空缺永远都在,偶尔甚至会异常挂念。适应是需要时间的,但牙总是要拔,因为太痛,所以终归还是要放手,随它去。11、这个世界其实很公平,你想要比别人强,你就必须去做别人不想做的事,你想要过更好的生活,你就必须去承受更多的困难,承受别人不能承受的压力。12、逆境给人宝贵的磨炼机会。只有经得起环境考验的人,才能算是真正的强者。自古以来的伟人,大多是抱着不屈不挠的精神,从逆境中挣扎奋斗过来的。13、不同的人生,有不同的幸福。去发现你所拥有幸运,少抱怨上苍的不公,把握属于自己的幸福。你,我,我们大家都可以经

24、历幸福的人生。14、给自己一份坚强,擦干眼泪;给自己一份自信,不卑不亢;给自己一份洒脱,悠然前行。轻轻品,静静藏。为了看阳光,我来到这世上;为了与阳光同行,我笑对忧伤。15、总不能流血就喊痛,怕黑就开灯,想念就联系,疲惫就放空,被孤立就讨好,脆弱就想家,不要被现在而蒙蔽双眼,终究是要长大,最漆黑的那段路终要自己走完。5、从来不跌倒不算光彩,每次跌倒后能再站起来,才是最大的荣耀。6、这个世界到处充满着不公平,我们能做的不仅仅是接受,还要试着做一些反抗。7、一个最困苦、最卑贱、最为命运所屈辱的人,只要还抱有希望,便无所怨惧。8、有些人,因为陪你走的时间长了,你便淡然了,其实是他们给你撑起了生命的天空;有些人,分开了,就忘了吧,残缺是一种大美。9、照自己的意思去理解自己,不要小看自己,被别人的意见引入歧途。10、没人能让我输,除非我不想赢!11、花开不是为了花落,而是为了开的更加灿烂。12、随随便便浪费的时间,再也不能赢回来。13、不管从什么时候开始,重要的是开始以后不要停止;不管在什么时候结束,重要的是结束以后不要后悔。14、当你决定坚持一件事情,全世界都会为你让路。15、只有在开水里,茶叶才能展开生命浓郁的香气。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号