当前位置: 首页 > article >正文

数据库基础知识点(系列七)

视图和索引相关的语句

1.引入视图的主要目的是什么?

答:数据库的基本表是按照数据库设计人员的观点设计的,并不一定符合用户的需求。SQL Server 2008可以根据用户需求重新定义表的数据结构,这种数据结构就是视图。视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,其结构和数据是建立在对表的查询基础上的。

2.当删除视图时所对应的数据表会删除吗?

答:不会。

3.简述视图的优点。

答:使用视图有很多优点,主要表现在:

(1) 为用户集中数据,简化用户的数据查询和处理。

(2)保证数据的逻辑独立性。

(3) 重新定制数据,使得数据便于共享;合并分割数据,有利于数据输出到应用程序中。

(4) 数据保密。 

4.可更新视图必须满足哪些条件?

答:(1)任何修改(包括UPDATE、INSERT和DELETE语句)都只能引用一个基本表的列。

①如果视图数据为一个表的行、列子集,则可更新(包括UPDATE、INSERT和DELETE语句);但如果视图中包含的列为表定义时不允许取空值又没有给默认值的列,则此视图不可以插入数据。

②如果视图所依赖的基本表有多个时,不能向该视图添加(INSERT)数据。

③若视图依赖于多个基本表,那么一次修改只能修改(UPDATE)一个基本表中的数据。

④若视图依赖于多个基本表,那么不能通过视图删除(DELETE)数据。

(2)如果视图中没有包含表中某个不允许取空值又没有默认值约束的列,则不能利用视图插入数据。

(3)视图中被修改的列必须直接引用表列中的基础数据。

不能是通过任何其他方式对这些列进行派生而来的数据,比如通过聚合函数、计算(如表达式计算)、集合运算等。

(4)被修改的列不应是在创建视图时受GROUP BY、HAVING、DISTINCT或TOP子句影响的。

5.创建索引的必要性和作用是什么?

答:数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。类似地,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。相反,如果没有索引,则会导致SQL Server搜索表中的所有记录,以获取匹配结果。

6.索引的优点包括:

(1)大大加快数据的检索速度,这是创建索引的最主要的原因。

(2)创建唯一性索引,保证表中每一行数据的唯一性。

(3)加速表和表之间的连接。

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

(5)查询优化器可以提高系统的性能,但它是依靠索引起作用的。

7.聚集索引和非聚集索引有何异同?

答:聚集索引会对表和视图进行物理排序,所以这种索引对查询非常有效,在表和视图中只能有一个聚集索引。非聚集索引不会对表和视图进行物理排序。如果表中不存在聚集索引,则表是未排序的。

8.在SQL Server Management Studio中创建一个名为“invent_info”的库存信息视图,要求包含“inventory”数据库中四个表的所有列。然后,分析此视图是否为可更新视图,说明理由。

答:略。

9.在SQL Server Management Studio中创建一个包含计算机专业学生基本信息的视图“computer_stu”。 然后,分析此视图是否为可更新视图,说明理由。

答:CREATE VIEW computer_stu

AS

SELECT sno,sname,ssex,sage,en_time,specialty,grade FROM student

WHERE specialty=’计算机’

分析:此视图为可更新视图,通过此视图可以查询、插入、修改和删除计算机专业学生的信息。因为此视图为student表的行子集。

10.利用T-SQL语句创建一个每个学生的平均成绩的视图“avgscore”,要求包含学生的学号和姓名。然后,分析此视图是否为可更新视图,说明理由。

答:CREATE VIEW avgscore

AS

SELECT student.sno,sname,avg(score) AS avg_score

FROM student,sc

WHERE student.sno=sc.sno

GROUP BY student.sno,sname

分析:此视图为不可更新视图。因为此视图中student.sno,sname受GROUP BY影响,为分组列;而avg_score受聚合函数影响,为计算列。

11. 利用T-SQL语句创建一个每个年级、每个专业各科平均成绩的视图。

