实验7:索引和视图定义

【实验目的】

1了解索引和视图的含义

2熟悉索引和视图的创建规则

3掌握索引和视图的创建和管理

实验设备及器材

1、硬件:PC机;

2、软件:(1)Windows7; (2)Microsoft SQL Server 2012

【主要内容】

索引的创建、删除、重建;视图的创建、修改和删除。

实验内容及要求/【实验步骤及结果】

请在“学生管理数据库”中完成附加数据库,T-SQL语句)

  1. 为“学生信息表”的“姓名”列创建一个唯一非聚集索引I_SNAME。

所需代码命令为:

USE 学生管理数据库

CREATE UNIQUE NONCLUSTERED INDEX I_SNAME

ON 学生信息表(姓名)

执行效果图如下:

  1. 为“课程信息表”的“课程名”列建立一个非聚集索引I_CNAME。

所需代码命令如下:

USE 学生管理数据库

CREATE NONCLUSTERED INDEX I_CNAME

ON 课程信息表(课程名)

执行效果图如下:

  1. 为“成绩信息表”创建一个基于“课程号”列和“成绩”列的索引I_CNO_GRADE,其中“课程号”列按升序排列,“成绩”列按降序排列。

所需代码命令如下:

USE 学生管理数据库

CREATE INDEX I_CNO_GRADE

ON 成绩信息表 (课程号 ASC, 成绩 DESC);

执行效果图如下:

  1. 强制使用索引I_CNO_GRADE进行查询。

(SELECT * FROM 成绩信息表 FORCE WITH(INDEX(I_CNO_GRADE))

 WHERE 成绩>=60)

所需代码命令如下:

USE 学生管理数据库

SELECT * FROM 成绩信息表 FORCE WITH(INDEX(I_CNO_GRADE)) WHERE 成绩>=60;

执行效果图如下:

  1. 查看“学生信息表”的所有索引的信息。

所需代码命令如下:

USE 学生管理数据库

SELECT * 

FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 

WHERE TABLE_NAME = '学生信息表';

执行效果图如下:

  1. 请创建一个视图V_SNAME,统计“学生信息表”的“姓名”,并查看该统计信息。

所需代码命令如下:

CREATE VIEW V_SNAME

AS SELECT COUNT(*) AS 学生总数, 姓名

FROM 学生信息表

GROUP BY 姓名;

执行效果图如下:

  1. 创建一个简单的视图V_101_NOPASS,查询101号课程不及格的信息,并查看视图。

所需代码命令如下:

CREATE VIEW V_101_NOPASS

AS SELECT * 

FROM 成绩信息表

WHERE 课程号 = '101' AND 成绩 < 60;

sp_helptext'V_101_NOPASS'

执行效果图如下:

  1. 创建一个复杂视图V_SAMECOLLEGE,查询与“俞奇军”住在同一个系的学生信息,并查看视图。

所需代码命令如下:

CREATE VIEW V_SAMECOLLEGE

AS 

SELECT * 

FROM 学生信息表

WHERE 所在系='计算机'

WITH CHECK OPTION

sp_helptext'V_SAMECOLLEGE'

执行效果图如下:

  1. 创建一个复杂视图V_S_SC_C,查询选修了课程的同学的姓名、课程名及成绩,并查看视图。

所需代码命令如下:

CREATE VIEW V_S_SC_C

AS 

SELECT 学生信息表.姓名,课程信息表.课程名,成绩信息表.成绩

FROM 学生信息表,课程信息表,成绩信息表;

sp_helptext'V_S_SC_C'

执行效果图如下:

  1. 使用在9中创建的视图V_S_SC_C,统计选修了课程的学生的人数和平均分。

所需代码命令如下:

USE 学生管理数据库

SELECT COUNT(DISTINCT 姓名) 

AS 人数,AVG(成绩)

AS 平均分

FROM  V_S_SC_C执行效果图如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【acwing】92. 递归实现指数型枚举

穿越隧道 递归枚举、位运算 方法① 从1到n&#xff0c;顺序访问每位数&#xff0c;是否选择&#xff0c;每位数有两种状态&#xff0c;选1或不选0. AC代码如下&#xff1a; #include <iostream> using namespace std;const int N 100; // bool st[N]; int n;void dfs(in…

【Oracle】backup备份时报错ORA-19809,ORA-9804

Oracle备份数据库时报错 ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim 10305536 bytes disk space from 4385144832 limit 1.清理过时的备份&#xff1a; 使用RMAN删除不再需要的过时备份&#xff0c;以释放空间。执行以下命令&#xff1a; DEL…

Hadoop高可用(主备切换)---配合Zookeeper

1. Hadoop高可用(Hadoop High Availability)概述 HA(High Available), 高可用&#xff0c;是保证业务连续性的有效解决方案&#xff0c;一般有两个或两个以上的节点&#xff0c;分为活动节点&#xff08;Active&#xff09;及备用节点&#xff08;Standby&#xff09;。通常把…

【Qt开发流程】之2D绘图1:概述及基本绘制与填充和渐变填充

概述 Qt的绘图系统可以使用相同的API在屏幕和打印设备上进行绘图&#xff0c;并且主要基于QPainter, QPaintDevice和QPaintEngine类。 QPainter用于执行绘图操作&#xff0c;QPaintDevice是一个二维空间的抽象&#xff0c;可以使用QPainter在其上绘制&#xff0c;QPaintEngine…

