1实验五索引与视图定义1实验目的与要求(1)掌握索引的建立和删除操作。(2)掌握视图的创建和查询操作。2实验内容(1)根据基本表创建以下索引:①在图书表中按出版社号建立一个非聚集索引PublishingnoIdx。②在读者表中按身份证号建立一个非聚集索引IdentifycardIdx。③在读者表中,首先按工作单位的升序,然后按借书数量降序建立一个非聚集索引WorkunitCountIdx。(2)创建一个只含清华大学出版社信息的图书视图BookView。(3)创建一个包含读者编号、读者姓名、图书编号、图书名称、借阅日期、归还日期的视图BorrowView。(4)创建一个视图,要求显示至少借阅了3本书的读者信息ReaderView。(5)在视图BorrowView中查询2010年4月22日以前被借阅的图书。(6)在视图ReaderView中查询姓张的读者信息。(7)在视图BorrowView基础上再建一个只包含合生元有限公司读者所借图书信息的视图BorrowView1。(8)删除视图BorrowView。2参考答案(1)根据基本表创建以下索引:①在图书表中按出版社号建立一个非聚集索引PublishingnoIdx。createnonclusteredindexPublishingnoIdxonbook(Publishingno)②在读者表中按身份证号建立一个非聚集索引IdentifycardIdx。createnonclusteredindexIdentifycardIdxonreader(Identifycard)③在读者表中,首先按工作单位的升序,然后按借书数量降序建立一个非聚集索引WorkunitCountIdx。createnonclusteredindexWorkunitCountIdxonreader(Workunit,borrowCountdesc)(2)创建一个只含清华大学出版社信息的图书视图BookView。createviewbookviewasselect*frombookwherePublishingnamelike'%清华大学出版社%'(3)创建一个包含读者编号、读者姓名、图书编号、图书名称、借阅日期、归还日期的视图BorrowView。createviewborrowviewasselectb.readerno,readername,a.bookno,bookname,borrowdate,returndatefrombooka,borrowb,readercwherea.bookno=b.booknoandb.readerno=c.readerno(4)创建一个视图,要求显示至少借阅了3本书的读者信息ReaderView。createviewReaderViewasselectb.readerno,readername,count(*)rsfromborrowb,readercwhereb.readerno=c.readernogroupbyb.readerno,readernamehavingcount(*)=3(5)在视图BorrowView中查询2010年4月22日以前借阅的图书。select*fromBorrowViewwhereborrowdate='2010-04-22'(6)在视图ReaderView中查询姓张的读者信息。select*fromReaderView3wherereadernamelike'张%'(7)在视图BorrowView基础上再建一个包含合生元有限公司读者所借图书信息的视图BorrowView1。createviewborrowview1asselect*fromborrowviewwherereadernoin(selectreadernofromreaderwhereworkunitlike'合生元%')(8)删除视图BorrowView。dropviewBorrowView