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

提交評論