【正文】
key,OrderMan varchar2(10) not null, OrderBID varchar2(10) not null, OrderNum number, Phone varchar2(20), foreign key(OrderBID) references Book(BID) )。/*租書(shū)信息表*/create table RentForm(RFormNum varchar2(10) primary key,RentMan varchar2(10) not null, RentTime date, RentBID varchar2(10) not null, Return date, RentMoney float check(RentMoney=), Money float ,foreign key(RentBID) references Book(BID) )。/*退書(shū)信息表*/ create table RForm(RBID varchar2(10) primary key,RNum number, RTime date, foreign key(RBID) references Book(BID))。 /*入庫(kù)信息表*/create table InForm(InFormNum varchar2(10) primary key,InBID varchar2(10) not null, DTime date, DNum number, foreign key(InBID) references Book(BID))。/*出庫(kù)信息表*/create table OutForm(OFormNum varchar2(10) primary key,OBID varchar2(10) not null, OutNum varchar2(10), OutTime date, foreign key(OBID) references Book(BID))。視圖的創(chuàng)建:/*會(huì)員購(gòu)書(shū)情況視圖*/create view credit_VIPBuyer(VIPID,Sum_BuyNum)as select VIPID,Sum(BuyNum)from VIP, BuyFormwhere =group by VIPID。/*圖書(shū)庫(kù)存視圖*/create view credit_BookStore(BID,InNum,OutNum,Num)as select InBID,InNum,OutNum,InNumOutNumfrom InForm,OutFormwhere InBID=OBID。索引的創(chuàng)建create unique index p_supname on Supplier(SupName)。create unique index p_VIPname on VIP(VIPname)。存儲(chǔ)過(guò)程的創(chuàng)建:/*圖書(shū)信息查詢(xún)*/create or replace procedure SelectBook(h in %type, a out %type,b out %type,c out %type,d out %type,e out %type)isbegin select ,Bclass,Bprice,Bdate, into a,b,c,d,e from Book,credit_BookStore where = and =h。end。/*插入出版社信息*/create or replace procedure SupplierAdd(a %type,b %type,c %type,d %type) isbegin insert into Supplier values(a,b,c,d)。 mit。end SupplierAdd。/*刪除讀者訂單信息*/create or replace procedure DeleteOrderForm (a %type) isbegin delete from OrderForm where Oformnum=a。 mit。end DeleteOrderForm。/*書(shū)籍歸還*/create or replace procedure rent(a in %type,b in %type) isbeginupdate RentFormset Money=(bRentTime)*where =a。mit。update RentFormset Return=bwhere =a。mit。end rent。/*會(huì)員折扣更新*/create or replace procedure vipc (a in %type,b in %type)isbegin update vip set vipchange= where vipid=a and b=50。 mit。 update vip set vipscore=b where vipid=a and b=50。 mit。end vipc。觸發(fā)器的創(chuàng)建:/*折扣與積分措施*/create or replace trigger change before insert on buyform for each rowdeclare a %type。 b %type。 c %type。 d %type。begin select ,: into a,c from book where =:。 select into b from vip where vipid=:。 if(:=39。否39。)then ::=a*c*。 elsif(:39。否39。)then ::=a*b*c。 end if。 select : into d from vip where vipid=:。 update vip set vipscore=+d/10 where =:。end change。附錄4 數(shù)據(jù)錄入:書(shū)店會(huì)員出版社訂書(shū)單購(gòu)書(shū)單租書(shū)單退書(shū)單入庫(kù)單出庫(kù)單附錄5數(shù)據(jù)庫(kù)測(cè)試: 索引的測(cè)試檢驗(yàn):視圖的測(cè)試驗(yàn)證:存儲(chǔ)過(guò)程的測(cè)試驗(yàn)證:/*圖書(shū)信息查詢(xún)*/declare h %type:=39。莫言文集39。 a %type。 b %type。 c %type。 d %type。 e %type。begin SelectBook(h,a,b,c,d,e)。 (h||39。 39。||a||39。 39。||b||39。 39。||c||39。 39。||d||39。 39。||e)。end。/*插入出版社信息*/declare a %type:=39。6453453339。 b %type:=39。上海出版社39。 c %type:=39。上海39。 d %type:=39。7542631839。 begin SupplierAdd(a,b,c,d)。 end。 /*刪除讀者訂單信息*/declare a %type:=39。O00139。 begin DeleteOrderForm(a)。 mit。 end。/*書(shū)籍歸還*/declare a %type:=39。涂倩39。 b %type:=to_date(39。2012111839。,39。yyyymmdd39。)。 begin rent(a,b)。 mit。 end。/*會(huì)員折扣更新*/declare a %type:=39。23339。 b %type:=58。 begin vipc(a,b)。 mit。 end。觸發(fā)器的檢驗(yàn):/*折扣與積分措施*/insert into BuyForm(Buyformnum,Buybid,Buynum,Buyday,Ifvip) values(39。B020439。,39。537853439。,1,to_date(39。2012011539。,39。yyyymmdd39。),39。25039。)。 mit。34