数据库索引与视图实验
提示:本实验是清华大学出版社《数据库原理与技术》李春葆 p394上机实验题4
我看了下隔壁班的大佬的博客觉得容易没放上来,那我就来补充一下这次实验的内容 。
提示:基本原理麻烦去翻阅书籍,我在这里就不赘述了,学计算机的亲们,一定要多动手去打代码,才能去理解他的含义和内容,这对培养你的编程能力和编程思维是非常重要的。
嘿嘿,再来个提示:本篇文章正文内容由下开始,由于博主仍是本科小菜鸟,若存在错误,请各位同学指正,相关代码仅供参考。
(1)如果经常按书名查询图书信息,在书名上建立非聚集索引,并输出 book 表中的记录,看输出的次序是否按书名排序。
--test 4-1 碎铜铃 小善
USE Library2143
CREATE NONCLUSTERED COLUMNSTORE INDEX IDX_bookname ON dbo.book2143(图书名)
GO
SELECT 图书名 FROM dbo.book2143 ORDER BY 图书名
GO
(2)在 borrow 表的学号和图书编号列上建立非聚集索引,并输出该表中的记录,看输出记录的次序如何。
--test4-2 碎铜铃 小善
USE Library2143
CREATE NONCLUSTERED COLUMNSTORE INDEX IDX_SNumBNum ON dbo.borrow2143(学号,图书编号)
GO
SELECT 学号,图书编号 FROM dbo.borrow2143 ORDER BY 学号,图书编号
GO
(3)建立一个视图,显示“0502”班学生的借书信息(只要求显示姓名和书名)。
--test4-3 碎铜铃 小善
USE Library2143
GO
CREATE VIEW bh0502_borrow
AS
SELECT St.姓名,B.图书名
FROM dbo.student2143 St,dbo.book2143 B,dbo.borrow2143 BR
WHERE St.班号='0502'AND St.学号=BR.学号 AND B.图书编号=BR.图书编号
GO
SELECT * FROM dbo.bh0502_borrow
GO
(4)建立一个视图,显示所有学生的借书数目(只要求显示学号,姓名和数目)。
--test4-4 碎铜铃 小善
USE Library2143
GO
CREATE VIEW St_BrNum
AS
SELECT St.学号,St.姓名, COUNT(DISTINCT BR.图书编号) AS 借书数目
FROM dbo.student2143 St,dbo.borrow2143 BR
WHERE St.学号=BR.学号
GROUP BY St.学号,St.姓名
GO
SELECT * FROM dbo.St_BrNum
GO
(5)删除前面创建的索引和视图。
--test4-5 碎铜铃 小善
USE Library2143
GO
DROP INDEX IDX_bookname ON dbo.book2143
DROP INDEX IDX_SNumBNum ON dbo.borrow2143
DROP VIEW dbo.bh0502_borrow
DROP VIEW dbo.St_BrNum
GO
貌似也没啥可以多总结的了,反正,你们敲代码就对啦。老祖宗说得对,“实践是检验真理的唯一标准”,多翻翻书,吃透它!然后期末拿高分!嘿嘿嘿~嘿嘿( •̀ ω •́ )✧