- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
汇总最全的C#.NET(数据库.net其它)⾯试题及参考答案
⼀、数据库篇
1.维护数据库的完整性、⼀致性、你喜欢⽤触发器还是⾃写业务逻辑?为什么?
答:
尽可能⽤约束(包括CHECK、主键、唯⼀键、外键、⾮空字段)实现,这种⽅式的效率最好;其次⽤触发器,这种⽅式可以保证⽆论何种
业务系统访问数据库都能维持数据库的完整性、⼀致性;最后再考虑⽤⾃写业务逻辑实现,但这种⽅式效率最低、编程最复杂,当为下下之
策。
2.什么是事务?什么是锁?请说出sqlserver中锁的隔离级别有哪些,默认是哪⼀种?
答:
事务是指⼀个⼯作单元,它包含了⼀组数据操作命令,并且所有的命令作为⼀个整体⼀起向系统提交或撤消请求操作,即这组命令要么都执
⾏,要么都不执⾏。
锁是在多⽤户环境中对数据的访问的限制。SqlServer⾃动锁定特定记录、字段或⽂件,防⽌⽤户访问,以维护数据安全或防⽌并发数据操
作问题,锁可以保证事务的完整性和并发性。
3.什么是索引,有什么优点?使⽤索引需要注意些什么?
答:
索引与书的⽬录类似,可以快速定位要查找的数据所有位置,索引使数据库程序⽆需扫描整个表,就可以在其中找到所需要的数据,索引包
含了⼀个表中包含值的列表,其中包含了各个值的⾏所存储的位置,索引可以是单个或⼀组列,索引提供的表中数据的逻辑位置,合理划分
索引能够⼤⼤提⾼数据库性能。
索引需要注意:加索引的列⼀定要是经常使⽤来条件筛选的列,并且where中要避免对有索引的列进⾏计算,索引并不是越多越好,索引会
占⽤更多的存储空间,也会对insert、update、delete这些操作有⼀定的性能影响。
4.视图是什么?游标是什么?
答:
视图是⼀种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进⾏增该查操作;
视图通常是⼀个或多个表的⾏或列的⼦集;
视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相⽐多表查询更⽅便),限制数据检索(⽐如需要隐藏某些⾏或
列),维护更⽅便。
游标对查询出来的结果集作为⼀个单元来有效的处理,游标可以定位在结果集的特定⾏、从结果集的当前位置检索⼀⾏或多⾏、可以对结果
集中当前位置进⾏修改、
5.什么是存储过程?有什么优点?
答:
存储过程是⼀组予编译的SQL语句
它的优点:
1.允许模块化程序设计,就是说只需要创建⼀次过程,以后在程序中就可以调⽤该过程任意次。
2.允许更快执⾏,如果某操作需要执⾏⼤量SQL语句或重复执⾏,存储过程⽐SQL语句执⾏的要快。
3.减少⽹络流量,例如⼀个需要数百⾏的SQL代码的操作有⼀条执⾏语句完成,不需要在⽹络中发送数百⾏代码。
4.更好的安全机制,对于没有权限执⾏存储过程的⽤户,也可授权他们执⾏存储过程。
6.什么是触发器?有什么优点?
答:
触发器是⼀种特殊类型的存储过程,出发器主要通过事件触发⽽被执⾏的,
触发器的优点:
1.强化约束,触发器能够提供⽐CHECK约束;
2.跟踪变化,触发器可以跟踪数据库内的操作,从⽽不允许未经允许许可的更新和变化;
3.联级运算,⽐如某个表上的触发器中包含对另⼀个表的数据操作,⽽该操作⼜导致该表上的触发器被触发
7、说⼀说储过程和触发器和优点和缺点
优点:
1、预编译,已优化,效率较⾼。避免了SQL语句在⽹络传输然后再解释的低效率。
2、存储过程可以重复使⽤,减少开发⼈员的⼯作量。
3、业务逻辑封装性好,修改⽅便。
4、安全。不会有SQL语句注⼊问题存在。
缺点:
1、可移植性是存储过程和触发器最⼤的缺点。
2、占⽤服务器端太多的资源,对服务器造成很⼤的压⼒
3、不能做DDL。
4、触发器排错困难,⽽且数据容易造成不⼀致,后期维护不⽅便。
8、T-SQL中isnull和null的区别?
答:isnull和null区别相当于是空盒⼦和空盒⼦的区别
9、写出⼀条Sql语句:取出表A中第31到第40记录(SQLServer,以⾃动增长的ID
作为主键,注意:ID可能不是连续的。
答:
解1:
selecttop10*fromAwhereidnotin(selecttop30idfromA)
解2:
selecttop10*fromAwhereid(selectmax(id)from(select
top30idfromA)asA)
解3:
SELECT*FROM(
SELECT*,ROW_NUMBER()over(ORDERBYID)ASrownum
原创力文档


文档评论(0)