SQL Server 数据库,创建数据库并使用索引查询学员考试成绩

news2024/11/23 15:08:38

5.1索引

     索引提供指针以指向存储在表中指定列的数据值,然后根据指定的次序排列这些指针,再跟随 指针到达包含该值的行。

5.1.1什么是索引

    数据库中的索引与书籍中的目录类似。在一本书中,无须阅读整本书,利用目录就可以快速查 找所需信息。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 书中的目录是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或 若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单。

     索引是SQL Server 编排数据的内部方法,它为SOL Server 提供一种方法来编排查询数据的路由。  

     索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页及该数据行的地址指 针。索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。通过使用索引,可以大大提高数 据库的检索速度,改善数据库性能。

5.1.2 索引分类

在SQL Server 中,常用的索引有以下六类。

1.唯一索引

     唯一索引不允许两行具有相同的索引值。

     如果现有数据中存在重复的键值,则一般情况下大多数数据库不允许创建唯一索引,当新数据 将使表中的键值重复时,数据库也拒绝接收此数据。例如,如果在某个表中的“身份证号”列上创 建了唯一索引,则所有记录的身份证号不能重复。

:创建了唯一约束,将自动创建唯一索引。尽管唯一索引有助于找到 信息,但是为了获得最佳性能,建议使用主键约束。

2.主键索引

    在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。 主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。

3.聚集索引

    在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。

4.非聚集索引

     非聚集索引建立在索引页上,在查询数据时可以从索引中找到记录存放的位置。

     非聚集索引使表中各行数据存放的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引 有更快的数据访问速度。例如,按笔画排序的索引就是非聚集索引.“1”画的字(词)对应的页码 可能比“3”画的字(词)对应的页码大(靠后).

:在SQLServer中,一个表只能创建一个聚集索引,但可以有多个非 聚集索引。设置某列为主键,该列就默认为聚集索引。

5.复合索引

     在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索 引,这种索引称为复合索引。

     需要注意的是,只有用到复合索引的第一列或整个复合索引列作为条件完成数据查询时才会用到该索引。

6.全文索引

      全文索引是一种特殊类型的基于标记的功能性索引,由SQL Server 中全文引擎服务创建和维护。  全文索引主要用于在大量文本中搜索字符串,此时使用全文索引的效率将大大高于使用T-SQL 的LKE关键字的效率,因为全文索引的创建过程与其他类型的索引有很大的差别,所以建议学员借 助SOL Server联机帮助学习其创建和使用。

实验环境(实验案例一)

在SQL Server 2016的服务器上,clss数据库保存了学员及考试信息,包含的表及结构如图所示。

 xueyuan 表

chengji 表 

 kecheng 表

需求描述

> 利用索引查询考试成绩为80~90分的所有记录。

> 要求输出:学员姓名、课程名、考试日期和学员成绩。

利用索引查询考试成绩为80~90分的所有记录。

先创建非聚集索引,在数据库clss下 > 表dbo.chengji > 索引 > 新建索引 > 非聚集索引

 右键clss数据库,新建查询,输入以下内容

select * from chengji
with (index=non)
where 学员成绩 between 80 and 90

查询结果

 要求输出:学员姓名,课程名、考试日期和学员成绩。

在数据库视图中新建视图,把这3个表都添加进来,选中题目所要求的,右键执行显示出来的命令即可

SELECT  dbo.xueyuan.学员姓名, dbo.kecheng.课程名, dbo.chengji.考试日期, dbo.chengji.学员成绩
FROM      dbo.chengji INNER JOIN
                   dbo.kecheng ON dbo.chengji.课程ID = dbo.kecheng.课程ID INNER JOIN
                   dbo.xueyuan ON dbo.chengji.学员ID = dbo.xueyuan.学员ID

结果

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

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

相关文章

如何实现加盐加密

自己实现 传统MD5可通过彩虹表暴力破解, 加盐加密算法是一种常用的密码保护方法,它将一个随机字符串(盐)添加到原始密码中,然后再进行加密处理。 1. 每次调用方法产生一个唯一盐值(UUID )密码…

海关查验到底查些什么,又有哪些注意事项呢?

“海关查验”是什么? 海关查验是指海关在接受报关单位的申报后,依法为确定进出境货物的性质、原产地、货物状况、数量和价值是否与货物申报单上已填报的详细内容相符,对货物进行实际检查的行政执法行为。查验是国家赋予海关的一种依法行政的…

显卡算力总结

2023年12月 显卡天梯图 FP32浮点性能 性能排行榜 | TopCPU.net2023年12月 最新的显卡天梯图和 FP32浮点性能 性能排行榜,包括浮点性能排名、测试得分和规格数据。跑分对比、基准测试比较。 https://www.topcpu.net/cpu-r5 显卡显存(G)浮点算…

电商用户行为可视化分析