答:CREATE VIEW grade_s_avg

AS

SELECT grade,specialty,cno,avg(score) AS 平均成绩

FROM student,sc

WHERE student.sno=sc.sno

GROUP BY grade,specialty,cno

分析:此视图为不可更新视图。因为此视图中grade,specialty,cno 受GROUP BY影响,为分组列;而”平均成绩”受聚合函数影响,为计算列。

12.在SQL Server Management Studio中按照“sc”表的成绩列升序创建一个普通索引(非唯一、非聚集)。并举例说明什么查询语句会利用此索引加快查询速度。

答:创建索引(略)。

举例:SELECT * FROM sc WHERE score>=80

又例:SELECT * FROM sc WHERE cno=’C001’

ORDER BY score

13.利用T-SQL语句按照“goods”表的单价列降序创建一个普通索引。并举例说明什么查询语句会利用此索引加快查询速度。

答:CREATE INDEX index_price ON goods(price DESC)

举例:SELECT * FROM goods WHERE price<=1000

又例:SELECT * FROM goods

ORDER BY price

14.利用T-SQL语句按照“manager”表的出生年月列升序创建一个普通索引。并举例说明什么查询语句会利用此索引加快查询速度。

答:CREATE INDEX index_birthday ON manager (birthday)

举例:SELECT * FROM manager

ORDER BY birthday

相关文章:

数据库基础知识点(系列七)

视图和索引相关的语句 1&#xff0e;引入视图的主要目的是什么? 答&#xff1a;数据库的基本表是按照数据库设计人员的观点设计的&#xff0c;并不一定符合用户的需求。SQL Server 2008可以根据用户需求重新定义表的数据结构&#xff0c;这种数据结构就是视图。视图是关系数据…...

FreeRTOS 队列结构体 xQUEUE 深度解析

一、核心成员与功能设计 FreeRTOS 的队列结构体 xQUEUE 是任务间通信&#xff08;IPC&#xff09;的核心数据结构&#xff0c;通过统一的设计支持队列、信号量、互斥量等多种同步机制。其设计体现了 ​**"数据拷贝 结构复用"** 的理念&#xff0c;兼顾轻量化与扩展…...

3.3 Taylor公式

1.定义 1.1 taylor公式 1.2 麦克劳林公式 1.3 推论 1.4 拉格朗日余项和皮亚诺型余项 2. 例题 3.几种特殊函数的麦克劳林展开...

2000-2019年各省地方财政行政事业性收费收入数据

2000-2019年各省地方财政行政事业性收费收入数据 1、时间&#xff1a;2000-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区、年份、地方财政行政事业性收费收入 4、范围&#xff1a;31省 5、指标说明&#xff1a;地方财政行政事业…...

Ftrans飞驰云联受邀参加“2025汽车零部件CIO年会“并荣获智象奖

2025年3月6日&#xff0c;由栖观汽车、栖观资讯和飞羽商务主办的“2025第二届中国汽车&零部件CIO年会暨智象奖颁奖盛典”于上海盛大召开&#xff0c;Ftrans飞驰云联作为国内领先的企业文件传输与数据交换解决方案提供商&#xff0c;受邀出席了年会&#xff0c;并凭借卓越的…...

C++vector常用接口和模拟实现

C中的vector是一个可变容量的数组容器&#xff0c;它可以像数组一样使用[]进行数据的访问&#xff0c;但是又不像C语言数组空间是静态的&#xff0c;它的空间是动态可变的。 在日常中我们只需要了解常用的接口即可&#xff0c;不常用的接口查文档即可。 1.构造函数 //空构造…...

oracle查询归档日志使用量

1.统计最近30天的数据 SELECT TRUNC(first_time, DD) "日期", SUM(blocks * block_size) / 1024 / 1024 / 1024 "大小(GB)" FROM v$archived_log WHERE first_time > SYSDATE - 30 -- 统计最近30天的数据 GROUP BY TRUNC(first_time, DD) ORDER BY 1 D…...

