您好,欢迎访问三七文档
一、填空1、通过SQL语句,使用createdatabase命令创建数据库,使用sp_helpdb命令查看数据库定义信息,使用sp_dboption命令设置数据库选项,使用alterdatabase命令修改数据库结构,使用dropdatabase命令删除数据库。2、创建表用createtable语句,向表中添加记录用insert语句,查看表的定义信息用sp_help语句,修改表结构用altertable语句,删除表用droptable语句。3、数据完整性包括域完整性、参照完整性、用户定义完整性和实体完整性。4、SQLServer2005的常用工具有:SQLServerManagementStudio、SOLServerConfigurationManger、数据库引擎优化顾问、事件探查器等。5、批处理的结束标志是go语句。6、目前最常用的数据模型有网状模型、层次模型和关系模型。20世纪80年代以来,关系模型逐渐占主导地位。7、数据模型的三要素包括数据结构、操作集合和数据完整性约束条件。8、实体联系模型简称E-R模型,它用于描述整个组织的信息结构。9、选择运算是从一个关系中选出所有满足条件的元组组成新的关系。投影运算是从一个给定关系的所有属性中选择某些指定属性,组成一个新的关系。10、按照功能,SQL语言可以分为:数据定义语言、查询语言、数据操纵语言和数据控制语言4类。11、在SQLServer中,主数据文件的后缀名是MDF,事务日志文件的后缀名是LDF。12、在SQL中创建一个数据库的命令是createdatabase,在SQLSERVER2005中可以使用sp_helpdb命令来查看指定数据库的信息。13、在T-SQL编程中,declarecursor语句的功能是声明游标,FETCHfrom语句的功能是提取数据。14、在SQLServer中用于备份数据库的SQL命令是backupdatabase数据库名to备份设置,用于恢复数据库的SQL命令是:restoredatebase数据库名from备份设置。15、数据库的实体完整性要求表中所有实体惟一,可以通过创建主键和唯一键等约束来实现。16、SQLServer2005的安全模型分为3层结构,分别为服务器安全管理、数据库安全管理和数据库对象的访问权限管理。17、事务是作为单个逻辑工作单元执行的一系列操作。在SQLServer2005中committransactin命令是提交一个事务,rollbacktransaction命令用于回滚事务。18、在一个表上能创建一个主键约束,主键值不能为空。在一个表上能创建多个个惟一约束,惟一值最多有一个为空。19、服务管理器用来、和SQLServer服务的。这些服务在WindowsNT或Windows2000下也可以通过控制面板的【服务】项来启动或停止。20、在【开始】菜单的MicrosoftSQLServer程序中选择EnterpriseManager即可启动管理器。21、创建规则用createrule语句,删除规则用语句。在列或自定义数据类型上绑定规则用droprule语句,解除绑定的规则用sp_unbindrule语句。22、创建默认值用createdefault语句,删除默认值用dropdefault语句,绑定默认值用sp_bindefault语句,解除绑定的默认值用sp_unbindefault语句。23、SELECT语句使用in、between…and、notbetweenand指定查询的显示范围,使用into子句创建新表,使用orderby子句指定排序字段,使用where子句指定查询条件,使用groupby子句指定分组条件,使用have子句指定分组后的查询条件。24、SELECT语句对查询结果排序时使用asc指定升序,使用指定降序,默认情况下是desc。25、SELECT语句对多表查询可以使用内连接、外连接、交叉连接和自连接四种连接方式,子查询分为比较测试和集合成员测试两种。26、视图是由视图定义语句构成而不是由具体的数据构成的虚表。视图中的数据存储在基表中,对视图更新操作时实际操作的是基表中的数据。27、创建视图是用createview语句,修改视图用alterview语句,删除视图用dropview语句。查看视图中的定义信息用sp_helptext语句。查看视图的基本信息用sp_help存储过程。创建视图时带withencryption参数使视图的定义语句加密,带withcheckoption参数对视图执行的修改操作必须遵守定义视图时WHERE子句指定的条件。28、在SQLServer的数据库中按存储结构的不同将索引分为两类:聚集索引和非聚集索引。29、在使用CreateIndex语句创建簇索引时,需要使用的关键字是clustered,建立唯一索引的关键字是unique。30、查看索引使用系统存储过程sp_helpindex,为索引更改名字使用系统存储过程sp_rename旧名,新名。31、注释是程序中不被执行的正文,其作用是使程序易懂更便于日后管理和维护,SQLServer中的注释语句有行内注释和块注释。32、T-SQL的局部变量用declare声明,给变量赋值的语句是set语句、select语句,输出语句是print、select。33、自定义数据类型用sp_addtype语句创建,用sp_droptype语句删除。34、定义游标用declare游标名cursor语句,打开游标用open语句,提取数据用fetchfrom,关闭游标用close。35、触发器按激活的方式分为后触发和替代触发两种触发方式。在表或视图上执行insert、update和delete语句可激活触发器。36、SQLServer为每个触发器创建了两个名为deleted和inserted的临时表,在时候创建,在时候被删除。其中delete操作只涉及的表为表。37、存储过程是一段在服务器上执行的T-SQL语句,执行存储过程时用exec存储过程名命令。38、设有关系SC(sno,cname,grade),各属性的含义分别为学号、课程名、成绩。若要将所有学生的“数据库系统”课程的成绩增加5分,能正确完成该操作的SQL语句是updateSCsetgrade=grade+5wherecname=‘数据库系统’。某数据库中有供应商关系S和零件关系P,其中:供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color,Weight,City)中的属性分别表示:零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将下面的SQL语句空缺部分补充完整。CREATETABLESP(SnoCHAR(5),PnoCHAR(6),StatusCHAR(8),QtyNUMERIC(9),Primarykey(Sno,Pno),Foreignkey(Sno)referencesSno(Sno),Foreignkey(Pno)referencesPno(Pno))二、选择题1、假设有学生信息表(stuinfo)的设计如下:stuid(学号)name(姓名)address(家庭住址)department(所在系)departmenthead(系主任)该表最高满足第B范式。A.一B.二C.三D.不满足任何范式2、如果当前日期为2008/9/17,下面可以返回17的函数是BA.DATEPART(8,9,GETDATE())B.DATEPART(day,(GETDATE())C.GETDATE(date)D.DATEPART(date,GETDATE())3、在【查询分析器】中运行下面的语句:createtablenumbers(n1int,n2numeric(5,0),n3numeric(4,2))goinsertintonumbersvalues(1.7,1.6,1.4)select*fromnumbers得到的结果是CA.2,2,1.5B.1.7,1.6,1.4C.1,2,1.40D.create命令不会执行,因为不能为n2列设置精度为04、建立一个数据库,以存储一个单位的员工信息,设计代码如下:createtablemember(l_namechar(20)null,f_namevarchar(30)notnull,address_line1varchar(30)null,address_line2varchar(30)null,address2_line1varchar(30)notnull,address2_line2char(30)null,suppose_namechar(30)notnull)判断其设计方面的问题,为了使设计更好,还应该修改BA.把所有NULL修改为NOTNULL,而且把NOTNULL修改为NULLB.该表有进一步规范化的必要C.suppose_name字符的长度,应该设置为255以上D.所有字段都应允许为空5、若想删除orders表中所有超过3年的老定单,可以使用的SQL语句是AA.deletefromorderswhereorderdatedateadd(year,-3,getdate())B.deletefromorderswhereorderdatedateadd(year,3,getdate())C.deletefromorderswhereorderdategetdate(),-3D.deletefromorderswhereorderdategetdate(),36、下列可用于创建一个新表,并用已存在的表的数据填充到新表中的选项是BA.SELECTINTOB.UNIONC.子查询D.联接7、下面是聚合函数的选项是BA.distinctB.sumC.ifD.top8、A子句为聚合函数生成汇总值,并作为一个附加的行显示在结果集中。A.COMPUTEB.EXISTSC.UNIOND.DISTINCT9、下面有关COMPUTE子句的说法正确的是AA.COMPUTE子句为聚合函数生成汇总值B.COMPUTE子句必须包括ORDERBY子句C.COMPUTE子句只在控制中断时给出汇总值D.COMPUTE子句对排序进行筛选10、子查询可以返回C行而不产生错误。A.仅一行B.如果不以ANY、ALL、EXISTS或IN开头,则仅一行C.无限多行D.如果不以ANY、ALL、EXISTS或IN开头,则为无限行11、B子句可以与子查询一起使用以检查行或列是否存在A.UNIONB.EXISTSC.DISTINCTD.COMPUTEBY12、当子查询使用来自父查询的参数时,我们称之为A.相关子查询B.嵌套子查询C.简易子查询D.联接子查询13、我们将调用另一个子查询的子查询称为A.嵌套子查询B.相关子查询C.联接D.结果集14、在SQL数据库中,你想得到在PRODUCTS表中最贵产品的产品名称productname和产品价格price应该使用的查询是DA.selecttop1productname,pricefromproductsorderbypriceB.selectproductname,max(price)fromproductsC.selectproductname,max(price)fromproductsgroupbyproductnameD.selectproductname,pricefromproductswhereprice=(selectmax(price)fromproducts)15、从“产品”表里查询出价格高于产品名称为“海天酱油”的产品记录,完成此功能的SQL语句为DA.SELECT*FROM产品WHERE价格海天酱油B.SELECT*FROM产品WHERE价格(SELECT*FROM产品WHERE产品名称‘海天酱油’)C.SELECT*FROM产品WHEREEX
本文标题:sql复习题
链接地址:https://www.777doc.com/doc-4769051 .html