《天天爱科学》期刊国家级知网投稿

《天天爱科学》国家级期刊知网收录&#xff0c;投稿方向&#xff1a;幼儿教育、基础教育文章&#xff0c;不收案例分析、教学设计、图表讲解、例题分析。 刊名&#xff1a;天天爱科学 主管单位&#xff1a;中国出版传媒股份有限公司 主办单位&#xff1a;人民文学出版社有限…

jmeter接口测试之登录测试

注册登录_登陆接口文档 1.登录 请求地址&#xff1a; POST xxxxxx/Home/Login 请求参数&#xff1a; args{LoginName:"mtest", // 登录名&#xff0c;可以为用户名或邮箱Password:"123456" // 密码" }响应数据&#xff1a; 成功 {"S…

docker 资源控制

Docker的资源控制 对容器使用宿主机的资源进行限制&#xff0c;如cpu&#xff0c;内存&#xff0c;磁盘I/O Docker使用linux自带的功能cgroup(control grouos)是linux内核系统提供的一种可以限制&#xff0c;记录&#xff0c;隔离进程组使用的物理资源 Docker借助这个机制&…

ARM:作业3

按键中断代码编写 代码: key_it.h #ifndef __KEY_IT_H__ #define __KEY_IT_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gic.h"void key1_it_config(); voi…

基于 ESP32-S3 的 Walter 开发板

Walter 是一款基于 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。 近日&#xff0c;比利时公司 DPTechnics BV 推出了一款基于乐鑫 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。该套件即将在 Crowd Supply 平台上发布&#xff0c;您可以点击此处了解详情。 无…

class068 更多的动态规划【算法】

class068 更多的动态规划【算法】 算法讲解068【必备】见识更多二维动态规划题目 code1 115. 不同的子序列 // 不同的子序列 // 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数 // 测试链接 : https://leetcode.cn/problems/distinct-subseque…

Mac如何设置control+space切换上一中输入法

#设置方法# *搜索输入法 系统设置-搜索&#xff1a;输入法&#xff0c;并点击键盘快捷键 *点击输入法&#xff0c;勾选&#xff1a;选择上一个输入法&#xff0c;点击完成。

漂亮的WPF界面 流行的一个界面,向上悬浮的窗口,终于试成功了

目前随便打开个APP&#xff0c;就可以看到一个悬浮的窗口 今天测试一下目前流行的一个界面&#xff0c;向上悬浮的窗口&#xff0c;终于试成功了。看着还不错的。

.net core提示The xx field is required,One or more validation errors occurred

访问接口时缺少model中的参数时&#xff0c;会提示&#xff1a; The xx field is required One or more validation errors occurred原因是.net core webapi默认参数为不可空&#xff0c;因此会验证并报错。 解决方案&#xff1a; 在项目的.csproj中&#xff0c;修改Nullable…

Leetcode—2960.统计已测试设备【简单】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—2960.统计已测试设备 实现代码 int countTestedDevices(int* batteryPercentages, int batteryPercentagesSize) {int cnt 0;int ans 0;for(int i 0; i < batteryPercentagesSize; i) {int t batteryPercentage…

装机必备 | 超赞OCR文本识别小工具 Text Scanner

Text Scanner 是一款功能强大的图片扫描工具软件,该软件利用光学字符识别技术&#xff0c;来将图片上的文字内容&#xff0c;直接转换为可编辑文本&#xff0c;实用性很强。 光学字符识别&#xff08;OCR&#xff09;&#xff1a;Text Scanner for Mac采用了先进的OCR技术&…

qt 使用百度在线地图 方法2

使用百度在线地图两个关键点&#xff0c;一是html页面准备&#xff1b;二是qt 与js 语言的交互。 1&#xff0c;html页面的准备&#xff0c;双击页面就可以出现如下效果。 主要代码&#xff1a; <!DOCTYPE html> <html> <head><meta http-equiv"C…

【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出

前言 在使用Maven管理Java项目时&#xff0c;有时需要引入一些存放在系统特定位置的JAR文件。这些JAR文件可能是你自己编写的&#xff0c;也可能是其他来源的。无论是哪种情况&#xff0c;使用 Maven 的 system 范围和 systemPath 参数&#xff0c;可以方便地引入这些本地依赖…

Logstash输入Kafka输出Es配置

Logstash介绍 Logstash是一个开源的数据收集引擎&#xff0c;具有实时管道功能。它可以从各种数据源中动态地统一和标准化数据&#xff0c;并将其发送到你选择的目的地。Logstash的早期目标主要是用于收集日志&#xff0c;但现在的功能已经远远超出这个范围。任何事件类型都可…

Python从入门到精通九:Python异常、模块与包

了解异常 什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG bug单词的诞生 早期计算机采用大量继电器工作&#xff0c;马克二型计算机就是这样的。 19…

理解排序算法:冒泡排序、选择排序与归并排序

简介&#xff1a; 在计算机科学中&#xff0c;排序算法是基础且重要的概念。本文将介绍三种常见的排序方法&#xff1a;冒泡排序、选择排序和归并排序。我们将探讨它们的工作原理、特点和适用场景&#xff0c;以帮助读者更好地理解和选择合适的排序方法。 冒泡排序 冒泡排序是…