2022年SQLServer面试题.doc
SQL Server 面试题 维护数据库的完整性、一致性是数据库管理员的重要任务。有三种方式可以实现:使用约束(包括 CHECK、主键、唯一键、外键、非空字段)、使用触发器和使用自写业务逻辑。其中,使用约束是效率最高的方式,使用触发器可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性,使用自写业务逻辑是效率最低、编程最复杂的方式。 事务是指一种工作单元,它包括了一组数据操作命令,并且所有的命令作为一种整体一起向系统提交或撤销操作,即这组命令要么都执行,要么都不执行。锁是在多顾客环境中对数据的访问限制。SqlServer 自动锁定特定记录、字段或文献,防止顾客访问,以维护数据安全或防止并发数据操作问题,锁可以保证事务的完整性和并发性。 索引是数据库中的一种数据结构,它使数据库程序无需扫描整个表,就可以在其中找到所需要的数据,索引包括了一种表中包括值的列表,其中包括了各个值的行所存储的位置,索引可以是单个或一组列,索引提供了表中数据的逻辑位置,合理划分索引可以大大提高数据库性能。 视图是一种虚拟表,虚拟表具有和物理表相似 的功能,可以对虚拟表进行增删该查操作,视图一般是一种或多种表的行或列的子集,视图的成果更轻易理解(修改视图对基表不影响),获取数据更轻易(相比多表查询更以便),限制数据检索(例如需要隐藏某些行或列),维护更以便。游标对查询出来的成果集作为一种单元来有效的处理,游标可以定位在成果集的特定行、从成果集的目前位置检索一行或多行、可以对成果集中目前位置进行修改。 存储过程是一组予编译的 SQL 语句,它的长处有:1.容许模块化程序设计,就是说只需要创立一次过程,后来在程序中就可以调用该过程任意次。2.容许更快执行,假如某操作需要执行大量 SQL 语句或反复执行,存储过程比 SQL 语句执行的要快。3.减少网络流量,例如一种需要数百行的 SQL 代码的操作有一条执行语句完毕,不需要在网络中发送数百行代码。4.更好 的安全机制,对于没有权限执行存储过程的顾客,也可授权他们执行存储过程。 触发器是一种特殊类型的存储过程,触发器重要通过事件触发而被执行的,触发器的长处:1.强化约束,触发器可以提供比 CHECK 约束更强的约束功能。2.跟踪变化,触发器可以跟踪数据库内的操作,从而不容许未经容许许可的更新和变化。3.联级运算,例如某个表上的触发器中包括对另一种表的数据操作,而该操作又导致该表上的触发器被触发。 Sql Server 的安全性可以从多方面来考虑,包括登陆方式、特殊帐户、特殊数据库顾客等。登陆方式有两种:原则登陆方式和集成登陆方式。原则登陆方式采用 sqlserver 提供的顾客名和密码登陆连接,集成登陆方式将 windows 的顾客和工作组映射为 sqlserver 的登陆方式。特殊帐户 sa 是系统默认帐户,拥有最高的管理权限,不能删除。特殊数据库顾客有 dbo 和 guest,dbo 是数据库的拥有者,guest 是可以使任何已经登陆到 sqlserver 服务器的顾客都可以访问数据库的顾客。