【数据库原理复习】ch3 索引 视图 触发器 过程 sql语句
创始人
2024-05-31 18:04:17
0

这里写目录标题

  • 视图
    • 视图特点
    • 视图定义
    • 优点
  • 索引
    • 相关sql
    • 三种索引区别解释
  • 触发器
    • 虚表
  • 过程

视图

视图特点

  • 只是虚表,并不实际存放数据,所有数据都来自于基本表
  • 建立在一个或几个基本表或视图之上
  • 基本表数据变化视图也随之变化
  • 只保存视图定义等之类东西

视图定义

# 定义视图,视图展现的就是子查询的结果
# 子查询不允许有order by 或者 distinct
CREATE VIEW view_name[(<列名> [,<列名>....])]
AS <子查询>
[WITH CHECK OPTION];			# 自动执行检查操作# e.g.
CREATE VIEW IS_Student
as
select Sno, Sname, Sage
from Student
where Sdept = 'IS'
with check option;# 插入操作:自动添加Sdept = 'IS'
# 修改操作同上
# 删除操作同上
# 如果Sdept不为IS拒绝操作
# 如果没有提供Sdept自动添加# 删除视图
DROP VIEW view_name [cascade]

其余操作增删查改操作与基本表相同

优点

  • 简化用户操作
  • 以多种角度看待数据
  • 提供一定的逻辑独立性
  • 有一定的安全性
  • 适当视图有利用更清晰的表达

索引

索引目的:加快查询速度
一般 primary key unique会自动为其建立索引
索引类别:

  • unique 唯一索引
  • cluster 聚集索引
  • noncluster 非唯一索引

相关sql

# 建立索引
CREATE [UNIQUE][CLUSTER] INDEX <索引名称>
ON <表名> (<列名>[,<列名>......])# 删除索引
DROP INDEX <索引名>

三种索引区别解释

一张表只能有一个聚集索引,可以有许多个非聚集索引
数据库表里面的数据比作比作一本字典。聚集索引相当于决定了字典中第一章第二章的排列顺序。添加非聚集索引相当于为其添加了一个目录。相当于字典以偏旁为规则排列了字典的内容,但是可以有拼音目录,笔画目录来查找这个字。

聚集索引能够大大加快group by等块查找语句的速度。因为数据库底层使用B+与HASH进行存储,在操作系统中,文件以分页进行存储。当以某个字段顺序进行存储时候,查找这个字段,也就是将这个字段所在页调入内存查找,而这个页也包含了这个字段值的附近值,所以进行块查找时候就不需要大量进行IO操作,只需要找内存里的页即可。

而为什么添加索引能够加快查找速度?

  • 因为原来在物理存放时候,可能按照其他某个字段进行聚集存放,但是如果按照这个字段进行查找就只能进行顺序查找。如果为这个字段建立了索引,相当于根据这个字段添加了一个目录,查找速度就上去了。在物理结构当中,应该是添加了一个B+树的除了叶子节点上部分。而且如果这个字段不是unique字段,那么有可能会有重复,SqlServer会为这个字段添加一个hash值,做到一一对应,然后再进行一个B+树。

SqlServer默认为主键添加聚集索引

触发器

当满足某种条件时候,自动由服务器进行完成。
可以进行更为复杂的检查操作

触发事件:

  • insert
  • delete
  • update
    可以选择在这些语句之前还是之后进行执行

触发器类型:

  • 行级触发器,(FOR EACH ROW),对于每一个语句都会触发一次触发器
  • 语句级触发器(FOR EACH STATEMENT)对于这个触发器只会触发一次
# 定义触发器
CREATE TRIGGER trigger_name				
before insert or update on table_name	# 表名触发事件是insert与update,且在执行这条语句之前就执行
for each row							# 触发器每条语句都执行
as
begin									# 具体动作体
# 在插入数据时候,自动往日志表中添加一条记录insert into Sal_log values(new.Eno, new.sal, CURRENT_USER, CURRENT_TIMESTAMP)
end# 删除触发器
DROP TRIGGER <触发器名称> ON <表名>