计算机二级WPS Office第七套WPS演示

解题过程...

2025-03-26 学习记录--C/C++-PTA 6-3 求链式表的表长

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 6-3 求链式表的表长 本题要求实现一个函数&#xff0c;求链式表的表长。 函数接口定义&#xff1a; &…...

【Mysql】事务管理:原理、操作与应用

文章目录 一、事务概述二、事务的特性&#xff08;ACID&#xff09;原子性&#xff08;Atomicity&#xff09;一致性&#xff08;Consistency&#xff09;隔离性&#xff08;Isolation&#xff09;持久性&#xff08;Durability&#xff09; 三、事务的操作事务的提交方式查看和…...

PHP框架 ThinkPHP 漏洞探测分析

目录 1. PHP历史利用最多的漏洞有哪些&#xff1f; 2. 如何在信息收集的过程中收到框架信息&#xff1f;有什么根据&#xff1f; 3. ThinkPHP框架漏洞扫描有哪些工具&#xff1f;红队攻击有哪些方式&#xff1f; 漏洞扫描工具 红队攻击方式 4. TPscan工具的主要作用及实际…...

A Brief History: from GPT-1 to GPT-3

This is my reading notes of 《Developing Apps with GPT-4 and ChatGPT》. In this section, we will introduce the evolution of the OpenAI GPT medels from GPT-1 to GPT-4. GPT-1 In mid-2018, OpenAI published a paper titled “Improving Language Understanding …...

大模型在支气管肺癌预测及临床决策中的应用研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 二、大模型预测支气管肺癌的原理与技术基础 2.1 大模型简介 2.2 数据收集与预处理 2.3 模型训练与优化 三、术前预测 3.1 病情评估 3.1.1 肿瘤大小、位置及分期预测 3.1.2 转移风险预测 3.2 手术风险预测 3.2.1 患…...

SylixOS 中 select 原理及使用分析

1、select接口简介 1.1 select接口使用用例 select 是操作系统多路 I/O 复用技术实现的方式之一。 select 函数允许程序监视多个文件描述符&#xff0c;等待所监视的一个或者多个文件描述符变为“准备好”的状态。所谓的”准备好“状态是指&#xff1a;文件描述符不再是阻塞状…...

软考笔记——软件工程基础知识

第五章节——软件工程基础知识 软件工程基础知识 第五章节——软件工程基础知识一、软件工程概述1. 计算机软件2. 软件工程基本原理3. 软件生命周期4. 软件过程 二、软件过程模型1. 瀑布模型2. 增量模型3. 演化模型&#xff08;原型模型、螺旋模型)4. 喷泉模型5. 基于构建的开发…...

FastGPT原理分析-数据集创建第二步:处理任务的执行

概述 文章《FastGPT原理分析-数据集创建第一步》已经分析了数据集创建的第一步&#xff1a;文件上传和预处理的实现逻辑。本文介绍文件上传后&#xff0c;数据处理任务的具体实现逻辑。 数据集创建总体实现步骤 从上文可知数据集创建总体上来说分为两大步骤&#xff1a; &a…...

基于Python的3D贴图制作技术研究与实践

摘要&#xff1a;本文深入探讨了利用Python进行3D贴图制作的技术&#xff0c;介绍了Python在3D图形领域的应用优势&#xff0c;阐述了3D贴图的基本原理和常见类型。详细讲解了借助Python的相关库&#xff0c;如Pillow、OpenCV、PyTorch3D开展3D贴图制作的流程&#xff0c;包括纹…...

【MySQL数据库】视图 + 三范式

视图 视图的基本介绍 MySQL中的视图&#xff08;View&#xff09;是一种虚拟的表&#xff0c;其内容是从一个或多个基本表中检索出来的。视图可以简化复杂的查询操作&#xff0c;提高查询效率&#xff0c;同时也可以对敏感数据进行安全性控制。下面是关于MySQL视图的一些基本…...

