0
点赞
收藏
分享

微信扫一扫

一学就会的Sql server之索引、视图、存储过程和触发器


掌握创建索引、视图、存储过程和触发器的方法,并了解作用


  • ​​一.索引​​
  • ​​二.视图​​
  • ​​三.存储过程​​
  • ​​四.触发器​​

一.索引

1.理论讲解
为什么要用索引?
数据库数据不断增多,结构复杂度越来越高,查询更加不方便,索引能加快查询速度,提高管理员工作效率。
什么是索引?
索引是SQL Server编排数据内部方法,通过索引可以快速查找数据,而无需扫描整个表。

唯一索引:唯一索引不允许两行具有相同的索引值。通过你的遗传基因,来区分查找你,独一无二。
主键索引:要求主键中的每个值是唯一的。
聚集索引:数据存放的物理顺序与索引顺序相同。把你的姓名按照辈分排序做家谱,前面的是长辈,你和你的哥哥弟弟是同辈,在同一页。
非聚集索引:数据存放的物理顺序与索引顺序不不相同。
复合索引:将多个列组合而成的索引。
全文索引:一种特殊类型的基于标记的功能性索引。
唯一索引和主键索引的区别:
主键索引一定是唯一索引,唯一索引不一定是主键索引。主键索引一定是聚集索引。唯一索引不一定是聚集索引。
选择索引列的标准:
频繁搜索的列
经常用作查询选择的列
经常排序、分组的列
经常用作连接的列(主键/外键)

2.创建索引

方法一:通过SSMS图形化界面创建。

⑴选中一张表,展开表,找到索引,右击索引——新建索引

一学就会的Sql server之索引、视图、存储过程和触发器_运维


⑵在新建索引对话框中,指定索引名称,可以选择给那一列创建索引,创建什么类型的索引,完成后点击确定,就创建好了一个新的索引。

一学就会的Sql server之索引、视图、存储过程和触发器_大数据_02


一学就会的Sql server之索引、视图、存储过程和触发器_其他_03


方法二:通过SQL造句创建.

语法:

Create index 索引名称

On 表名称(列名 asc)

asc表示:升序排列,不加默认是升序。例:

一学就会的Sql server之索引、视图、存储过程和触发器_数据库_04


使用sql语句索引查询方法

Select * from 表名

With (index=索引名称)

例:

一学就会的Sql server之索引、视图、存储过程和触发器_大数据_05

二.视图

1.理论讲解
什么是视图?
视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。
视图直接显示来自表中的数据,只供查看,无法修改。

好处:
对最终用户的好处
⑴.结果容易理解。创建视图时,可以把列名改为有意义的名称。在视图中修改列名不会影响基表的列名
⑵.获得数据更容易。不需要懂T-SQL 的查询语言,通过视图即可获得数据。
对开发人员的好处
⑴.限制数据检索更容易。建视图时可将对用户保密的列排除在外。
⑵.维护应用程序更方便。调试视图比调试查询更容易

2.创建视图

方法一:通过SSMS图形化界面创建

⑴展开数据库——找到视图,右击视图——新建视图

一学就会的Sql server之索引、视图、存储过程和触发器_运维_06


⑵选择要添加到视图中的表,选择表然后点击添加。可以添加多张表。添加完成后点击关闭。

一学就会的Sql server之索引、视图、存储过程和触发器_运维_07


⑶手动选择表之间的连接条件,并选择最终要在视图中显示的列。(在要显示的列前面打钩)

一学就会的Sql server之索引、视图、存储过程和触发器_运维_08


⑷配置完后,点击保存,输入视图名称,点击确定。

一学就会的Sql server之索引、视图、存储过程和触发器_大数据_09


一学就会的Sql server之索引、视图、存储过程和触发器_其他_10


一学就会的Sql server之索引、视图、存储过程和触发器_数据库_11


⑸在查询视图时,因为视图是虚拟表所有可以直接使用select 进行查询。

一学就会的Sql server之索引、视图、存储过程和触发器_其他_12


方法二:使用T-SQL语句创建视图.

语法:

Create view 视图名称

As

Select 语句例:

一学就会的Sql server之索引、视图、存储过程和触发器_其他_13

三.存储过程

1.理论讲解

什么是存储过程?

存储过程是SQL语句和控制语句的预编译集合,保存在数据库里,可由应用程序调用执行。

优点:

模块化程序设计

执行速度快,效率高

减少网络流量

具有良好的安全性

存储过程分类:

㈠、系统存储过程

1.常用的系统存储过程(以“sp_”开头,存放在Resource数据库中)

一学就会的Sql server之索引、视图、存储过程和触发器_大数据_14


2.常用的扩展存储过程

以“xp_”开头,以DLL形式单独存在,扩展存储过程默认被关闭,需要启用。

一学就会的Sql server之索引、视图、存储过程和触发器_sql_15


㈡、用户自定义的存储过程

1.创建存储过程:
方法一(使用T-SQL语句创建)
Create proc 存储过程名称
[@参数1 数据类型]
[@参数1 数据类型]
As
SQL 语句

例:

一学就会的Sql server之索引、视图、存储过程和触发器_数据库_16


2.调用执行存储过程:

Exec 存储过程名称

一学就会的Sql server之索引、视图、存储过程和触发器_运维_17


方法二:使用SSMS创建

一学就会的Sql server之索引、视图、存储过程和触发器_运维_18

四.触发器

1.理论讲解

为什么要用触发器?

减少管理人员工作量,由管理员设置的条件自动触发执行插入,更改或删除的任务。

什么是触发器?

是在对表进行插入、更新或删除操作时自动执行的存储过程。

用于强制业务规则,可以定义比用 CHECK 约束更为复杂的约束。

通过事件触发而被执行的。

分类:

INSERT触发器:当向表中插入数据时触发

UPDATE触发器:当更新表中某列、多列时触发

DELETE触发器:当删除表中记录时触发

触发器涉及到两张表(delete表和inserted表)(由系统管理,用户不可以修改)

一学就会的Sql server之索引、视图、存储过程和触发器_数据库_19


作用:

强化约束(实现比CHECK语句更为复杂的约束)

跟踪变化(侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化)

级联运行(侦测数据库内的操作,并自动地级联影响整个数据库的各项内容)

2.创建触发器

方法一:使用SSMS创建

一学就会的Sql server之索引、视图、存储过程和触发器_sql_20


方法二:使用T-SQL语句创建

语法:

Create trigger 触发器名称

On 执行触发器的表

[with encryption] #加密syscomments 表中包含create trigger语句文本的条目。

From [delete,insert,update]

As

SQL 语句

例:

一学就会的Sql server之索引、视图、存储过程和触发器_数据库_21


验证:删除changji 表中数据时会自动回滚,并提示禁止删除。

一学就会的Sql server之索引、视图、存储过程和触发器_大数据_22


如有问题欢迎在评论处回复,感谢您的支持!


举报

相关推荐

0 条评论