Oracle第16章基于Oracle数据库的应用开发_第1页
Oracle第16章基于Oracle数据库的应用开发_第2页
Oracle第16章基于Oracle数据库的应用开发_第3页
Oracle第16章基于Oracle数据库的应用开发_第4页
Oracle第16章基于Oracle数据库的应用开发_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、结构构及其约约束字段名数据类型长度约束说明classidNUMBER11主码学科类型编号classnameVARCHAR220NOT NULL学科类型名称demoVARCHAR2100说明BOOK_TYPE表表结构及及其约束束字段名数据类型长度约束说明typeidNUMBER11主码图书类型编号typenameVARCHAR220NOT NULL图书类型名称demoVARCHAR2100说明BOOK表结构构及其约约束字段名数据类型长度约束说明bookidNUMBER11主码书籍编号booknameVARCHAR220NOT NULL书籍名称author1VARCHAR220NOT NULL书籍

3、作者author2VARCHAR220书籍作者author3VARCHAR220书籍作者pubdateDATE出版日期publishVARCHAR230出版社photoVARCHAR2100图片地址abstractVARCHAR24000内容简介priceNUMBER7,2NOT NULL价格ISBNVARCHAR217NOT NULL书籍ISBN码bookclassNUMBER11外码学科类型booktypeNUMBER11外码藏书类型READER_TYPE表结结构及其其约束字段名数据类型长度约束说明typeidNUMBER11主码图书类型编号typenameVARCHAR220NOT NU

4、LL图书类型名称demoVARCHAR2100说明READER表表结构及及其约束束字段名数据类型长度约束说明readeridNUMBER11主码读者编号nameVARCHAR210NOT NULL读者姓名telephoneVARCHAR215联系电话emailVARCHAR230邮箱地址deptVARCHAR220所在院系rightNUMBER1取值为0或1借阅权限readertypeNUMBER11外码读者类型demoVARCHAR21000说明BORROW表表结构及及其约束束字段名数据类型长度约束说明readeridNUMBER11外码联合主码读者编号bookidNUMBER11外码图书编

5、号borrowdateDATE出借日期dueDATE应还日期last_dueDATE实际归还日期RULE表结构构及其约约束字段名数据类型长度约束说明booktypeNUMBER11外码联合主码藏书类型编号readertypeNUMBER11外码读者类型编号daysNUMBER5NOT NULL期限(天)numNUMBER5NOT NULL册数(本)renewNUMBER5NOT NULL续借次数(次)overtimeNUMBER5,2NOT NULL逾期处罚(元/册/天)ADMIN表结结构及其其约束字段名数据类型长度约束说明IdNUMBER11主码管理员编号usernameVARCHAR210

6、NOT NULL管理员账号passwordVARCHAR211NOT NULL账号密码PRECONCERT(预约约表)表表结构及及其约束束字段名数据类型长度约束说明readeridNUMBER11主码联合主码读者编号bookidNUMBER11主码图书编号predateDATE预约日期SEQ_READERS:产产生读者者编号,起始值值为10 000。SEQ_BOOKS:产生图图书编号号,起始始值为100。序列设计计视图设计计创建名为为“READER_BOOK_VIEW”的视图图,包括括读者信信息、所所借图书书信息及及借阅信信息。创建名为为“BOOK_TYPE_STAT_VIEW”的视图图,包括

7、括各类图图书的借借阅统计计信息。PL/SQL功能模块块设计创建一个个计算借借阅超期期天数的的存储过过程。创建一个个计算图图书应归归还日期期的函数数。创建一个个计算超超期罚款款的存储储过程。创建一个个触发器器,禁止止星期六六、星期期日以及及非工作作时间借借阅图书书操作。16.1.3图书管理理系统数数据库对对象创建建创建admin表CREATETABLEadmin(idNUMBER(11) PRIMARYKEY,usernameVARCHAR2(10)NOT NULL,pASswordVARCHAR2(11)NOT NULL);创建reader_type表CREATETABLEreader_typ

