资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第16基于Oracle数据库的应用开发 本章内容 图书管理系统数据库设计与开发基于Oracle数据库的人事管理系统开发 本章要求 了解基于数据库的应用系统开发过程了解图书管理系统开发的过程与实现了解人事管理系统部分核心代码的实现 16 1图书管理系统数据库设计与开发 图书管理系统需求分析图书管理系统数据库对象设计图书管理系统数据库对象创建图书管理系统应用开发 16 1 1图书管理系统需求分析 16 1 2图书管理系统数据库对象设计 表设计序列设计视图设计PL SQL功能模块设计 表设计 BOOK CLASS表结构及其约束 BOOK TYPE表结构及其约束 BOOK表结构及其约束 READER TYPE表结构及其约束 READER表结构及其约束 BORROW表结构及其约束 RULE表结构及其约束 ADMIN表结构及其约束 PRECONCERT 预约表 表结构及其约束 SEQ READERS 产生读者编号 起始值为10000 SEQ BOOKS 产生图书编号 起始值为100 序列设计 视图设计 创建名为 READER BOOK VIEW 的视图 包括读者信息 所借图书信息及借阅信息 创建名为 BOOK TYPE STAT VIEW 的视图 包括各类图书的借阅统计信息 PL SQL功能模块设计 创建一个计算借阅超期天数的存储过程 创建一个计算图书应归还日期的函数 创建一个计算超期罚款的存储过程 创建一个触发器 禁止星期六 星期日以及非工作时间借阅图书操作 16 1 3图书管理系统数据库对象创建 创建admin表CREATETABLEadmin idNUMBER 11 PRIMARYKEY usernameVARCHAR2 10 NOTNULL pASswordVARCHAR2 11 NOTNULL 创建reader type表CREATETABLEreader type typeidNUMBER 11 PRIMARYKEY typenameVARCHAR2 20 NOTNULL demoVARCHAR2 100 创建reader表CREATETABLEreader readeridNUMBER 11 PRIMARYKEY nameVARCHAR2 10 NOTNULL telephoneVARCHAR2 15 emailVARCHAR2 30 deptVARCHAR2 20 rightNUMBER 1 CHECK right 0orright 1 readertypeNUMBER 11 REFERENCESreader type typeid demoVARCHAR2 1000 创建book type表CREATETABLEbook type typeidNUMBER 11 PRIMARYKEY typenameVARCHAR2 20 NOTNULL demoVARCHAR2 100 创建book class表CREATETABLEbook class clASsidNUMBER 11 PRIMARYKEY clASsnameVARCHAR2 20 NOTNULL demoVARCHAR2 100 创建book表CREATETABLEbook bookidNUMBER 11 PRIMARYKEY booknameVARCHAR2 20 NOTNULL author1VARCHAR2 20 NOTNULL author2VARCHAR2 20 author3VARCHAR2 20 pubDATEDATE publishVARCHAR2 30 photoVARCHAR2 100 abstractVARCHAR2 4000 priceNUMBER 7 2 NOTNULL isbnVARCHAR2 17 NOTNULL bookclASsNUMBER 11 REFERENCESbook clASs clASsid booktypeNUMBER 11 REFERENCESbook type typeid 创建borrow表CREATETABLEborrow readeridNUMBER 11 REFERENCESreader readerid bookidNUMBER 11 REFERENCESbook bookid borrowdateDATE dueDATE last dueDATE PRIMARYKEY readerid bookid 创建preconcert表CREATETABLEpreconcert readeridNUMBER 11 REFERENCESreader readerid bookidNUMBER 11 REFERENCESbook bookid predateDATE PRIMARYKEY readerid bookid 创建rule表CREATETABLErule booktypeNUMBER 11 REFERENCESbook type typeid readertypeNUMBER 11 REFERENCESreader type typeid daysNUMBER 5 NOTNULL numNUMBER 5 NOTNULL renewNUMBER 5 NOTNULL overtimeNUMBER 5 2 NOTNULL PRIMARYKEY booktype readertype 序列的创建CREATESEQUENCEseq readerSTARTWITH1INCREMENTBY10000 CREATESEQUENCEseq bookSTARTWITH1INCREMENTBY100 创建视图reader book viewCREATEORREPLACEVIEWreader book viewASSELECTname bookname borrowdate due last dueFROMreader book borrowWHWERreader readid borrow readidANDborrow bookid book bookid 创建视图book type stat viewCREATEORREPLACEVIEWbook type stat viewASSELECTbooktype COUNT booktype FROM SELECTreaderid borrow booktype Booktype borrowdate due last dueFROMborrow bookWHEREbook bookid borrow bookid 计算借阅超期天数的存储过程CREATEORREPLACEPROCEDUREp days FROM due v readeridNUMBER v bookidNUMBER v daysoutNUMBER ASBEGINSELECTdue sysdateINTOv daysFROMborrowWHEREreaderid v readeridANDbookid v bookid IFv days 0THENv day 0 ENDIF END 计算图书应归还日期的函数CREATEORREPLACEFUNCTIONf date is due v readeridNUMBER v bookidNUMBER RETURNVARCHAR2ASv booktypeNUMBER v readertypeNUMBER v dateVARCHAR2 10 BEGINSELECTbooktypeINTOv booktypeFROMbookWHEREbookid v bookid SELECTreadertypeINTOv readertypeFROMreaderWHEREreaderid v readerid SELECTto char sysdate days yyyy mm dd INTOv dateFROMruleWHEREreadertype v readertypeANDbooktype v booktype RETURNv date END 计算超期罚款的存储过程CREATEORREPLACEPROCEDUREp timeover money v readeridNUMBER v bookidNUMBER v moneyOUTNUMBER ASv daysNUMBER v readertypeNUMBER v booktypeNUMBER BEGINp days from due v readerid v bookid v days SELECTbooktypeINTOv booktypeFROMbookWHEREbookid v bookid SELECTreadertypeINTOv readertypeFROMreaderWHEREreaderid v readerid SELECTovertime floor abs v days INTOv moneyFROMruleWHEREreadertype v readertypeANDbooktype v booktype END 判断读者可否进行借阅的存储过程CREATEORREPLACEPROCEDUREp can borrow v readeridNUMBER v bookidNUMBER v numOUTNUMBER ASv rightNUMBER v borrowed numNUMBER v rule numNUMBER BEGINSELECTrightINTOv rightFROMreaderWHEREreaderid 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 EXCEPTIONWHENOTHERSTHENv num 0 END 16 2人事管理系统开发 人事管理系统介绍数据库设计重要界面的设计与实现主要代码的实现 16 2 1人事管理系统介绍 功能 录入人事的基本资料 在操作上能够完成诸如添加 修改 删除 按各种条件进行查询 新用户的设置及密码修改等方面的工作 基本满足人事日常业务的需要 实用的 S结构 后台Oracle数据库 16 2 2数据库设计 员工基本信息表员工基本信息表主要描述员工的个人情况 如姓名 性别 出生日期 身份证号 所属部门等 其中员工编号作为员工基本信息表的主码 员工工资信息表员工工资信息表主要描述每个员工所对应的工资情况 如工资编号 基本工资 岗位工资 出勤费等 其中工资编号作为员工工资信息表的主码 而其中的员工编号是外码 它的取值参照于员工基本信息表的主码取值 同时 每名员工均只有一个工资编号和一个员工编号 即员工实体与员工工资实体之间是一对一的联系 员工请假信息表员工请假信息表主要描述每个员工所对应的请假情况 如请假总天数 请假开始时间 请假结束时间 请假原因等 其中请假编号作为员工请假信息表的主码 而其中的员工编号是外码 它参照于员工基本信息表的主码取值 同时 每名员工可以有多次请假记录 即员工实体与员工请假实体之间是一对多的联系 管理员表管理员表主要描述本系统中的管理员账户情况 包括编号 管理员名 密码 其中编号作为管理员表的主码 员工基本信息表 emp 员工工资信息表 pay 员工请假信息表leave 管理员表 admin 16 2 3重要界面的设计与实现 管理员登录界面增加人员基本信息查询人员基本信息员工请假信息员工工资信息维护与管理 管理员登录界面 人员信息添加界面 员工信息查询界面 员工请假信息添加界面 员工工资信息管理界面 16 2 4主要代码的实现 系统采用JDBC的数据库连接try Class forName oracle jdbc driver OracleD
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号