1、导包 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.charts import Grid 2、导数据 t_f_user pd.read_csv("tianchi_fresh…

提高企业邮箱安全性的策略与技巧

提高企业邮箱的安全性的方法大体相同,每家邮箱供应商也可能会有自己独有防护措施。 为了增强Zoho Mail企业邮箱的安全性,您可参考以下建议: 采用强密码:创建包含大写字母、小写字母、数字和特殊字符的复杂密码,并定期…

基于SSM的图书馆管理系统运行部署教程

基于SSM的图书馆管理系统运行部署教程 1、下载2、数据准备-导入sql文件3、项目导入idea4、项目运行5、测试6、日志乱码问题 1、下载 源码下载地址: https://download.csdn.net/download/weixin_44796239/85072348下载之后,会得到一个压缩包: …

Windows驱动中校验数字签名(使用 ci.dll)

1.背景 对于常规应用程序来说,校验数字签名认证在应用层可以使用 WinVerifyTrust, 在驱动层使用常规的 API无法使用,自己分析数据又太麻烦。 在内核中 ci.dll 包装了数据签名验证相关的功能,我们可以使用该 dll 来实现我们的数字签名验证。 详…

2023年度亚太客户中心产业发展论坛——鸿联九五荣获亚太区卓越客服大赛客户运营管理类铂金大奖

11月27-28日, 2023年度亚太客户中心产业发展论坛暨亚太区卓越客服大赛在马来西亚吉隆坡举行。来自中国、澳大利亚、马来西亚、新加坡、中国香港、印度尼西亚和泰国等多个国家及地区的优秀企业代表齐聚吉隆坡。 论坛首日活动以“Experience Excellence, Meet the Cha…

JavaScript代码压缩的功效与作用

JavaScript代码压缩可实现3大功能:减小体积、优化逻辑、提升执行效率 专业的JavaScript代码压缩,绝不仅仅是去除回车使代码挤到一行,而是用真正的技术减小代码体积、提升代码性能。 下面,以JShaman的JavaScript代码压缩功能为例…

辐射校正、辐射定标、大气校正关系

文章目录 前言一、基本概念二、辐射校正三、辐射定标四、大气校正 1.是否需要大气校正2.大气校正模型 五、参考链接 前言 完整的辐射校正包括遥感器校准、大气校正、太阳高度和地形校正。本文主要介绍辐射校正基本概念及区分辐射校正、辐射定标、大气校正。 一、基本概念 DN&a…

Java 将word转为PDF的三种方式和处理在服务器上下载后乱码的格式

我这边是因为业务需要将之前导出的word文档转换为PDF文件,然后页面预览下载这样的情况。之前导出word文档又不是我做的,所以为了不影响业务,只是将最后在输出流时转换成了PDF,当时本地调用没什么问题,一切正常&#xf…

挂耳式蓝牙耳机性价比排行榜吗,排名靠前的几款耳机推荐

当涉及挂耳式蓝牙耳机的选择时,消费者常常陷入选择困境,面对市场上琳琅满目的产品,很难找到性价比兼具的理想之选,为了帮助大家在众多选择中快速定位高性价比的耳机,我们精心整理了一份挂耳式蓝牙耳机性价比排行榜&…

javaWebssh图书系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

系统前景 图书有很多,老的图书书的管理靠纸介质,浪费人力和物力,给图书管理者带来极大的资源浪费。随着计算机信息化的普及,对图书的管理带来本质的改变,图书的销售情况以及,图书管理,以及年终对…

搜不到你想找的资料?那是你还没有掌握这些搜索技巧

文章目录 Google搜索命令sitefiletypeintitleinauthor:define:related:OR:- (减号):.. (两个点):weather:stocks:movie:link: 示例site:filetype:intitle:inauthor:define:related:OR:- (减号):.. (两个点):*** (星号):**cache:info:weather:stocks:movie:link: 补充 Google搜索…

解析操作系统是如何启动起来的?

操作系统被称为“第一个程序”,the first programme,原因很简单,只有当操作系统启动起来后才能运行我们编写的程序,那么你有没有想过这个问题:操作系统是怎样启动起来的呢?实际上这个过程就像发射火箭一样有…

解决vue ssr服务端渲染运行时报错:net::ERR_PROXY_CONNECTION_FAILED

现象: 从代码里找了半天也没有找到问题,但是由于ssr服务端渲染配置本身非常复杂,步骤又繁琐, 而且报错又很多,不知道哪里出了问题。 感觉是header或者cookie丢失造成的,因为据说ssr本身有这样的缺陷&…

NHN和SuiFrens合作的限量版配饰正式发售

SuiFrens那些可爱、富有想象力的生物,即将迎来全新装扮,而你也可以一同享受。今天,限量版NHN x SuiFrens Pebble City幸运配饰系列正式推出,同时还有机会在SuiFrens商店免费领取独家限量版NHN帽子。 NHN x SuiFens Pebble City配饰…

17、pytest自动使用fixture

官方实例 # content of test_autouse_fixture.py import pytestpytest.fixture def first_entry():return "a"pytest.fixture def order():return []pytest.fixture(autouseTrue) def append_first(order, first_entry):return order.append(first_entry)def test_s…

CVE初探之漏洞反弹Shell(CVE-2019-6250)

概述 ZMQ(Zero Message Queue)是一种基于消息队列得多线程网络库,C编写,可以使得Socket编程更加简单高效。 该编号为CVE-2019-6250的远程执行漏洞,主要出现在ZMQ的核心引擎libzmq(4.2.x以及4.3.1之后的4.3.x)定义的ZMTP v2.0协议中。 这一…

调试文心大模型或chatgpt的function Calling函数应用场景

沉默了一段时间,最近都在研究AI大模型的产品落地应用,我觉得这个function calling出来后,对目前辅助办公有革命性的改变,可以它来做什么呢?我们先来调试看看,chatgpt和文心大模型的ERNIE Bot支持这个&#…