mssql里的数据库对象定义

一、表:
表是一个二维关系,用来存储数据库的所有数据,表的结构包括列和行这样的二维关系。列主要描述数据的属性,行是组织数据的单位。
在企业管理器里可以对表进行一切有关的操作,当然这些操作在查询分析器里都有对应的sql语句。

二、视图
视图是一个定义在基本表上的虚表,它不存放数据。基本表中的数据发生变化,从视图中查询出的数据也就随之变化。视图常用来简化用户操作和加强表的安全性。

三、索引
索引是建立在表的列上的一种数据库对象,为表中的数据提供逻辑关系,从而提供数据的访问速度。如果不建立索引,则当查询数据时sqlserver会读取每一行和每一列的数据才能找出目标行,它的功能如果书的目录一样,可以用简明的信息指出数据的所在位置,所以当对表中的列建立索引以后,sqlserver将不必扫描整个表就可以迅速找到对应的信息。
索引的建立有利有弊,过多的索引会占用磁盘空间,另外insert、update、delete也会破坏索引。
当用户删除某个表时,所有建立在该表上的索引都将被删除。

四、约束
约束是用来限制用户输入到表中的值的范围。体现数据的完整性。它有以下几种:pk约束、fk约束、unique约束和check约束。

五、存储过程
存储过程是一组预先编译好的T-SQL代码。它可以提高程序的运行效率。执行速度快,模块化的设计简化了业务逻辑,可以减少网络通信量,保证表数据的安全。它也是数据完整性的一种体现。

六、触发器
触发器是一种特殊的存储过程,它基于一个表创建,但可以针对多个表操作,响应update、delete、insert操作。适用于存储过程的管理方式都适用于触发器。它同样用于体现数据的完整性。
当用户删除某个表时,所有建立在该表上的触发器都将被删除。
使用触发器可以使用sqlserver两张特殊的局部临时表:inserted和deleted。这两张表存储在高速缓存中,用来检测update、delete和insert操作所产生的效果,用户不能修改里面的数据。
在deleted表中存储着被delete和update语句影响的旧数据行。在执行delete和update语句的过程中,指定的数据行被用户从基本表中删除,然后转移到deleted表中。
在inserted表中存储着被insert和update语句影响的新数据行。在执行delete和update语句的过程中,新的数据行被添加到基本表中,同时这些数据行的备份被复制到inserted表中。

七、用户自定义函数
用户自定义函数是由一个或多个T-SQL 语句组成的子程序,可用于封装代码以便重新使用。它是sqlserver2000新添加的一个数据库对象,microsoft官方说明能够用的上用户自定义函数的地方就不要使用存储过程了。可能这个数据库对象的完善是个趋势,就像C语句中的函数最终取代过程一样。

八、事务
事务是用户定义的一组逻辑一致的T-SQL 语句,事务中包括的所有操作要么都作,要么都不作。它体现数据库的一致性原则。DDL语句不能出现在事务中。
Begin tran开始一个事务,commit tran提交一个事务,rollback tran回滚一个事务,save tran savepoint_name设置事务的保存点。

九、游标
游标类似于C语句中的指针,它可以对表中的数据行执行有选择的指定操作。在sqlserver中它是一个难点。
Declare cur_name cursor for select …宣称一个游标;open cur_name打开一个游标;fetch cur_name [into @variable[,…n]]推进一个游标取数;@@fetch_status得到上一次使用游标fetch操作所返回的状态值,返回值为0表示操作成功,返回值为-1表示操作失败或已经超出了游标所能操作的数据行的范围,如到了最后一行数据后,还要接着取下一行数据等,返回值为-2表示返回的值已经丢失;close cur_name关闭游标;deallocate cur_name释放游标。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/68303/viewspace-251593/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/68303/viewspace-251593/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值