数据库原理实验报告-(罗忠霖)-实验三

  • 格式:doc
  • 大小:662.05 KB
  • 文档页数:11

《数据库原理》实验报告
题目:实验二建立数据库及表学号:2010810072 成

姓名:罗忠霖日期:2012/11/22
一、实验使用环境:
Window7 、SQL Server 2005
二、实验内容与完成情况:
1.查询2013年3月10日以前进货且进货价大于500元的商品信息,进货价格按从大到
小排序。

程序代码select*from
Purchase
where(进货时间<'2012-03-10'and进货价>500)
order by进货价desc
运行
结果
2.创建一个新表名为:总金额表。

字段包含:商品名称,总金额,返回的结果集行的百分比为
程序代码select top 50 percent
商品名称,(数量*进货价)as总金额into newtable
from Purchase
select*from newtable--查看表信息
运行
结果
3.汇总各部门的员工人数
程序代码select部门,count(*)as员工人数from Employees
group by部门
运行
结果
4.显示如下结果
程序代码select部门,性别,count(*)as员工人数from Employees
group by性别,部门
运行
结果
5.显示如下结果
程序代码select部门,性别,count(*)as人数from Employees
group by部门,性别
with cube
结果
6.分别统计各个员工的销售总数:(使用COMPUTE)
程序代码select售货员工编号,商品编号,数量from Sell
order by售货员工编号
compute sum(数量)by售货员工编号
结果
7.查询商品名称,销售编号及销售数量,包括没有销售的商品名称。

程序代码select商品名称,销售编号,Sell.数量
from Purchase left join Sell
on(Sell.商品编号)=(Purchase.商品编码)
运行
结果
8.使用笛卡尔积连接两张表Purchase和Sell 程序select*
代码from Purchase cross join Sell 运行
结果
9.为新建的表创建唯一性聚集索引:
程序代码create table生产厂商表(
厂商编号int identity(1,1)not null,
厂商名称varchar(30)not null,
法人代表varchar(8),
厂商地址varchar(50)
)
create unique index weiyi on生产厂商表(厂商编号asc)
运行
结果
10.为Employees表的“姓名”字段创建一个名为“I_姓名”的非聚集索引,使用降序排列,填充因子为:
程序
代码
create index I_姓名on Employees(编号desc)
运行
结果
11.显示Employees表的I_姓名索引的碎片统计信息。

程序
代码
运行
结果
12.创建一个新视图v1,要求查询采购部的赵飞燕所采购商品的销售情况:并对视图v1取消加密:
程序代码create view v1
with encryption
as
select商品编码,商品名称,Sell.数量as卖出数量,售出时间
from Purchase full join Sell
on Purchase.商品编码=Sell.商品编号
where进货员工编号=(select编号from Employees where(姓名='赵飞燕'and 部门='采购部'))
select*from v1--查看视图信息
运行
结果
13.修改视图v1,要求查询该公司年月份商品的销售情况和每一笔销售的纯利润,并对视图v1取消加密。

程序代码alter view v1 as
select
运行
结果
14.将指定的全校学生信息表(execl表)导入到SQL Server的数据库中Pubs中,表名为Student。

并修改相应的字段名类型。

1)执行代码:
select*from Student
where班级in('计算1011','计算1012,'计算1013','计算1014') 显示查询计划
程序代码select*from Student
where班级in('计算1011','计算1012,'计算1013','计算1014')
运行结果
2)在班级字段中建立索引
建立索引:create index in1 on Student(班级)
执行代码:
select*from Student
where班级in('计算1011','计算1012,'计算1013','计算1014')
显示查询计划,根据以上结果给出结论
结果:和第一题的结果一样,这里就不截图了!
14题总结论:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

2012级计算机专业 集美大学计算机工程学院 20012~2013学年第一学期
11 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的 时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

三、 出现的的问题和解决方案(列出遇到的问题和解决办法,列出没有解决的问题)
遇到的问题
解决办法 第一个遇到的问题就是在做第二题时候,要返回结
果中的百分之五十,我刚开始的时候出错了,因为
我把top 数字 percent 放错位置了
因为我错在把top 数字 percent 放在结果列之后,所以我换了一下位置就解决了! 第二个问题就是在对数据进行导入的时候,没有导
入全部数据,只显示部分! 因为我在导入数据的时候,我没有往下做,我单纯看预览来决定是否完全导入,因为预
览只能显示部门结果,我怀疑自己是不是做
错了,后来完完整整地做完所有步骤,发现
自己没错
未解决的问题 第13题,我不知道查询公司年月份销售情况
这句是什么意思,所以13题没有做!。