虚表

过程

相关内容

热门资讯

峰米系统是安卓系统吗,揭秘安卓... 你有没有听说过峰米系统?最近这个话题在数码圈里可是挺火的。很多人都在问,峰米系统是安卓系统吗?今天,...
华为系统emui和安卓系统的区... 你有没有发现,手机的世界里,系统就像是它们的灵魂,决定了它们能跳得多高、飞得多远。今天,咱们就来聊聊...
朗逸安卓系统车载导航,安卓系统... 你有没有想过,开车的时候,导航系统就像是个贴心的导航小精灵,带你穿梭在城市的每一个角落?今天,就让我...
排球鹰眼系统辅助器安卓,安卓排... 你有没有想过,在观看排球比赛时,那些精准的鹰眼系统是如何让比赛画面更加清晰、精彩呢?现在,就让我带你...
安卓系统和magic的区别 你有没有发现,现在手机市场上安卓系统和Magic系统就像是一对双胞胎,长得有点像,但又各有各的特色。...
安卓系统模拟win7,轻松实现... 你有没有想过,在安卓手机上也能体验Windows 7的韵味呢?没错,这就是今天我要跟你分享的神奇之旅...
安卓系统查公交车 你有没有想过,在繁忙的都市生活中,如何轻松地查找到你心仪的公交车呢?别急,今天就来给你支个招——利用...
强悍的安卓10系统下载,强悍性... 你有没有听说最近安卓系统又升级啦?没错,就是那个强悍的安卓10系统!你是不是已经迫不及待想要体验一下...
安卓不开机怎么重置系统,轻松恢... 手机突然不开机了,是不是心里慌得一批?别急,今天就来教你一招,让你的安卓手机重置系统,恢复活力! 一...
安卓怎么移植到苹果系统,揭秘跨... 你是不是也和我一样,手里拿着安卓手机,却对那苹果系统的诱惑无法抗拒?想要把安卓上的宝贝应用和资料搬到...
安卓9系统特点在哪,系统革新与... 你有没有发现,你的安卓手机最近是不是变得有点不一样了?没错,就是那个默默无闻的安卓系统,它悄悄地升级...
苹果手机系统操作安卓版,轻松迁... 你有没有想过,为什么苹果手机的系统那么受欢迎,而安卓版却总是被大家调侃呢?今天,就让我带你从多个角度...
麦芽安装安卓系统怎么安装,轻松... 你有没有想过,把安卓系统装到麦芽上,是不是就像给老式收音机配上蓝牙功能那么酷炫呢?想象你的麦芽设备瞬...
直板安卓系统手机游戏,直板安卓... 你有没有发现,最近手机游戏界又掀起了一股热潮?没错,就是那些让你一玩就停不下来的直板安卓系统手机游戏...
nolia是安卓系统吗,安卓系... 你有没有听说过Nolia这个操作系统?最近它在科技圈里可是小火了一把呢!很多人都在问,Nolia是安...
改善后的安卓系统,探索安卓系统... 你知道吗?最近安卓系统可是来了一次大变身,简直就像是换了个新灵魂一样! 作为一个紧跟科技潮流的数码达...
安卓系统小票机如何使用,轻松实... 你有没有想过,在繁忙的超市、商场或者餐厅,那些快速打印出小票的机器竟然是运行在安卓系统上的呢?没错,...
rm1090刷安卓系统 你有没有想过,给手机换个新系统,就像给它换了个新灵魂?今天,就让我带你一起探索如何用rm1090刷安...
369出行安卓系统,智慧导航新... 你有没有发现,最近出行软件界又掀起了一股热潮?没错,就是那个备受瞩目的369出行安卓系统!今天,就让...
韩国请假系统下载安卓版,享受便... 你知道吗?最近有个超级实用的韩国请假系统在咱们安卓用户中传得沸沸扬扬的!这个系统不仅操作简单,而且功...