您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > SQL数据库完整版答案
1、T-SQL语言中,用什么关键字定义局部变量,用什么关键字给变量赋值。(p52)答:使用DECLARE/declare关键字来定义局部变量;用SET/set和SELECT/select语句给变量赋值;2、自定义函数有几种?(p211)答:自定义函数有3种:标量值、内嵌表值、多语句表值3、局部变量以什么开头?全局变量以开头?答:局部变量是以@开头,全局变量是以@@开头;4、数据完整性包括哪几种?(p179)答:数据完整性包括三种:完体完整性、域完整性、参照完整性;5、MS-SQL数据库中通常包含哪三类文件?(p116)答:MS-SQL数据库通常包含着:主数据文件(.mdf)、次要数据文件(.ndf)、事务日志文件(.ldf);6、MS-SQL数据控制语言中,使用什么关键字授予权限,使用什么关键字撤销权限?(p95)答:使用GRANT/grant关键字授予权限,使用REVOKE/revoke关键字撤销权限,使用DENY/deny关键字拒绝用户访问;7、DML触发器中,AFTER触发器和INSTEADOF触发器有什么区别?(p235)答:(1)AFTER触发器只能在表上定义该类的触发器,并且只有执行INSERT,UPDATE和DELETE操作之后,才会触发;(2)INSTEADOF触发器该类型触发器不执行INSERT,UPDATE和DELETE操作,而只是执行触发器本身;而且还可以在基于一个或多个基表的视图上定义;8、SQLSERVER中聚焦索引和非聚焦索引有什么区别?(p169)答:聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序,一个表中只能有一个聚集索引非聚集索引:该索引是数据表中行的物理顺序与索引键值的逻辑顺序不相同,仅指向表中数据,可以在表中定义,但其检测效率较低。作为和数据表分离的对象操作,表中的每一列都有自己的自己的索引。9、能够激活DML触发器的数据修改语句是使用INSERT\UPDATE\DELETE\SELECT中哪个选项?UPDATE10、数据库备份的类型有哪几种?能够将数据恢复到某个时间点的备份设置是哪个?(P131)答:(1)数据库备份的类型有四种:完整数据备份、差异数据库备份、事务日志备份、文件和文件组备份;(2)能将数据库恢复到某个时间点的备份设置是:事务日志备份;11、SQLSERVER的登录账户信息保存在哪个系统数据库中?(p117)答:用户登录账户信息保存在master系统数据库中;12、语句INSERTSELECT语句有什么作用?(p92)答:(1)INSERTSELECT语句可以完成一次插入一个数据块的功能;(2)INSERTSELECT语句可以把其他数据源的行添加到现有表中;复制表13、T-SQL语言的字符串常量是使用什么符号当作定界符?’’答:字符串常量是使用’’单引号符号当作定界符;14、FOREIGNKEY约束定义了表之间的什么?(p185)答:FOREIGNKEY约束定义对同一个表或另一个表中具有PRIMARYKEY或UNIQUE约束的列的引用;(另一个答案):FOREIGNKEY约束定义了表之间的一个列或多列组合.15、域约束有哪几种?(p179)答:域约束有:CHECK约束、DEFAULT约束。16、表的联接有哪几种,若要两张表匹配行的联接,应该采用哪种联接?答:内联接,外联接,交互联接。交互联接17、建立视图用什么关键字?建立索引用什么关键字?建立函数用什么关键字?答:视图用createview关键字,索引引用createindex关键字,建立函数用createfunction关键字;18、select…from…groupby..having..语句;19、通配符的使用?答:(4选1)--方法一:select*fromtablewherecodelike'[23]%'--方法二:select*fromtablewherecodelike'2%'orcodelike'3%'--方法三:select*fromtablewheresubstring(code,1,1)in(2,3)--方法四:delectfromEmployeewherenamelike‘_[ab]%’即删除name字段值中第二个字符为a或b的姓名。20、如何创建一个视图?使用什么命令?(p192)答:(1)用户必须拥有数据所有授予的创建视图的权限;(2)对定义视图时所引用的基表有适当的权限;(3)视图的创建者必须拥有在视图定义中引用的任何对象的许可权,才可以创建视图;使用SQLSERVERManagementStudio创建视图;使用CREATEVIEW语句创建视图;21、如何创建一个域约束?答:check约束22、如何创建一个存储过程?创建存储过程用什么关键字?(p225)答:CREATEPROCEDURE[schema_name.]procedure_name[{@parameterdata_type}][VARYING][=default][[OUTPUT]][,...n][WITH[ENCRYPTION|RECOMPILE]][FORREPLICATION]ASsql_statement[,...n]23、如何创建一个触发器?建立触发器用什么关键字?(p236)答:CREATETRIGGER[schema_name.]trigger_nameON{table|view}[WITHENCRYPTION[,...n]]{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}[NOTFORREPLICATION]AS[{IFUPDATE(column)[{AND|OR}UPDATE(column)][...n]}]sql_statement二、对YGGL数据库操作1、请使用T-SQL语句创建Employees表,并设置Employees表的DepartmentID字段为外部关键字和Departments表的DepartmentID字段联系。答:UseYGGLCREATETABLEEmployees(EmployeeIDchar(6)primarykeynotnull,Namenvarchar(10)notnull,Educationnvarchar(12)notnull,Birthdaydatetimenotnull,Sexbitnotnull,WorkYearTinyint,AddressnVarchar(40),PhoneNumberChar(12),DepartmentIDchar(3)foreignkeyreferencesDepartments(DepartmentID))2、假设三个表已经建好,请使用T-SQL为Departments表插入一条记录。记录样本(2,开发部,NULL)。答:USEYGGLINSERTINTODepartmentsVALUES(‘2’,’开发部‘,NULL)GO3、使用T-SQL语句修改编号为000099的职工收入为2900。UpdateSalarysetincome=’2900’whereemployeeID=’000099’4、使用T-SQL删除部门号为2的部门信息。答:USEYGGLGODELETEYGGLwhereDepartmentID='2'GO(另一个答案):DeletefromDepartmentswhereDepartmentID=’2’5、使用T-SQL语句查询所有财务部的员工的号码和姓名。答:USEYGGLSELECTEmployeeID,NameFROMEmployeesWHEREEmployeeID=(SELECTEmployeeIDFROMEmployeesWHEREName='财务部')(国文答案如下)selectemployees.employeeID,employees.NamefromEmployees,DepartmentswhereDepartments.DepartmentName='财务部'andEmployees.DepartmentID=Departments.DepartmentID视图是基于T-SQL语句生成的虚拟表,通常生成视图使用的都是查询命令,主要用于简化用户查询数据的过程而存储过程是事先保存好的要执行的SQL命令的序列,可以执行更多的命令,能帮助管理员或者用户自动的完成某些操作~并且可以在其他程序中调用.
本文标题:SQL数据库完整版答案
链接地址:https://www.777doc.com/doc-4532801 .html