本题用到下面三个关系表:
CARD 借书卡。 {CNO 卡号,NAME 姓名,CLASS 班级}
BOOKS 图书。{ BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 总册数 }
BORROW 借书记录。 {CNO 借书卡号,BNO 书号,RDATE 还书日期}
一、实现如下处理:
1.注册本地计算机为服务器;
2.建立名为TSGL的数据库(保存在以个人班级和姓名命名的文件夹中); 3.在数据库中创建以上三个表,字段名用拼音或英文,恰当地选择字段的数据类型,并定义主键和外键约束,每张表中输入五条记录(建表和输入记录时,请注意包含下面斜体字部分的内容);
4.在CARD表的姓名字段上建立唯一性索引(5’) 5.在文件夹中创建一个名为backup1的备份设备,然后对当前数据库作完全的备份。(5’);
6.建立一个视图,显示\"C01\"班学生的借书信息,只要求显示姓名和书名。 7.创建图书库存册r数视图,要求包含{BNO 书号,BNAME 书名, SAVEQUANTITY 库存册数};
8.创建存储过程p_books,要求带一个输入参数,功能是根据指定的书号查询图书信息;
9.创建一个AFTER触发器,当借出一本图书(借书记录增加一条)时,图书表中该书号的总册数减1。
create trigger trigg1 on borrow after insert as
update books
set quantity=quantity-1
where bno=(select bno from inserted)
二、进行如下查询(查询文档保存在以个人班级和姓名命名的文件夹中): 1. 找出借书超过5本的读者,输出借书卡号及所借图书册数。
select cno,count(cno) from borrow group by cno
having count (cno)>=5
1
2. 查询借阅了\"水浒\"一书的读者,输出姓名及班级。
--2.查询借阅了\"水浒\"一书的读者,输出姓名及班级。
select name,class from card,books
where bname='水浒传'
3. 查询书名包括\"网络\"关键词的图书,输出书号、书名、作者。
--3.查询书名包括\"网络\"关键词的图书,输出书号、书名、作者。 select cno,bname,author from card,books
where bname like '%网络%'
4. 查询现有图书中价格最高的图书,输出书名及作者。
select bname,author from books
where price =(select max(price) from books)
5. 将\"C01\"班同学所借图书的还期都延长一周。
update borrow set
rdate = rdate+7
where cno in (select cno from card where class='c01')
use TSGL go
create table CARD (
CNO char(10) primary key not null, name nchar(10) not null, class char(10) not null
2
) go
insert card (cno,name,class)values ('01','张三','c01')
insert card (cno,name,class)values ('02','李四','c02')
insert card (cno,name,class)values ('03','张五','c03') insert card (cno,name,class)values ('04','张六','c04')
insert card (cno,name,class)values ('05','拉拉','c05')
create table books (
bno char(10)primary key not null, bname nchar(10) not null, author nchar(10)not null, price money not null, quantity char(10) not null ) go
insert books (bno,bname,author,price,quantity)values ('001','水浒传','施耐庵','300.00','10') insert books (bno,bname,author,price,quantity)values ('002','物理','空格看','50.00','30') insert books (bno,bname,author,price,quantity)values ('003','高数','新新你','60.00','80') insert books (bno,bname,author,price,quantity)values ('004','英语','眉心吗','30.00','90') insert books (bno,bname,author,price,quantity)values ('005','化学','小马看','30.00','90')
create table borrow (
cno char(10)primary key not null, bno char(10) not null, rdate datetime not null ) go
insert borrow(cno,bno,rdate)values('01','001','2021-6-22') insert borrow(cno,bno,rdate)values('02','004','2021-5-24') insert borrow(cno,bno,rdate)values('05','002','2021-4-25') insert borrow(cno,bno,rdate)values('03','003','2021-3-27')
insert borrow(cno,bno,rdate)values('04','005','2021-2-28')
3
因篇幅问题不能全部显示,请点此查看更多更全内容