【数据库视频】总结二
- 创建表
例子:
- 临时表:是临时创建的、不能永久保存。
分类:本地临时表(#开头,对当前用户可见,断开即删除)
全局临时表(##开头,对所有用户可见,断开即删除)
- 规则:是单独的SQL Server 对象,可以关联到一个或几个表中的一列或几列。
他可以使用多种方式来完成对数据的检验,可以使用函数返回信息,也可以使用关键字BETWEEN、LIKE和IN完成对输入数据的检查。
- 规则与CHECK约束的不同主要表现在一下方面:
1.CHECK约束是用CREATE TALBAE语句在创建表时指定的,而规则需要作为单独的数据库对象来实现。
2.在一列上只能使用一个规则,但可以使用多个CHECK约束
3.规则可以应用于多个列,还可以应用于用户自定义的数据类型,而CHECK约束只能应用于它定义的列。
- 索引:索引是一个单独的、物理的数据局结构,他是某个表中一列或者若干列的集合和响应的指向表中物理标识这些值的数据页的逻辑指针清单。索引一旦创建,将由数据库自动管理和维护。
优点:保证数据记录的唯一性
加快数据检索速度
加快表与表之间的连接速度
在使用ORDER BY 和 GROUP BY 子句中进行检索时,可以减少时间。
可以在检索数据的过程中使用优化隐藏器
- 创建索引
- 存储过程
是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中。
- 为什么要使用存储过程?
1.存储过程与其他应用程序共享应用程序逻辑,因而确保了访问和修改的一致性。
2.存储过程具有安全性和所有权链接,以及可以附加到它们的证书。
3.存储过程提供了安全机制
4.存储过程允许模块化设计
5.存储过程可以减少网络通信流量
- 存储过程种类
用户自定义存储过程
系统存储过程
扩展存储过程
- 创建存储过程
- 例子:
- 输出参数
简单一点说就是带有output标识的参数在存储过程中的修改将被保存。如果不带储存过程运行结束后,参数消失。
- 触发器
是一个在修改指定表中的数据时执行的存储过程。
通过触发器来实现不同表中的逻辑相关数据的引用完整性或一致性。
- 为什么要使用触发器
触发器自动执行
可以通过数据库中的相关表层叠更改
强制限制
- 触发器种类
DDL触发器:当服务器或者数据库中发证数据定义语言(DDL)事件时被调用
执行以下操作可以使用DDL触发器: 防止对数据库架构进行更改
数据库发生某种情况响应数据库构架中的更改
记录构架更改或事件
DML触发器:当数据库或服务器中发生数据操作语言(DML)事件时要执行的操作。
种类: INSERT触发器 UPDATE触发器 DELETE触发器
- 创建触发器
例子:(创建INSERT触发器)
FOR 是执行完成之后出发DELETED触发器
- 递归触发器
使用递归触发器原则:
必须经过有条理的设计和全面的测试
所有触发器一起构成一个大事务
触发器最多只能递归16层