这三类数据库对象在功能上可能有重叠。
1、基于表的对象
表,数据保存在表中。
基于表的对象我把它分为三类:
视图,用来筛选出用户想要的信息,它是虚拟表,只封装语句,一定程度上保证表中数据的安全;
索引,对数据库表中一个或多个列的值进行排序的结构,提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似;
约束、默认值、规则、触发器确保了数据完整性。
2、数据库安全性:用户、角色、权限与数据库安全性中的登陆联合应用可以限制登陆者可进行的操作来保证数据库的安全性。
3、块:存储过程和函数有点相似,但是存储过程可以返回Recordset;触发器是一种特殊的存储过程。
三、DTS数据转换服务
DTS的主要作用:1、导入与导出数据
2、转换数据(检验、净化、重整数据)
3、转换数据库对象
四、管理和维护
在这部分中主要是对数据库文件的保护和管理。
1、数据库文件
数据库文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件,扩展名为.mdf,它用来存储数据库的启动信息和部分或全部数据。一个数据库只能有一个主数据库文件,其它数据库文件被称为次要数据库文件,扩展名为.ndf,用来存储主文件没存储的其它数据。
多个数据库文件组合到一块就成为文件组。主文件组是由主文件组合成,此文件组是由此文件组合成,但是事务日志文件不属于任何一个文件组。
2、事务和锁
事务
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,回滚到事务开始的状态。
锁
数据库就是通过锁机制来解决并发问题的。。主要就是两种锁,共享锁和排他锁(也叫独占锁)。
从程序员的角度看锁分为以下两种类型:
乐观锁(Optimistic Lock):乐观锁假定在处理数据时,不需要在应用程序的代码中做任何事情就可以直接在记录上加锁、即完全依靠数据库来管理锁的工作。一般情况下,当执行事务处理时SQL Server会自动对事务处理范围内更新到的表做锁定。
悲观锁(Pessimistic Lock):悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,并负责获取、共享和放弃正在使用的数据上的任何锁。