当前位置:文档之家› 数据库原理实验6数据更新操作

数据库原理实验6数据更新操作

实验六数据更新操作
1 实验目的与要求
(1)掌握基本表的INSERT、UPDATE、DELETE操作。

(2)正确理解更新操作中涉及到的相关约束问题。

2 实验内容
根据BookDB中4张关系表,完成以下更新操作:
(1) 分别给这4张表添加信息,要求图书分类表、图书表、读者表各插入5个元组,借阅表插入20个元组。

答:详细见BookDB.sql
(2) 将联合股份有限公司的读者工作单位修改为联合立华股份有限公司。

update Reader48
set workunit48='联合立华股份有限公司'
where workunit48='联合股份有限公司'
(3) 将入库数量最多的图书单价下调5%。

update Book48
set price48=price48*0.95
where shopNum48=(select max(shopNum48)
from Book48)
(4) 将“经济类”的图书单价提高10%。

update Book48
set price48=price48*1.1
where classNo48=(select distinct a.classNo48
from Book48 a, BookClass48 b
where a.classNo48=b.classNo48 and b.className48='经济类')
(5) 将借阅次数高于2次的图书数量增加50%。

update Book48
set shopNum48=shopNum48*1.5
where bookNo48 in(
select bookNo48
from borrow48
group by bookNo48
having count(bookNo48)>=2
)
(6) 将富士康科技集团读者的借书期限延长至3个月。

update borrow48
set shouldDate48=dateadd(m,3,borrowDate48)
where readerNo48 in(
select a.readerNo48
from borrow48 a, reader48 b
where a.readerNo48=b.readerNo48 and workUnit48='富士康科技集团'
)
(7) 根据借阅表修改每个读者的借书数量。

update reader48
set borrowCount48=number
from reader48 a,(
select readerNo48,count(readerNo48)number
from borrow48
group by readerNo48
) b
where a.readerNo48=b.readerNo48
(8) 删除价格超过50元的图书借阅信息。

delete from borrow48
where bookNo48 in(
select bookNo48
from book48
where price48>50
)
(9) 删除借阅了大学英语的借阅记录。

delete from borrow48
where bookNo48 =(
select bookNo48
from book48
where bookName48='大学英语' )
(10) 删除从未借过书的读者。

delete from Reader48
where borrowCount48=0
结果见第七题,所有读者都借过书,所以结果没什么改变。

相关主题