一、视图是一种常用的数据库对象,将查询的结果以虚拟表形式存储在数据中,并不在数据中以存储数据集的形式存在。视图的结果和内容是建立在对表的查询基础之上的,和表一样,包括行和列,这些行、列数据都来源于所引用的表,并且是在引用视图过程中动态生成的。
视图中的内容是由查询定义来的,并且视图和查询都是通过SQL语句定义的,他们有着许多相同之处,但又很多不同之处。视图和查询的区别如下:
1. 存储:视图存储为数据库设计的一部分,查询则不是。视图可以禁止所有用户访问数据库中的基表,查询要求用户只能通过视图操作数据。这种方法可以包含用户和应用程序不受某些数据库修改的影响,同样也可以包含数据库表的安全性。
2. 排序:查询的结果都可以拍下,而是他只有包括TOP子句时才能进行排序。
3. 加密:视图可以加密,但查询不能加密。
视图是一个虚拟的数据表,可以是多个表的查询结果,视图的优点包括以下几个方面。
1.简化操作
视图可以是比较复杂的多表关联查询,每一次执行相同的查询时,只需要一条简单的查询视图语句就可以解决复杂查询的问题。视图简化了操作的复杂性,使初学者不必掌握复杂的查询语句,就可以实现多个数据表间的复杂查询工作。对一个视图的访问要比对多个表的访问容易得多,大大简化了用户的操作。
2.建立浅谈和后台缓冲
在数据库开发过程中,可以通过调用视图来实现查询功能。通过对视图的调用,在数据表结果更改时,只要视图的输出列不发生变化,就可以避免对应用程序的修改。大大提高了数据库的开发效率,同时降低了开发成本。
3.合并分割数据
通过视图可以对表中数据进行水平分割或垂直分割。用户而言对一个表或多个表中的数据列进行有选择的查看,简化数据结构;可以通过在食堂中使用WHERE子句水平分割数据,限制表中显示的数据。
4.提高安全性
视图可以作为一种安全机制。通过视图可以限定用户查看和修改的数据表和列,其他数据信息只能是有访问权限的用户才能查看和修改。例如,对于工资表中信息,一般用过只能看到表中的姓名、办公室、工作电话和部门等,只有复杂相关操作的人才有权限查看或修改。如果某一用户想要访问视图的结果集,必须被授予访问权限,视图所引用的表访问权限与视图权限的设置互不影响。在数据库开发设计时,不同级别用户共用一个数据库时应用得极其广泛。
二、存储过程也称为存储查询,是存储在数据库中预先定义的SQL语句。它可以将常用的或很复杂的工作预先用SQL语句写好,并用一个值得的名称存储起来。使用时,只需要调用该存储过程就可以自动完成命令。现在的程序员在代码中都不直接使用SQL字符串,而是利用创建和使用存储过程来代替。这样做的好处如下。
1.存储过程只在创建时进行编译,以后执行存储过程时都不需要重新编译;而SQL语句每执行一次都要编译一次,所以使用存储过程可以提供数据库执行速度。
2.当对数据库进行复杂操作时,可以将这些复杂操作利用存储过程封装起来与数据库提供的事务处理结合在一起使用。
3.存储过程的安全性高,可以设定只有魔鬼用户才具有对其指定存储过程的使用权。
4.存储过程可以将所有SQL语句代码集中存放于服务器,避免将.net代码和冗长的SQL语句混在一起,从而使.NET代码更容易维护。
5.在存储过程中可以使用输出参数,允许返回记录集或其他值。
6.存储过程可以重复使用,大大减少了数据库开发人员的工作量。
三、触发器是数据库服务器中发生事件时自动执行的特殊存储过程,它插入、删除或修改特表中的数据时触发执行。触发器通常可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加的功能。
在Sqlserver中一张表可以有多个触发器。用户可以根据INSERT、UPDATE或DELETE语句对触发器进行设置,也可以对一张表上的特别操作设置多个触发器。触发器可以包含复杂的T-SQL语句。触发器不能通过名称被直接调用,更不允许设置参数。
触发器的特点如下:
(1)触发器自动执行
对表中的数据进行修改后,触发器立即被激活。
(2)可以调用存储过程
为了实现复杂的数据库更新操作,触发器可以调用一个或多个存储过程,甚至可以通过调用外部过程(不是数据库管理系统本身)完成相应的操作。
(3)可以强化数据条件约束
触发器能够实现比CHECK约束更为复杂的数据完整性约束。在数据库中为了实现数据完整性约束,可以使用CHECK约束或触发器。CHECK约束不允许引用其他表中的例来完成检查工作,而触发器可以引用其他表中的列,更适合在大型数据库管理系统中用来约束数据的完整性。
(4)触发器可以禁止或回滚违反引用完整性的更改
触发器可以检测数据内的操作,从而取消数据库未经许可的更新操作,使数据库修改、更新操作更安全,数据库的运行也更稳定。
(5)级联、并行运行
触发器能够对数据库中的相关表实现级联更改。触发器是基于一个表创建的,但是可以针对多个表进行操作,实现数据库中相关表的级联更改。
(6)同表多触发器
一个表中可以同时存在3个不同操作的触发器(INSERT、UPDATE和DELETE)。
分享到:
相关推荐
SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则
SQL的存储过程、触发器等建立视图存储过程触发器函数(自定义函数)索引 视图 视图是从一个或几个基本表(或视图)导出的表。不同的是,它是一虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据...
在IT行业的数据库管理领域,视图、索引、存储过程和触发器是四个核心概念,它们各自发挥着关键作用,帮助提升数据库的性能、安全性和维护性。下面,我们将深入探讨这四个概念,并结合给定文件的部分内容进行具体分析...
在“SQL 2005 中触发器、事务,存储过程、视图_T-SQL语句”的课程中,你可能会学习到如何创建和管理这些对象,包括编写触发器的语法,理解事务管理的基本原则,如何定义和执行存储过程,以及如何创建和使用视图。...
在数据库管理领域,视图、存储过程和触发器是三个重要的概念,它们在数据库设计和应用程序开发中扮演着至关重要的角色。特别是在Java Server Pages (JSP)开发中,理解并熟练运用这些技术能够提高应用程序的性能、...
在SQL Server 2005中,索引、视图、存储过程和触发器是数据库管理系统中的关键元素,它们在数据库设计和优化中扮演着重要角色。以下是对这些概念的详细解释: **索引**: 索引是数据库系统中为了加快数据检索速度而...
SQL Server 数据库基础.pdf,SQL Server 数据管理(常用函数).pdf,SQL Server 数据查询(表的关联).pdf,SQL Server 事务索引视图.pdf,SQL Server 存储过程及触发器.pdf,SQL Server 编程及高级查询.pdf,让你从入门...
Sybase IQ 中的存储过程、视图和触发器都是数据库中重要的组成部分,它们提供了强大的功能来管理和操作数据。通过合理的使用这些特性,可以显著提高应用程序的性能和安全性。在实际应用中,开发者应根据具体需求选择...
存储过程是预编译的SQL语句集合,它们被封装在一个命名的模块中,可以被多次调用。存储过程在数据库中创建后,会存储在数据库服务器的内存中,当需要执行时,可以从内存中快速调用,从而提高执行速度和系统性能。...
这些是平时个人兴趣爱好收集到的易飞ERP系统触发器/函数/储存过程/视图集。适合人群:系统管理员,运维专员或鼎捷顾问等
在数据库管理中,表、视图、存储过程和触发器是四大关键元素,它们共同构建了数据管理和交互的基础架构。下面将详细介绍这四个概念以及如何用代码创建它们。 1. **表的建立**:表是数据库中最基本的数据结构,用于...
通过上述实验,可以深入理解数据库中存储过程、触发器和函数的使用,提高SQL编程能力,以及如何利用这些工具优化数据库操作和维护数据一致性。在实际项目中,这些知识对于构建高效、安全的数据库系统至关重要。
触发器可以在表或视图上定义,分为三种类型:DML触发器、DDL触发器和登录触发器。DML触发器是最常见的一种,用于响应数据更改操作。 ##### 9.3.2 创建触发器 创建触发器的基本语法如下: ```sql CREATE TRIGGER ...
数据库存储过程和触发器是数据库管理系统中的重要组成部分,它们在数据操作和业务逻辑实现中扮演着关键角色。在这个实验中,我们将深入理解这两者的...请确保仔细阅读和实践,以深化你对数据库存储过程和触发器的理解。
SSMS提供了创建和管理存储过程、触发器、函数、视图等数据库对象的图形界面。 对于存储过程的调用,文中提到了EXECUTE或EXEC语句。这些语句用于执行一个存储过程,并可传递输入参数,接受输出参数,以及获取存储...
本资源“SQL语句大全”涵盖了多个关键概念,包括程序设计、视图、索引、游标、事务、触发器、锁、存储过程、XML以及权限管理。以下是对这些主题的详细阐述: 1. **程序设计**:T-SQL(Transact-SQL)是SQL Server中...
视图,触发器,存储过程,ER图.sqlserver数据库实训,广告公司管理系统,sqlsever数据库大作业,包括增删改查。。视图,触发器,存储过程,ER图.sqlserver数据库实训,广告公司管理系统,sqlsever数据库大作业,包括...
在Oracle存储过程和触发器教程中,你将会学习如何创建、调用和管理这些对象,以及如何使用PL/SQL编写控制流语句,处理异常,以及与表、视图和索引等其他数据库对象交互。"教程说明见这里.txt"文件可能包含详细的步骤...