電 話(huà):18937133779
網(wǎng) 址:http://oaoy.cn
郵 箱:zboao@qq.com
可以私信我或者pp 125819398
雖然不想打擊你,但是用js無(wú)法實(shí)現(xiàn)你要求的功能,而且如果沒(méi)有基礎(chǔ)想學(xué)習(xí)起來(lái)代價(jià)比較大
js只是產(chǎn)生一些瀏覽器的效果,如果要保存數(shù)據(jù)還需要用到數(shù)據(jù)庫(kù),以及服務(wù)器端語(yǔ)言
推薦學(xué)習(xí)網(wǎng)站w3school,推薦書(shū)籍:忘了.....搜下php 圣經(jīng) 書(shū)名大概叫php與mysql編程什么的
create database 圖書(shū)管理
go
use 圖書(shū)管理
-- 圖書(shū)管理系統(tǒng)題庫(kù)
-- 本題庫(kù)所有題目都基于該處定義數(shù)據(jù)庫(kù):圖書(shū)管理。該數(shù)據(jù)庫(kù)中包括三個(gè)數(shù)據(jù)表,每個(gè)表的邏輯結(jié)構(gòu)如下說(shuō)明:
-- ①讀者信息:
-- 借書(shū)證號(hào) char(8) 非空,姓名 nvarchar(10)唯一,
-- 性別 nchar(1),出生日期 datetime,專(zhuān)業(yè)名稱(chēng) nvarchar(20)。
-- ②圖書(shū)信息:
-- 圖書(shū)編號(hào):char(8)非空,圖書(shū)名稱(chēng) nvarchar(20) 唯一,
-- 作者 nvarchar(10),出版社 nvarchar(20),
-- ISBN char(13),價(jià)格 decimal(5,2),
-- 復(fù)本數(shù) tinyint,庫(kù)存量 tinyint。
-- ③借閱信息:
-- 借書(shū)證號(hào) 參照“學(xué)生信息”表“借書(shū)證號(hào)”字段取值,
-- 圖書(shū)編號(hào) 參照“圖書(shū)信息”表“圖書(shū)編號(hào)”字段取值,
-- 借書(shū)時(shí)間 datetime,
-- 還書(shū)時(shí)間 datetime。
-- 一、數(shù)據(jù)庫(kù)表的創(chuàng)建
--1.請(qǐng)用SQL數(shù)據(jù)定義語(yǔ)句定義讀者信息表。
create table 讀者信息
(
借書(shū)證號(hào) char(8) not null,
姓名 nvarchar(10) unique,
性別 nchar(1),
出生日期 datetime,
專(zhuān)業(yè)名稱(chēng) nvarchar(20)
)
--2.請(qǐng)用SQL數(shù)據(jù)定義語(yǔ)句定義圖書(shū)信息表。
create table 圖書(shū)信息
(
圖書(shū)編號(hào) char(8) not null,
圖書(shū)名稱(chēng) nvarchar(20) unique,
作者 nvarchar(10),
出版社 nvarchar(20),
ISBN char(13),
價(jià)格 decimal(5,2),
復(fù)本數(shù) tinyint,
庫(kù)存量 tinyint
)
--3.請(qǐng)用SQL數(shù)據(jù)定義語(yǔ)句定義信閱信息表。
create table 借閱信息
(
借書(shū)證號(hào) char(8) not null,
圖書(shū)編號(hào) char(8) not null,
借書(shū)時(shí)間 datetime,
還書(shū)時(shí)間 datetime
)
--二、表約束的創(chuàng)建
--1.為讀者信息表聲明主碼:將借書(shū)證號(hào)字段設(shè)置為讀者信息表的主鍵。
alter table 讀者信息
add constraint pk_借書(shū)證號(hào) primary key (借書(shū)證號(hào))
--2.為借閱信息表聲明主碼:將(借書(shū)證號(hào),圖書(shū)編號(hào))聯(lián)合字段設(shè)置為借閱信息表的主鍵。
alter table 借閱信息
add constraint pk_借書(shū)證號(hào)_圖書(shū)編號(hào) primary key (借書(shū)證號(hào),圖書(shū)編號(hào))
--3.為圖書(shū)信息表聲明主碼:將圖書(shū)編號(hào)字段設(shè)置為圖書(shū)信息表的主鍵。
alter table 圖書(shū)信息
add constraint pk_圖書(shū)編號(hào) primary key (圖書(shū)編號(hào))
--4.為借閱信息表聲明外碼:借書(shū)證號(hào) 參照“讀者信息”表“借書(shū)證號(hào)”字段。
alter table 借閱信息
add constraint fk_借書(shū)證號(hào) foreign key (借書(shū)證號(hào)) references 讀者信息(借書(shū)證號(hào))
--5.為借閱信息表聲明外碼:圖書(shū)編號(hào) 參照“圖書(shū)信息”表“圖書(shū)編號(hào)”字段。
alter table 借閱信息
add constraint fk_圖書(shū)編號(hào) foreign key (圖書(shū)編號(hào)) references 圖書(shū)信息(圖書(shū)編號(hào))
--6.為圖書(shū)信息表設(shè)置約束:圖書(shū)的庫(kù)存量小于等于圖書(shū)的復(fù)本數(shù)量。
alter table 圖書(shū)信息
add constraint ck_庫(kù)存量 check (庫(kù)存量 <= 復(fù)本數(shù))
--7.為借閱信息表設(shè)置約束:圖書(shū)的借書(shū)時(shí)間小于等于還書(shū)時(shí)間。
alter table 借閱信息
add constraint ck_借書(shū)時(shí)間 check (借書(shū)時(shí)間 <= 還書(shū)時(shí)間)
--8.為圖書(shū)信息表設(shè)置約束:圖書(shū)的價(jià)格大于0。
alter table 圖書(shū)信息
add constraint ck_圖書(shū)價(jià)格 check (價(jià)格>0)
--9.為讀者信息表設(shè)置約束: 性別只能為“男”和“女”。
alter table 讀者信息
add constraint ck_性別 check (性別 in ('男','女'))
--10.為讀者信息表設(shè)置約束:出生日期介于1980-9-1~1995-9-1。
alter table 讀者信息
add constraint ck_出生日期 check (出生日期 between '1980-9-1' and '1995-9-1')
--11.為讀者信息表設(shè)置約束:將性別字段的默認(rèn)值設(shè)置為“女”。
alter table 讀者信息
add constraint dk_性別 default '女' for 性別
--12.為圖書(shū)信息表設(shè)置約束:將出版社字段的默認(rèn)值設(shè)置為“清華大學(xué)出版社”。
alter table 圖書(shū)信息
add constraint dk_出版社 default '清華大學(xué)出版社' for 出版社
--13. 為圖書(shū)信息表設(shè)置約束:將庫(kù)存量字段的默認(rèn)值設(shè)置為0。
alter table 圖書(shū)信息
add constraint dk_庫(kù)存量 default 0 for 庫(kù)存量
--14. 為圖書(shū)信息表設(shè)置約束:將復(fù)本數(shù)字段的默認(rèn)值設(shè)置為0。
alter table 圖書(shū)信息
add constraint dk_復(fù)本數(shù) default 0 for 復(fù)本數(shù)
--三、數(shù)據(jù)查詢(xún)和視圖的創(chuàng)建
-- 為方便數(shù)據(jù)查詢(xún),現(xiàn)將本試題涉及的3個(gè)表的基本數(shù)據(jù)列示如下:
--表1:讀者信息表
-- 借書(shū)證號(hào) 姓名 性別 出生日期 專(zhuān)業(yè)名稱(chēng)
-- XS000001 王琳琳 女 1990-03-14 政法系
-- XS000002 江軍 男 1989-04-21 計(jì)算機(jī)系
-- JS000001 沈俊逸 男 1991-01-03 計(jì)算機(jī)系
-- JS000002 趙妞 女 1990-05-12 計(jì)算機(jī)系
insert into 讀者信息 (借書(shū)證號(hào),姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng))
values ('XS000001','王琳琳','女','1990-03-14','政法系')
insert into 讀者信息 (借書(shū)證號(hào),姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng))
values ('XS000002','江軍','男','1989-04-21','計(jì)算機(jī)系')
insert into 讀者信息 (借書(shū)證號(hào),姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng))
values ('JS000001','沈俊逸','男','1991-01-03','計(jì)算機(jī)系')
insert into 讀者信息 (借書(shū)證號(hào),姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng))
values ('JS000002','趙妞','女','1990-05-12','計(jì)算機(jī)系')
--表2:圖書(shū)信息表
-- 圖書(shū)編號(hào) 圖書(shū)名稱(chēng) 作者 出版社 ISBN 價(jià)格 復(fù)本數(shù) 庫(kù)存量
-- A08001 C#程序設(shè)計(jì) 譚浩強(qiáng) 清華大學(xué)出版社 7-111-06359-7 28 10 7
-- A08002 大型數(shù)據(jù)庫(kù) 李坤侖 電子工業(yè)出版社 7-113-04908-7 37 20 19
-- A08003 電子商務(wù) 鄭強(qiáng) 清華大學(xué)出版社 7-115-07715-0 20 15 14
insert into 圖書(shū)信息 (圖書(shū)編號(hào),圖書(shū)名稱(chēng),作者,出版社,ISBN,價(jià)格,復(fù)本數(shù),庫(kù)存量)
values ('A08001','C#程序設(shè)計(jì)','譚浩強(qiáng)','清華大學(xué)出版社','7-111-06359-7',28,10,7)
insert into 圖書(shū)信息 (圖書(shū)編號(hào),圖書(shū)名稱(chēng),作者,出版社,ISBN,價(jià)格,復(fù)本數(shù),庫(kù)存量)
values ('A08002','大型數(shù)據(jù)庫(kù)','李坤侖','電子工業(yè)出版社','7-113-04908-7',37,20,19)
insert into 圖書(shū)信息 (圖書(shū)編號(hào),圖書(shū)名稱(chēng),作者,出版社,ISBN,價(jià)格,復(fù)本數(shù),庫(kù)存量)
values ('A08003','電子商務(wù)','鄭強(qiáng)','清華大學(xué)出版社','7-115-07715-0',20,15,14)
--表3:借閱信息表
-- 借書(shū)證號(hào) 圖書(shū)編號(hào) 借書(shū)時(shí)間 還書(shū)時(shí)間
-- XS000001 A08001 2009-04-13
-- XS000001 A08002 2009-04-13
-- XS000001 A08003 2009-04-13
-- JS000001 A08001 2009-05-01
-- JS000002 A08001 2009-04-23
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('XS000001','A08001','2009-04-13')
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('XS000001','A08002','2009-04-13')
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('XS000001','A08003','2009-04-13')
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('JS000001','A08001','2009-05-01')
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('JS000002','A08001','2009-04-23')
--1.列示讀者信息表中前3條讀者的基本信息。
select top 3 * from 讀者信息
--2.列示讀者信息表中讀者的借書(shū)證號(hào)、姓名、出生日期字段的基本信息。
select 借書(shū)證號(hào),姓名,出生日期 from 讀者信息
--3.列示讀者信息表中讀者的姓名和年齡字段的基本信息。
select 姓名,datediff("yyyy",出生日期,getdate()) as 年齡
from 讀者信息
--4.列示讀者信息表中“計(jì)算機(jī)系”的女讀者的基本信息。
select * from 讀者信息
where 專(zhuān)業(yè)名稱(chēng) = '計(jì)算機(jī)系' and 性別 = '女'
--5.列示讀者信息表中姓“趙”的讀者信息。
select *
from 讀者信息
where left(姓名,1)='趙'
select *
from 讀者信息
where 姓名 like '趙%'
--6.列示姓名中帶“軍”字的讀者的所有信息。
select *
from 讀者信息
where charindex('軍',姓名) != 0
--7.列示清華大學(xué)出版社出版的圖書(shū)的基本信息。
select *
from 圖書(shū)信息
where 出版社 = '清華大學(xué)出版社'
--8.列示所有圖書(shū)的信息,且按“圖書(shū)編號(hào)”降序排列。
select *
from 圖書(shū)信息
order by 圖書(shū)編號(hào) desc
--9.列示所有讀者的借閱信息,且按“借書(shū)時(shí)間”升序排列。
select * from 借閱信息
order by 借書(shū)時(shí)間
--10 列示出借書(shū)證號(hào)為“XS000001”的讀者所借閱圖書(shū)的圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、借書(shū)時(shí)間、還書(shū)時(shí)間等信息。
-- 并按照庫(kù)存量降序排列
select 圖書(shū)信息.圖書(shū)編號(hào),圖書(shū)名稱(chēng),借書(shū)時(shí)間,還書(shū)時(shí)間
from 圖書(shū)信息 inner join 借閱信息 on 圖書(shū)信息.圖書(shū)編號(hào) = 借閱信息.圖書(shū)編號(hào)
where 借書(shū)證號(hào) = 'XS000001'
order by 庫(kù)存量 desc
--11 列示出借閱了圖書(shū)編號(hào)為‘A08001’的讀者的借書(shū)證號(hào)、讀者姓名、性別、出生日期,
-- 并且按照‘借書(shū)證號(hào)’降序排列。
select 讀者信息.借書(shū)證號(hào),姓名,性別,出生日期
from 讀者信息 inner join 借閱信息 on 讀者信息.借書(shū)證號(hào) = 借閱信息.借書(shū)證號(hào)
where 圖書(shū)編號(hào) = 'A08001'
order by 借書(shū)證號(hào) desc
--12.列示所有的圖書(shū)信息,并按庫(kù)存量降序排列。
select * from 圖書(shū)信息
order by 庫(kù)存量 desc
--13.統(tǒng)計(jì)并列示每個(gè)讀者的借書(shū)證號(hào)、姓名以及借閱書(shū)籍的數(shù)量。
select 讀者信息.借書(shū)證號(hào),姓名,count(*) as 圖書(shū)借閱數(shù)量
from 讀者信息 inner join 借閱信息 on 讀者信息.借書(shū)證號(hào) = 借閱信息.借書(shū)證號(hào)
group by 讀者信息.借書(shū)證號(hào),姓名
--14.統(tǒng)計(jì)并列示每個(gè)專(zhuān)業(yè)的總?cè)藬?shù)及專(zhuān)業(yè)名稱(chēng)。
select 專(zhuān)業(yè)名稱(chēng),count(*) as 總?cè)藬?shù)
from 讀者信息
group by 專(zhuān)業(yè)名稱(chēng)
--15.統(tǒng)計(jì)并列示每本圖書(shū)的圖書(shū)編號(hào)、圖書(shū)名稱(chēng)以及借閱了該圖書(shū)的人數(shù)。
select 圖書(shū)信息.圖書(shū)編號(hào),圖書(shū)名稱(chēng),count(*) as 借閱人數(shù)
from 圖書(shū)信息 inner join 借閱信息 on 圖書(shū)信息.圖書(shū)編號(hào) = 借閱信息.圖書(shū)編號(hào)
group by 圖書(shū)信息.圖書(shū)編號(hào),圖書(shū)名稱(chēng)
--16.列示讀者信息表中不在1990年出生的讀者的借書(shū)證號(hào),姓名,性別,出生日期。
select 借書(shū)證號(hào),姓名,性別,出生日期
from 讀者信息
where 出生日期 not between '1990-1-1' and '1990-12-31'
--17.列示圖書(shū)信息表中價(jià)格在20-30之間且?guī)齑媪坎辉?0-20之間的圖書(shū)書(shū)名,作者,出版社,庫(kù)存量.
select 圖書(shū)名稱(chēng),作者,出版社,庫(kù)存量
from 圖書(shū)信息
where 價(jià)格 between 20 and 30 and 庫(kù)存量 not between 10 and 20
--18.列示圖書(shū)信息表中價(jià)格最高的前兩本書(shū)的圖書(shū)書(shū)名,出版社,價(jià)格。
select top 2 圖書(shū)名稱(chēng),出版社,價(jià)格 from 圖書(shū)信息 order by 價(jià)格 desc
--19.列示圖書(shū)信息表中“清華大學(xué)出版社”的圖書(shū)名稱(chēng)、價(jià)格、庫(kù)存量,按價(jià)格進(jìn)行降序排列,價(jià)格相等的按庫(kù)存量升序排列。
select 圖書(shū)名稱(chēng),價(jià)格,庫(kù)存量 from 圖書(shū)信息 where 出版社='清華大學(xué)出版社' order by 價(jià)格 desc,庫(kù)存量 asc
--20.查詢(xún)圖書(shū)信息表中“清華大學(xué)出版社”圖書(shū)的平均價(jià)格,將標(biāo)題改為“平均價(jià)格”。
select avg(價(jià)格) as '平均價(jià)格' from 圖書(shū)信息 where 出版社='清華大學(xué)出版社'
--21.列示圖書(shū)信息表中圖書(shū)總冊(cè)數(shù)和庫(kù)存總冊(cè)數(shù)。
select sum(復(fù)本數(shù)) as '圖書(shū)總冊(cè)數(shù)',sum(庫(kù)存量) as '庫(kù)存總冊(cè)數(shù)' from 圖書(shū)信息
--22.列示圖書(shū)信息表中圖書(shū)價(jià)格最高的圖書(shū)名稱(chēng)和價(jià)格,和圖書(shū)價(jià)格最低的圖書(shū)名稱(chēng)和價(jià)格。
select 圖書(shū)名稱(chēng),價(jià)格 from 圖書(shū)信息 where 價(jià)格=(select max(價(jià)格) from 圖書(shū)信息)
union
select 圖書(shū)名稱(chēng),價(jià)格 from 圖書(shū)信息 where 價(jià)格=(select min(價(jià)格) from 圖書(shū)信息)
--23.統(tǒng)計(jì)讀者信息表中讀者的總數(shù)。
select count(借書(shū)證號(hào)) from 讀者信息
--24.統(tǒng)計(jì)借閱信息表中借閱了圖書(shū)的學(xué)生數(shù)。
select count(distinct 借書(shū)證號(hào)) as '借書(shū)的人數(shù)' from 借閱信息
--25.統(tǒng)計(jì)借閱信息表中被借閱圖書(shū)的圖書(shū)編號(hào)和借閱該圖書(shū)的人數(shù)。
select 圖書(shū)編號(hào),count(借書(shū)證號(hào)) from 借閱信息 group by 圖書(shū)編號(hào)
--26.列示圖書(shū)信息表中每個(gè)出版社圖書(shū)的平均價(jià)格,總復(fù)本數(shù),并按總復(fù)本數(shù)升序顯示平均價(jià)格小于50的出版社、平均價(jià)格、總復(fù)本數(shù)。
select 出版社 ,avg(價(jià)格) as '平均價(jià)格',sum(復(fù)本數(shù)) as '總復(fù)本數(shù)'
from 圖書(shū)信息
group by 出版社
having avg(價(jià)格)<50
--27.列示出讀者信息表中與“江軍”在同一個(gè)專(zhuān)業(yè)的讀者的借書(shū)證號(hào),姓名,性別,出生日期。
select 借書(shū)證號(hào),姓名,性別,出生日期
from 讀者信息
where 專(zhuān)業(yè)名稱(chēng) in(select 專(zhuān)業(yè)名稱(chēng) from 讀者信息 where 姓名='江軍')
--28.列示出年齡大于所有學(xué)生平均年齡的讀者信息。
select * from 讀者信息 where datediff("yyyy",出生日期,getdate())
>(select avg(datediff("yyyy",出生日期,getdate())) from 讀者信息)
--29.創(chuàng)建圖書(shū)借閱信息的視圖,其視圖名為:TSQuery
-- 視圖功能:列示借書(shū)證號(hào)、姓名、圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、借書(shū)時(shí)間的信息。
create view TSQuery
as
SELECT dbo.讀者信息.借書(shū)證號(hào), dbo.讀者信息.姓名, dbo.圖書(shū)信息.圖書(shū)編號(hào),
dbo.圖書(shū)信息.圖書(shū)名稱(chēng), dbo.借閱信息.借書(shū)時(shí)間
FROM dbo.讀者信息 INNER JOIN
dbo.借閱信息 ON dbo.讀者信息.借書(shū)證號(hào) = dbo.借閱信息.借書(shū)證號(hào) INNER JOIN
dbo.圖書(shū)信息 ON dbo.借閱信息.圖書(shū)編號(hào) = dbo.圖書(shū)信息.圖書(shū)編號(hào)
--30.創(chuàng)建圖書(shū)借閱信息的視圖,其視圖名為:TJQuery
-- 視圖功能:列示借書(shū)證號(hào)、圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、出版社、價(jià)格的信息。
create view TJQuery
as
SELECT dbo.借閱信息.借書(shū)證號(hào), dbo.借閱信息.圖書(shū)編號(hào), dbo.圖書(shū)信息.圖書(shū)名稱(chēng),
dbo.圖書(shū)信息.出版社, dbo.圖書(shū)信息.價(jià)格
FROM dbo.借閱信息 INNER JOIN
dbo.圖書(shū)信息 ON dbo.借閱信息.圖書(shū)編號(hào) = dbo.圖書(shū)信息.圖書(shū)編號(hào)
--四、數(shù)據(jù)更新
--1.為借閱信息表添加一條數(shù)據(jù),其具體信息如下:
-- 借書(shū)證號(hào):XS000002,圖書(shū)編號(hào):A08002,借書(shū)時(shí)間:系統(tǒng)當(dāng)前時(shí)間。
insert into 借閱信息 (借書(shū)證號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間)
values ('XS000002','A08002',getdate())
--2.為讀者信息表添加一條數(shù)據(jù),其具體信息如下:
-- 借書(shū)證號(hào):XS000003,姓名:李白,性別:男,出生日期:1989-1-1 專(zhuān)業(yè)名稱(chēng):政法系
insert into 讀者信息 (借書(shū)證號(hào),姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng))
values ('XS000003','李白','男','1989-1-1','政法系')
--3.將圖書(shū)編號(hào)為A08003的圖書(shū)的復(fù)本數(shù)量更新為30本。
update 圖書(shū)信息
set 復(fù)本數(shù) =30
where 圖書(shū)編號(hào) = 'A08003'
--4.將借閱了“大型數(shù)據(jù)庫(kù)”圖書(shū)的學(xué)生的還書(shū)時(shí)間改為當(dāng)前系統(tǒng)時(shí)間。
update 借閱信息
set 還書(shū)時(shí)間='2009-6-1'
where 圖書(shū)編號(hào) = (select 圖書(shū)編號(hào) from 圖書(shū)信息 where 圖書(shū)名稱(chēng)='大型數(shù)據(jù)庫(kù)')
--5.將“電子商務(wù)”書(shū)的復(fù)本數(shù)更新為20.
update 圖書(shū)信息
set 復(fù)本數(shù) = 20
where 圖書(shū)名稱(chēng) = '電子商務(wù)'
--6.刪除學(xué)生信息表中男生的記錄信息。
delete from 讀者信息
where 性別 = '男'
--7.刪除借閱信息表中還書(shū)時(shí)間晚于2009-5-1日的記錄信息。
delete from 借閱信息
where 還書(shū)時(shí)間 > '2009-05-01'
--8.刪除借閱信息表中借閱了“大型數(shù)據(jù)庫(kù)”書(shū)的記錄信息。
delete from 借閱信息
where 圖書(shū)編號(hào) = (select 圖書(shū)編號(hào) from 圖書(shū)信息 where 圖書(shū)名稱(chēng) = '大型數(shù)據(jù)庫(kù)')
--五、存儲(chǔ)過(guò)程
--1.創(chuàng)建存儲(chǔ)過(guò)程。
-- 功能:根據(jù)借書(shū)證號(hào)查詢(xún)?cè)撟C號(hào)所代表讀者借閱的圖書(shū)信息。
-- 存儲(chǔ)過(guò)程名:ReaderBookQuery
-- 輸入?yún)?shù):借書(shū)證號(hào)
-- 返回查詢(xún)結(jié)果集包括:圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、ISBN、出版社、借書(shū)時(shí)間
create proc ReaderBookQuery
(
@借書(shū)證號(hào) varchar(100)
)
as
select 圖書(shū)信息.圖書(shū)編號(hào),圖書(shū)名稱(chēng),ISBN,出版社,借書(shū)時(shí)間
from 圖書(shū)信息 inner join 借閱信息 on 圖書(shū)信息.圖書(shū)編號(hào) = 借閱信息.圖書(shū)編號(hào)
where 借書(shū)證號(hào) = @借書(shū)證號(hào)
--2.創(chuàng)建存儲(chǔ)過(guò)程。
-- 功能:根據(jù)借書(shū)證號(hào)查詢(xún)?cè)撟x者的基本信息。
-- 存儲(chǔ)過(guò)程名:ReaderInfoQuery
-- 輸入?yún)?shù):借書(shū)證號(hào)
-- 返回查詢(xún)結(jié)果集包括:姓名、性別、出生日期、專(zhuān)業(yè)名稱(chēng)
create proc ReaderInfoQuery
(
@借書(shū)證號(hào) varchar(100)
)
as
select 姓名,性別,出生日期,專(zhuān)業(yè)名稱(chēng) from 讀者信息 where 借書(shū)證號(hào) = @借書(shū)證號(hào)
--3.創(chuàng)建存儲(chǔ)過(guò)程
-- 功能:根據(jù)圖書(shū)編號(hào),查看該編號(hào)代表圖書(shū)的基本情況,
-- 存儲(chǔ)過(guò)程名:BookInfoQuery
-- 輸入?yún)?shù):圖書(shū)編號(hào)
-- 返回結(jié)果集包括:圖書(shū)名稱(chēng)、作者、出版社、ISBN、價(jià)格、復(fù)本數(shù)、庫(kù)存量。
create proc BookInfoQuery
(
@圖書(shū)編號(hào) varchar(100)
)
as
select 圖書(shū)名稱(chēng),作者,出版社,ISBN,價(jià)格,復(fù)本數(shù),庫(kù)存量 from 圖書(shū)信息
where 圖書(shū)編號(hào) = @圖書(shū)編號(hào)
--4.創(chuàng)建存儲(chǔ)過(guò)程。
-- 功能:根據(jù)圖書(shū)編號(hào)查詢(xún)借閱該圖書(shū)的讀者信息。
-- 存儲(chǔ)過(guò)程名:BookQuery
-- 輸入?yún)?shù):圖書(shū)編號(hào)
-- 返回查詢(xún)結(jié)果集包括:借書(shū)證號(hào)、姓名、性別、專(zhuān)業(yè)名稱(chēng)。
create proc BookQuery
(
@圖書(shū)編號(hào) varchar(100)
)
as
select 讀者信息.借書(shū)證號(hào),姓名,性別,專(zhuān)業(yè)名稱(chēng)
from 讀者信息 inner join 借閱信息 on 讀者信息.借書(shū)證號(hào) = 借閱信息.借書(shū)證號(hào)
where 圖書(shū)編號(hào) = @圖書(shū)編號(hào)
--5.創(chuàng)建存儲(chǔ)過(guò)程。
-- 功能:根據(jù)圖書(shū)出版社查詢(xún)?cè)摮霭嫔鐑r(jià)格最高的圖書(shū)名稱(chēng)。
-- 存儲(chǔ)過(guò)程名:BookPubQuery
-- 輸入?yún)?shù):圖書(shū)出版社
-- 返回查詢(xún)結(jié)果集包括:圖書(shū)名稱(chēng)。
create proc BookPubQuery
(
@pub nvarchar(20)
)
as
select 圖書(shū)名稱(chēng) from 圖書(shū)信息
where 價(jià)格 =(select max(價(jià)格) from 圖書(shū)信息 where 出版社=@pub)
--6.創(chuàng)建存儲(chǔ)過(guò)程
--功能:根據(jù)圖書(shū)編號(hào)查詢(xún)圖書(shū)借書(shū)情況。
-- 如果復(fù)本數(shù)-庫(kù)存量<=2,則顯示“該圖書(shū)庫(kù)存不多,請(qǐng)繼續(xù)進(jìn)書(shū)”,返回1;
-- 如果2<復(fù)本數(shù)-庫(kù)存量<=6,則顯示“該圖書(shū)庫(kù)存良好”,返回2;
-- 如果復(fù)本數(shù)-庫(kù)存量>6,則顯示“該圖書(shū)庫(kù)存量充裕”,返回3.
--存儲(chǔ)過(guò)程名:BookJYQuery
--輸入?yún)?shù):圖書(shū)編號(hào)
create proc BOOKJYQuery
(
@圖書(shū)編號(hào) varchar(100)
)
as
if(select 復(fù)本數(shù)-庫(kù)存量 from 圖書(shū)信息 where 圖書(shū)編號(hào)=@圖書(shū)編號(hào))<=2
begin
print '該圖書(shū)庫(kù)存不多,請(qǐng)繼續(xù)進(jìn)書(shū)'
return 1
end
else
if (select 復(fù)本數(shù)-庫(kù)存量 from 圖書(shū)信息 where 圖書(shū)編號(hào)=@圖書(shū)編號(hào))<=6
begin
print '該圖書(shū)庫(kù)存良好'
return 2
end
else
begin
print '該圖書(shū)庫(kù)存量充裕'
return 3
end
--六、觸發(fā)器的創(chuàng)建
--1.創(chuàng)建觸發(fā)器
-- 功能:當(dāng)向借閱信息表中添加借書(shū)信息時(shí),自動(dòng)將圖書(shū)信息表中相應(yīng)的庫(kù)存量減少1。
-- 觸發(fā)器名字:BOOKTrigger
create trigger BOOKTrigger
on 借閱信息
after insert
as
update 圖書(shū)信息 set 庫(kù)存量 = 庫(kù)存量 - 1 where 圖書(shū)編號(hào) = (select 圖書(shū)編號(hào) from inserted)
--2.創(chuàng)建觸發(fā)器
-- 功能:當(dāng)從借閱信息表中刪除借書(shū)信息時(shí),自動(dòng)將圖書(shū)信息表中相應(yīng)的庫(kù)存量增加1。
-- 觸發(fā)器名字:BookDeleteTrigger
create trigger BookDeleteTrigger
on 借閱信息
after delete
as
update 圖書(shū)信息 set 庫(kù)存量 = 庫(kù)存量 + 1 where 圖書(shū)編號(hào) = (select 圖書(shū)編號(hào) from deleted)
--3.創(chuàng)建觸發(fā)器
-- 功能:當(dāng)向借閱信息表插入數(shù)據(jù)時(shí),如果圖書(shū)信息表中的庫(kù)存量等于0,則提示信息“庫(kù)存量為0,不能插入”。
-- 觸發(fā)器名字:JYinsert
create trigger JYinsert
on 借閱信息
for insert
as
if (select 庫(kù)存量 from 圖書(shū)信息) = 0
begin
raiserror('庫(kù)存量為0,不能插入',16,1)
rollback transaction
end
--4.創(chuàng)建觸發(fā)器
-- 功能:當(dāng)向讀者信息表插入數(shù)據(jù)時(shí),如果出現(xiàn)姓名重復(fù)的記錄,則提示信息“姓名重復(fù),不得插入”
-- 觸發(fā)器名字:DZinsert
create trigger DZinsert
on 讀者信息
after insert
as
if exists(select 姓名 from 讀者信息 where 姓名=(select 姓名 from inserted))
begin
raiserror('姓名重復(fù),不得插入',16,1)
rollback
end
--5.創(chuàng)建觸發(fā)器
-- 功能:當(dāng)向讀者信息表刪除數(shù)據(jù)一條記錄時(shí),借閱信息表中的學(xué)生記錄也刪除。
-- 觸發(fā)器名字:DZdelete
create trigger DZdelete
on 讀者信息
after delete
as
delete from 借閱信息 where 借書(shū)證號(hào) in (select 借書(shū)證號(hào) from deleted)
圖書(shū)管理系統(tǒng)、售票系統(tǒng)、教學(xué)管理系統(tǒng)等。
如圖書(shū)管理系統(tǒng)的主要功能:本系統(tǒng)包含如下的幾個(gè)模塊:身份驗(yàn)證、借閱圖書(shū)、歸還圖書(shū)、打印催還單、信息查詢(xún)、系統(tǒng)維護(hù)以及退出。
擴(kuò)展資料:
圖書(shū)管理系統(tǒng),是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng)。利用信息控制企業(yè)的行為;幫助企業(yè)實(shí)現(xiàn)其規(guī)劃目標(biāo)。
圖書(shū)管理系統(tǒng)作用:
2. 及時(shí)全面地提供不同要求的、不同細(xì)度的信息,以期分析解釋現(xiàn)象最快,及時(shí)產(chǎn)生正確的控制。
3. 全面系統(tǒng)的保存大量的信息,并能很快的查詢(xún)和綜合,為組織的決策提出信息支持。
4. 利用數(shù)學(xué)方法和各種模型處理信息,以期預(yù)測(cè)未來(lái)和科學(xué)地進(jìn)行決策
參考資料:圖書(shū)管理系統(tǒng)-百度百科
(全國(guó)總部)河南省鄭州市金水區(qū)農(nóng)業(yè)路71號(hào)中州國(guó)際飯店1617-1618
+18937133779
zboao@qq.com
中博奧技術(shù)有限公司& 版權(quán)所有
工信部備案號(hào):豫ICP備11015869號(hào)-8