STM32学习笔记之存储器映射(原理篇)

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…...

如何通过数据可视化提升管理效率

通过数据可视化提升管理效率的核心方法包括清晰展示关键指标、及时发现和解决问题、支持决策优化。其中&#xff0c;清晰展示关键指标尤为重要。通过数据可视化工具直观地呈现关键绩效指标&#xff08;KPI&#xff09;&#xff0c;管理者能快速、准确地理解业务现状&#xff0c…...

数据结构:利用递推式计算next表

next 表是 KMP 算法的核心内容&#xff0c;下面介绍一种计算 next 表的方法&#xff1a;利用递推式计算 如图 6.3.1 所示&#xff0c;在某一趟匹配中&#xff0c;当对比到最后一个字符的时候&#xff0c;发现匹配失败&#xff08;s[i] ≠ t[j]&#xff09;。根据 BF 算法&…...

每日算法-250326

83. 删除排序链表中的重复元素 题目描述 思路 使用快慢指针遍历排序链表。slow 指针指向当前不重复序列的最后一个节点&#xff0c;fast 指针用于向前遍历探索。当 fast 找到一个与 slow 指向的节点值不同的新节点时&#xff0c;就将 slow 的 next 指向 fast&#xff0c;然后 …...

trino查询mysql报Unknown or incorrect time zone: ‘Asia/Shanghai‘

问题 trino查询mysql时报Error listing schemas for catalog mysql: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.&#xff0c;trino的日志中看到Unknown or incorrect time zone…...

java学习笔记7——面向对象

关键字&#xff1a;static 类变量 静态变量的内存解析&#xff1a; 相关代码&#xff1a; public class ChineseTest {public static void main(String[] args) {System.out.println(Chinese.nation); //null 没赋值前System.out.println(Chinese.nation); //中国 静态变量赋值…...

leetcode day31 453+435

453 用最少数量引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地…...

C++三大特性之继承

1.继承的概念及定义 回忆封装 C Stack类设计和C设计Stack对比。封装更好&#xff1a;访问限定符类的数据和方法放在一起 -> 避免底层接口的暴露&#xff0c;数据更加的安全&#xff0c;程序的耦合性更高迭代器的设计&#xff0c;封装了容器底层结构&#xff0c;在不暴露底层…...

PyQt QDoubleSpinBox控件用法详解

QDoubleSpinBox 是 PyQt中用于输入浮点数的控件&#xff0c;支持键盘输入和上下箭头调整数值。与QtSpinBox不同&#xff0c;QtSpinBox是用于输入整数的控件。 关键属性和方法 QDoubleSpinBox 的关键属性和方法如下表所示&#xff1a; 方法/属性说明setRange(min, max)设置数…...

解决Vmware 运行虚拟机Ubuntu22.04卡顿、终端打字延迟问题

亲测可用 打开虚拟机设置&#xff0c;关闭加速3D图形 &#xff08;应该是显卡驱动的问题&#xff0c;不知道那个版本的驱动不会出现这个问题&#xff0c;所以干脆把加速关了&#xff09;...

查询Marklogic数据库,因索引配置造成的返回数据count不同的问题

查询Marklogic数据库&#xff0c;因索引配置造成的返回数据count不同的问题 一&#xff0c;问题&#xff1a; 目前由两个MarkLogic DB&#xff0c;其中A表示所有的数据库统称&#xff0c;包含于BCD&#xff1b; 调用查询接口&#xff0c;通过A和B入口且相同的查询条件去查询B…...

ctfshow做题笔记—栈溢出—pwn73、pwn74

目录 一、pwn73(愉快的尝试一下一把梭吧&#xff01;) 二、pwn74(噢&#xff1f;好像到现在为止还没有了解到one_gadget?) 前言&#xff1a; 抽空闲时间继续学习&#xff0c;记录了两道题&#xff0c;pwn74卡了几天哈哈。 一、pwn73(愉快的尝试一下一把梭吧&#xff01;) …...