8、e(typeidNUMBER(11)PRIMARY KEY,typenameVARCHAR2(20)NOT NULL,demo VARCHAR2(100);创建reader表表CREATETABLEreader(readeridNUMBER(11) PRIMARYKEY,name VARCHAR2(10)NOTNULL,telephoneVARCHAR2(15),emailVARCHAR2(30),deptVARCHAR2(20),rightNUMBER(1)CHECK(right=0orright=1),readertype NUMBER(11)REFERENCESreader_type(t

9、ypeid),demo VARCHAR2(1000);创建book_type表表CREATETABLEbook_type(typeidNUMBER(11)PRIMARY KEY,typenameVARCHAR2(20)NOT NULL,demo VARCHAR2(100);创建book_class表CREATETABLEbook_class(clASsid NUMBER(11)PRIMARYKEY,clASsnameVARCHAR2(20) NOTNULL,demo VARCHAR2(100);创建book表CREATETABLEbook(bookidNUMBER(11)PRIMARY KEY

10、,booknameVARCHAR2(20)NOT NULL,author1 VARCHAR2(20)NOTNULL,author2 VARCHAR2(20),author3 VARCHAR2(20),pubDATE DATE,publishVARCHAR2(30),photoVARCHAR2(100),abstractVARCHAR2(4000),priceNUMBER(7,2)NOTNULL,isbn VARCHAR2(17)NOTNULL,bookclASsNUMBER(11)REFERENCES book_clASs(clASsid),booktypeNUMBER(11) REFEREN

11、CESbook_type(typeid);创建borrow表表CREATETABLEborrow(readeridNUMBER(11) REFERENCESreader(readerid),bookidNUMBER(11)REFERENCES book(bookid),borrowdate DATE,dueDATE,last_dueDATE,PRIMARY KEY(readerid,bookid);创建preconcert表CREATETABLEpreconcert(readeridNUMBER(11) REFERENCESreader(readerid),bookidNUMBER(11)RE

12、FERENCES book(bookid),predate DATE,PRIMARY KEY(readerid,bookid);创建rule表CREATETABLErule(booktypeNUMBER(11) REFERENCESbook_type(typeid),readertype NUMBER(11)REFERENCESreader_type(typeid),days NUMBER(5)NOTNULL,numNUMBER(5) NOTNULL,renewNUMBER(5)NOT NULL,overtimeNUMBER(5,2)NOTNULL,PRIMARY KEY(booktype,r

13、eadertype);序列的创创建CREATESEQUENCEseq_readerSTARTWITH 1INCREMENT BY 10000;CREATESEQUENCEseq_bookSTARTWITH1 INCREMENTBY100;创建视图图reader_book_viewCREATEORREPLACEVIEW reader_book_viewASSELECTname,bookname,borrowdate,due,last_dueFROM reader,book,borrowWHWERreader.readid=borrow.readidAND borrow.bookid=book.b

14、ookid;创建视图图book_type_stat_viewCREATEORREPLACEVIEW book_type_stat_viewASSELECTbooktype,COUNT(booktype)FROM (SELECTreaderid,borrow.booktype,Booktype,borrowdate,due,last_dueFROM borrow,bookWHEREbook.bookid=borrow.bookid)计算借阅阅超期天天数的存存储过程程CREATEORREPLACEPROCEDUREp_days_FROM_due(v_readerid NUMBER,v_bookid

15、NUMBER,v_days outNUMBER)ASBEGINSELECTdue sysdate INTOv_days FROMborrowWHEREreaderid=v_readerid ANDbookid=v_bookid;IFv_days=0THENv_day:=0;ENDIF;END;计算图书书应归还还日期的的函数CREATEORREPLACEFUNCTIONf_date_is_due(v_readerid NUMBER,v_bookidNUMBER)RETURNVARCHAR2ASv_booktype NUMBER;v_readertypeNUMBER;v_dateVARCHAR2(

16、10);BEGINSELECTbooktypeINTOv_booktype FROMbookWHEREbookid=v_bookid;SELECTreadertypeINTO v_readertypeFROM readerWHEREreaderid=v_readerid;SELECTto_char(sysdate+days, yyyy-mm-dd)INTOv_dateFROMruleWHEREreadertype=v_readertypeANDbooktype=v_booktype;RETURNv_date;END;计算超期期罚款的的存储过过程CREATEORREPLACEPROCEDUREp

17、_timeover_money(v_readerid NUMBER,v_bookidNUMBER,v_moneyOUT NUMBER)ASv_daysNUMBER;v_readertypeNUMBER;v_booktype NUMBER;BEGINp_days_from_due(v_readerid,v_bookid,v_days);SELECTbooktypeINTOv_booktype FROMbookWHEREbookid=v_bookid;SELECTreadertypeINTO v_readertypeFROM readerWHEREreaderid=v_readerid;SELEC

18、Tovertime*floor(abs(v_days) INTOv_moneyFROM ruleWHEREreadertype=v_readertypeANDbooktype=v_booktype;END;判断读者者可否进进行借阅阅的存储储过程CREATEORREPLACEPROCEDUREp_can_borrow(v_readerid NUMBER,v_bookidNUMBER,v_numOUT NUMBER)ASv_right NUMBER;v_borrowed_numNUMBER;v_rule_num NUMBER;BEGINSELECTrightINTOv_right FROMread

19、er WHERE readerid=v_readerid;v_borrowed_num:=f_borrowed_num(v_readerid,v_bookid);v_rule_num:=f_rule_num(v_readerid,v_bookid);IFv_right=1THENv_num:=0;ELSEv_num:=v_rule_num-v_borrowed_num;ENDIF;EXCEPTIONWHEN OTHERSTHENv_num:=0;END;16.2人事管理理系统开开发人事管理理系统介绍绍数据库设设计重要界面面的设计计与实现现主要代码码的实现现16.2.1人事管理理系统介介绍功能:

20、录录入人事事的基本本资料,在操作作上能够够完成诸诸如添加加、修改改、删除除、按各各种条件件进行查查询、新新用户的的设置及及密码修修改等方方面的工工作,基基本满足足人事日日常业务务的需要要。实用的/S结构,后后台Oracle数据库16.2.2数据库设设计员工员工编号姓名性别出生日期身份证号员工请假请假天数员工工资拥有1工资编号员工编号基本工资岗位工资出勤费拥有所属部门管理员编号姓名密码。 .管理管理管理11请假编号q111mnp员工编号员工基本本信息表表员工基本本信息表表主要描描述员工工的个人人情况,如姓名名、性别别、出生生日期、身份证证号、所所属部门门等,其其中员工工编号作作为员工工基本信信息

21、表的的主码。员工工资资信息表表员工工资资信息表表主要描描述每个个员工所所对应的的工资情情况,如如工资编编号、基基本工资资、岗位位工资、出勤费费等,其其中工资资编号作作为员工工工资信信息表的的主码。而其中中的员工工编号是是外码,它的取取值参照照于员工工基本信信息表的的主码取取值。同同时,每每名员工工均只有有一个工工资编号号和一个个员工编编号,即即员工实实体与员员工工资资实体之之间是一一对一的的联系。员工请假假信息表表员工请假假信息表表主要描描述每个个员工所所对应的的请假情情况,如如请假总总天数、请假开开始时间间、请假假结束时时间、请请假原因因等,其其中请假假编号作作为员工工请假信信息表的的主码。

22、而其中中的员工工编号是是外码,它参照照于员工工基本信信息表的的主码取取值。同同时,每每名员工工可以有有多次请请假记录录,即员员工实体体与员工工请假实实体之间间是一对对多的联联系。管理员表表管理员表表主要描描述本系系统中的的管理员员账户情情况,包包括编号号、管理理员名、密码,其中编编号作为为管理员员表的主主码。员工基本本信息表表(emp)字 段 名名 称类 型字 段 名名 称类 型empnum员工编号VARCHAR2(16)address地址VARCHAR2(40)empname姓名VARCHAR2(16)policy政治面貌NUMBERSex性别NUMBERphone电话VARCHAR2(16

23、)birthday出生日期DATEdegree学历NUMBERnation民族VARCHAR2(10)college毕业院校VARCHAR2(40)nativeplace户籍VARCHAR2(40)duty职务VARCHAR2(16)Ident身份证号VARCHAR2(16)title职称VARCHAR2(16)department所属部门VARCHAR2(16)sort在职类别NUMBERmarriage婚姻状况NUMBERremark备注VARCHAR2(400)员工工资资信息表表(pay)字 段 名名 称类 型字 段 名名 称类 型Id工资编号NUMBERtax个人所得税NUMBERem

24、pnum员工编号VARCHAR2(16)insure_shiye失业保险NUMBERbasepay基本工资NUMBERinsure_yanglao养老保险NUMBERPost岗位工资NUMBERinsure_yiliao医疗保险NUMBERworkprice出勤费NUMBERshouldpay应发工资NUMBERMess伙食补贴NUMBERshoulddeduct应扣工资NUMBERtraffic交通补贴NUMBERpay实发工资NUMBERPrice物价补贴NUMBER员工请假假信息表表leave)字 段 名名 称类 型字 段 名名 称类 型Id请假编号NUMBERleavepass请假批准人VARCHAR2(16)empnum员工编号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论