视图与数据查询 SQL基本语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四视图与数据查询
一、实验目的:
熟悉SQL SERVER2000系统开发环境及图形化操作,进一步了解各部分的操作
掌握虚拟数据表的原理即实现方法
掌握数据查询技术的构成要素及实现方法
进一步熟悉企业管理器的操作方法,对比掌握数据表与视图
二、实验原理:
(一)查询的创建
所谓查询就是根据我们的要求,在一张或多张数据表中找出满足一定条件的我们所关注的数据,排除不需要或不关心的信息。查询的实现方法:在企业管理器中右击你想查看的表,选择“打开表”菜单项下面的“查询”命令,打开“查询设计器”窗口。
1、查询设计器
(1)关系图窗格。此区域以图形方式显示表或视图等对象以及它们之间的连接关系。
(2)网格窗格。用户可以在此区域中指定查询选项,例如要显示哪些数据列、如何对结果进行排序以及选择哪些行等。
(3)SQL窗格。显示查询或视图对应的SELECT语句。
(4)结果窗格。显示满足查询条件的数据。在查询设计器中,该区域显示最近执行的选择查询的结果。可以通过编辑该网格单元中的值对数据进行修改,而且可以添加或删除数据。
2、设置查询条件
(1)设置显示列。显示列就是在输出结果中满足条件的记录所显示的列信息。在网格窗格中,显示列的“输出”栏被标识为√。如果你查询的数据来至于多张数据表,在“关系图窗格”中单击鼠标右键,选择添加表,将要查询的数据表添加进去。
(2)设置查询条件。在网格窗格中,单击空白行的“列”栏,从菜单中选择查询条件中的列。例如要查询所属部门编号等于2的记录,则选择Dep_id,然后在“准则”中输入=2。注意,将Dep_id所在行中的输出标记去掉,因为结果集中不需要显示所属部门编号。条件可以设置多个,相与的条件放在同一列,相或的条件放在不同列,假如查询部门编号为2的姓陈的人,则在设置好上述条件后,在姓名后面的“准则”栏写上like ‘陈%’。
(3)设置排列顺序。设置结果集中的数据按照指定列的升序或降序排列,注意排序可以设置多种规则,比如第一排序按部门,则按部门的拼音顺序排列,如果一个部门的人很多,可以设置第二排序规则,比如按职工号排序。
(4)运行查询。设置完成后,单击工具栏中的“运行”按钮,运行查询。
3、带有统计功能的查询
当查询的数据需要数据表中的多行数据统计计算得来的时候,在查询中将使用统计功能,单击工具栏上的“使用group by”,在“网格窗格”中将增加一列“分组”,如下图所
示,在需要计算的列后面点击下拉框,选择计算的函数即可。下图是查询每位同学的总成绩。
如:查询铁运专业的所有学生的总成绩如下图:
但是如果查询的条件也带有统计功能,这时可以在空白行中设置统计列,但是不输出,在准则中设置查询条件即可,例如:查询至少选修了2门以上课程的学生的总成绩,则在下
面添加统计行,如下图所示。
这里需要说明,查询不能保存,如果我们希望把建立的查询保存起来,则需要用视图来创建。
(二)视图的创建
视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:
(1)将用户限定在表中的特定行上。例如,只允许雇员看见工作跟踪表内记录其工作的行。
(2)将用户限定在特定列上。例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
(3)将多个表中的列联接起来,使它们看起来象一个表。
(4)聚合信息而非提供详细信息。例如,显示一个列的和,或列的最大值和最小值。
也就是说视图就是可以保存的查询,故查询设计器与视图设计器一样,只是在视图设计页面中增加了保存功能。视图的创建,在企业管理器中,打开数据库文件夹,在打开自己需要建立视图的数据库,鼠标右键单击视图,选择新建,进入视图设计器,如下图所示,这里就不在赘述。
(三)视图的修改
在企业管理器中,右击需要修改的视图,选择“设计视图”命令,就可以打开视图设计器,可以对设计的视图进行修改。在“关系图网格”中,右击空白区域,在菜单中选择“属性”命令,打开视图属性对话框,如下图所示。
在视图属性对话框中,选中“加密浏览”复选框。选中后,将弹出一个对话框,提示用户是否确定对视图加密。加密过程是不可逆转的,对视图加密后,因为再也看不到视图定义,所以永远不能再对视图进行修改。如果需要修改加密视图,则必须删除该视图并重新创建一个。如果对加密的视图打开“视图设计器”,则会弹出一个对话框,提示用户不能打开加密的视图。
(四)视图的删除
在企业管理器中,右击要删除的视图,在弹出菜单中选择“删除”,打开“除去对象”对话框。单击“全部除去”按钮,可以将视图删除。如果不希望删除视图,可以单击“取消”按钮。
(五)视图的使用
视图如同一张数据表,可以鼠标点击右键,选择打开视图,查看视图中的数据,可以接受数据表的所有操作,即:查询数据、添加数据、修改数据、删除数据,因此,在SQL数据库中,视图与数据表属于同一类对象,不能同名。
三、实验内容
在企业管理器中,打开实验三的数据库,练习建立如下十个查询,并建立如下十个查询的视图。
(1)查询score表中成绩在60到80之间的所有记录。
(2)查询student表中所有姓王的学生记录。
(3)查询score表中成绩为85,86或88的记录。
(4)查询student表中所有男生记录,并以class降序排列。
(5)查询student表中“04031”班的学生人数。
(6)查询score表中成绩为“3-105”号课程的平均成绩。
(7)查询所有学生的sname,cname和degree.
(8)查询成绩比该课程平均成绩低的学生成绩。
(9)查询04031班至少选修了两门课的学生的姓名。
(10)查询每位教室所授课程的平均成绩,包括教师编号,姓名,课程代码,课程名称,平均成绩。按成绩降序排列
四、课后作业
1、练习视图的创建与加密。
2、测试通过视图向数据表添加、修改数据,总结在什么时候不能进行数据的修改、添加和删除。
3、总结数据表与视图的区别与联系。
4、总结视图与查询的区别与联系。
5、进一步熟悉数据库的备份、恢复和转换。