《SQL大数据库系统及应用.docx》由会员分享,可在线阅读,更多相关《SQL大数据库系统及应用.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SQL大数据库系统及应用机密启用前大连理工大学网络教育学院2021年秋(SQL数据库系统及应用)期末考试温习题注意事项:本温习题满分共:400分。一、填空题1.在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第_范式。答案:一2.在索引命令中使用关键字CLUSTERED和NONCLUSTERED分别表示将建立的是_和_。答案:聚集索引、非聚集索引3.常见的关系数据库有ACCESS、_和_。答案:SQLServer、Oracle4.从表中删除数据的命令是_from_where。答案:Delete、表名5.向表中_数据的命令是insertinto表名_const
2、ant1,constant2,。答案:插入、values6.在一个表上,最多能够定义_个聚集索引,最多能够有_个非聚集索引。答案:1、多7.ABS函数的功能是返回数值表达式的_。答案:绝对值8.LIKE查询中_符号代表由零个或更多字符组成的任意字符串,下划线“_符号代表_字符。答案:%、任意单个9.创立表的语句是:_。答案:CREATETABLE表名上一页下一页10.在MicrosoftSQLServer2020中,主数据文件的后缀是_。答案:.mdf11.在MicrosoftSQLServer2020中,日志文件的后缀是_。答案:.ldf12.创立索引的语句是:_INDEX。答案:CREAT
3、E13.语句selectround(12.3421,2),round(23.4567,3)的执行结果是:_和_。答案:12.34,23.45714.关系是笛卡尔积的有限子集,所以是一个_维表,表的每行对应一个_,每列对应一个_。答案:二、元组、域二、问答题1.对SQLServer实例访问,SQLServer2020支持哪几种身份验证形式?答案:SQLServer2020支持两种身份验证形式:Windows身份验证形式(2分)和混合身份验证形式(2分)。Windows身份验证形式使用Windows操作系统中的信息验证账户名和密码,默认的身份验证形式。3分混合身份验证形式允许用户使用Windows
4、身份验证或SQLServer身份验证进行连接(3分)。2.简述SELECT语句中的FROM、WHERE以及ORDERBY子句的作用。SQLServer2020系统中主要数据库对象都有哪些?答案:在SELECT语句中:FROM子句:用来指定数据来源的表;2分WHERE子句:用来限定返回行的搜索条件;2分ORDERBY子句:用来指定结果的排序方式。2分主要的数据库对象包括数据库关系图、表、视图、同义词、存储经过、函数、触发器、程序集、类型、规则和默认值等。酌情给分,共4分3.怎样使用IFELSE流程控制语句?答案:一个逻辑表达式的结果要么为真,要么为假。根据不同的结果,对应于不同的操作。这时就需要
5、使用IFELSE语句在程序中对于给定条件进行判定。语法格式如下:上一页下一页IF条件表达式语句体1ELSE语句体25分讲明:条件表达式的运算结果应该为TRUE(真)或FALSE(假),假如条件表达式中含有SELECT语句,则必须用圆括号将SELECT语句括起来;2分当条件表达式的值为TRUE时执行语句体1,然后执行IF语句之后的语句;假如条件表达式的值为FALSE,则执行ELSE关键字后面的语句体2,然后执行IF语句之后的语句;2分能够在IF区域或者ELSE区域嵌套另一个IF语句,对于嵌套的层数没有限制。1分4.怎样使用WHILE流程控制语句?答案:WHILE语句是一种将同一段代码循环运行屡次
6、的方法,它能够根据一个条件表达式的结果,将代码从0次开场运行到指定次数,或者是持续运行直到遇见BREAK关键字退出循环。5分WHILE语句的语法格式如下:WHILE条件表达式Begin循环体end能够在循环体内设置BREAK和CONTINUE关键字,以便控制循环语句的执行。5分5.T-SQL的注释符是什么?参见p67答案:注释也称注解,是程序代码中不执行的文本字符串。注释主要描绘程序名称、作者名称、变量讲明、代码更改日期、算法描绘等。使用注释对代码进行讲明,不仅能够使程序易读易懂,而且有助于日后对程序的管理与维护。5分在T-SQL中,能够使用两种类型的注释符:注释符“-用于单行注释2分注释符“
7、/*/,用于注释多行文字3分6.SQL语句中SUM函数、COUNT函数、AVG函数的功能是什么?答案:SUM函数:计算值的总和并返回总数。COUNT函数:计算记录数。AVG函数:返回指定列中的平均值。上一页下一页7.简述插入操作经过中的常见异常情况。答:1)插入数据值的个数多于列的个数2)提供数据的类型与列类型不兼容3)插入数据时违犯了约束8.对表进行数据操作包括哪几种?答:包括数据的插入,修改,删除三种操作9.在关系数据库中是根据“二维表的形式来组织数据的,,每张表由哪两部分组成?答:一部分是关于表的构造定义信息,包括表的名称,列的名称,列的长度和列的数据类型等;另一部分是存储在表中的用户数
8、据。10.SQLServer中,约束条件有哪几种类型,都是什么?答:有五种类型:空值约束,唯一约束,主键约束,外键约束,检查约束.11.讲明HAVING子句与WHERE子句之间的区别。答:WHERE子句是用来指定数据库表中数据行应该知足的条件,HAVING子句是在分组(GROUPBY子句)前提下选择每一个分组应该知足的条件12.简述修改操作经过中的常见异常情况。答:1)没有要修改的数据2)设置新值时,数据类型不兼容.3)修改数据时违犯了约束13.SQL语言的命令一般分为哪四类语句?答:分为查询,数据操纵,数据定义和数据控制四类语句。四、程序题1.有家企业要用表t1来存储客户的信息。客户的信息包
9、括:代号int,主键,名称char(20),电话char(20),传真char(20),备注nvarchar(1000)。1请写出创立该表的SQL语句。上一页下一页2后来因手机流行,需要在表t1中再添加列“手机,该列的类型是char11。请写出添加该列的SQL语句。答案:1酌情给分5分Createtablet1(代号intprimarykey,名称char(20),电话char(20),传真char(20),备注nvarchar(1000)2酌情给分5分altertablet1add手机char(11)2.1创立学生信息表,学生表的信息包括:StudID代表学号char(8),非空主键,Nam
10、e学生姓名varchar(20),非空,Birthday生日,非空,DeptID院系号char(2),非空。请创立该表。2给某公司创立表tblEmployees:存储雇员的代号4个字符,唯一、身份证号码18个字符、名字20个字符和工资信息。请写出创立这个表的T-SQL语句,要保证:工资的值大于0,身份证号码唯一。答案:代码酌情给分,每个5分1CREATETABLEstudent(StudIDchar(8)notnullPRIMARYKEY,Namevarchar(20)notnull,Birthdaydatenotnull,DeptIDchar(2)notnull)2createtabletb
11、lEmployees(IDchar(4)unique,IDCARDchar(18)unique,Namechar(20),上一页下一页Gongziintcheck(Gongzi0)3.用SQL语言实现下列功能的sql语句代码:1创立数据表宿舍表:宿舍表(宿舍号char(6),宿舍电话),要求使用:主键(宿舍号)、宿舍以847开始的7位电话号码2创立数据表同学表:同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号),要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)3将下列宿舍信息添加到宿舍表:宿舍号宿舍电话10184
12、711571028471777答案:酌情给分,共10分1createtable宿舍表(宿舍号char(6)primarykey,宿舍电话char(7)check(宿舍电话like8470-90-90-90-9)2createtable同学表(学号char(6)primarykey,姓名nchar(4)notnull,性别nchar(1)check(性别in(男,女),年龄int,民族nchar(8)default汉族notnull,身份证号char(18)unique,宿舍号char(6)references宿舍表(宿舍号)3insert宿舍表values(101,8471157)insert
13、宿舍表values(102,8471777)4.根据下面情况,写出创立course表的语句。上一页下一页答案:酌情给分,共10分CREATETABLEcourse(cs_idnVarChar(4)primarykeyNOTNULL,cs_nmnVarChar(20)NOTNULL,cs_tmintNULL,cs_scintNULL)5.1请写出在某数据库中执行下面语句后的输出结果。CREATETABLEtabl(CNOCHAR(3),NAMEVARCHAR(20),CLASSVARCHAR(20)INSERTINTOtablvalues(001,方健,三年二班)INSERTINTOtablva
14、lues(002,李勇,三年一班)select*fromtabl2请写出在某数据库中执行下面语句后的输出结果。CREATETABLEtable1(CNOCHAR(3)primarykey,NAMEVARCHAR(20),gradeint)INSERTINTOtable1values(001,方明,85)INSERTINTOtable1values(002,李元,90)INSERTINTOtable1values(003,徐汇,75)INSERTINTOtable1values(004,王希,59)INSERTINTOtable1values(005,刘玉,70)selectCNO,NAMEfr
15、omtable1wheregradebetween60and80orderbygrade答案:酌情给分,每个5分1上一页下一页26.已知有如下student表:请写出执行下面语句后的输出结果。1SELECTName,MinzuFROMstudentWHEREDeptIDBETWEEN13AND152SELECT*FROMstudentWHEREDeptIDIN(12,15)答案:15分25分7.请写出在某数据库中执行下面语句后的输出结果。CREATETABLEtable8(CNOCHAR(3)primarykey,NAMEVARCHAR(20),gradeint)INSERTINTOtable
16、8values(001,方明,85)INSERTINTOtable8values(002,李元,90)INSERTINTOtable8values(003,徐汇,75)INSERTINTOtable8values(004,王希,59)上一页下一页1selectmax(grade)as最高分,sum(grade)总分,min(grade)最低分fromtable82selectavg(grade)as平均分fromtable83select*fromtable8wheregrade上一页下一页1从同学表中查询女同学的最大年龄、最小年龄、平均年龄。2创立带参数的存储经过某宿舍同学:姓名,性别,宿舍
17、电话,执行此经过,查询101宿舍情况3将下列宿舍信息添加到宿舍表:宿舍号宿舍电话10484710571098470333答案:酌情给分,共10分1select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)from同学表where性别=女2createprocedure某宿舍同学宿舍号varchar(6)asselect姓名,性别,宿舍电话from同学表视图where宿舍号=宿舍号goexecute某宿舍同学1013insert宿舍表values(104,8471057)insert宿舍表values(109,8470333)10.请写出在某数据库中执行下面语句后的
18、输出结果。CREATETABLEtable2(CNOCHAR(3)primarykey,NAMEVARCHAR(20),gradeint)INSERTINTOtable2values(001,方明,89)INSERTINTOtable2values(002,李元,90)INSERTINTOtable2values(003,徐汇,60)INSERTINTOtable2values(004,王希,75)CREATETABLEtable3(CNOCHAR(3)primarykey,sdeptchar(20)INSERTINTOtable3values(001,计算机系)INSERTINTOtable
19、3values(002,电子系)INSERTINTOtable3values(003,电子系)INSERTINTOtable3values(004,计算机系)1selectsdept,SUM(grade)fromtable3jointable2on3selectnamefromtable3jointable2on答案:1上一页下一页2311.现有数据表如下:学生信息表(学号char(6),姓名,性别,民族,身份证号),课程信息表(课号char(6),名称),成绩信息表(ID,学号,课号,分数)1从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。2查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。答案:1select姓名,性别,民族from学生信息表where姓名like刘%and性别=女5分2select学号,姓名from学生信息表where学号in(selectdistinct学号from成绩信息表where分数上一页下一页