课后习题参考解答文档格式.docx
- 文档编号:19431202
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:21
- 大小:27.36KB
课后习题参考解答文档格式.docx
《课后习题参考解答文档格式.docx》由会员分享,可在线阅读,更多相关《课后习题参考解答文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
你想要删除任何并非必要的内容,以获得更多的空间。
你可以删除以下哪个数据库,而并不引起任何问题?
(A)
A、Pubs
B、Master
C、Msdb
D、Tempdb
3、下列关于SQLServer2000数据库日志的说法错误是(A)
A、日志文件是维护数据库完整性的重要工具。
B、所有的对SQL数据库的操作都需要写日志。
C、当日志文件的空间占满时,将无法写日志。
D、当修改数据库时,必先写日志。
4、SQLServer数据库的主数据文件的扩展名为(B)。
A、.sql
B、.mdf
C、.mdb
D、.db
二、简答题
1,SQLServer数据库的系统数据库都有哪些?
何时创建?
mastertempdbmsdbmodel,数据库安装时由DBMS创建
2,文件组有哪些优点?
1)使用文件组可以将.mdf和.ndf文件放在不同磁盘上,减少磁盘驱动器争用,提高数据访问效率
2)系统管理员可以备份或恢复独立的文件或文件组,以此代替备份或恢复整个数据库,对于需要拥有有效备份和恢复策略的大型数据库来说,必须备份文件或文件组。
第三章课后习题
1.在学生成绩表sc中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数),用下面的哪种类型最节省空间?
(C)
A、int
B、smallint
C、tinyint
D、decimal(3,0)r
2.订单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句?
(C)
A、ALTERCOLUMNOrderIDintegerFROMOrders
B、ALTERTABLEOrders(OrderIDinteger)
C、ALTERTABLEOrdersALTERCOLUMNOrderIDinteger
D、ALTERCOLUMNOrders.OrderIDinteger
3.要求表中的列在组成主键的属性上不能为空值,这是(B)
A、参照完整性规则
B、实体完整性规则
C、用户定义完整性规则
D、域完整性规则
4.要在SQLServer中创建一个员工信息表,其中员工的薪水、医疗保险和养老保险分别采用三个字段来存储,但是该公司规定:
任何一个员工,医疗保险和养老保险两项之和不能大于薪水的1/3,这一项规则可以采用(C)来实现。
A、主键约束
B、外键约束
C、检查约束
D、默认约束
5.在SQLserver2008中,设计用户表时,固定长度的身份证号最好采用下面(A)数据类型进行存储。
A、Char
B、Text
C、Varchar
D、Int
二、简答题:
1,数据的完整性有哪几种,分别有什么作用?
数据的完整性是为了保证数据库数据准确又有意义,主要通过表的设计和约束来实现,主要有实体完整性、域完整性和引用完整性
实体完整性:
将数据行定义为特定表的唯一实体,用来保证主键的唯一性。
域完整性:
是指列的取值范围,保证某列的值在某个范围内是有意义的数据。
引用完整性:
是用来限制两个有关联关系的表之间的数据。
2,说出你对自动编号Identity数据类型的理解?
自动编号即标识列,该列的值是自动增长的一些序号,该列的字段通常用来做主键,当输入含有标识列的表数据时,该列值是自动增长的。
建表时该列的数据类型只能是数字。
三、代码题:
在员工管理系统中已经创建了员工信息表empInfo和部门信息表DeptInfo,而且这两个表都存放了不少数据。
创建表的语句如下:
CREATETABLEDeptInfo
(
DeptNochar
(2)PRIMARYKEY,
DeptNamevarchar(20)notnull,
Locvarchar(100)
)
CREATETABLEempInfo
empNochar(8)PRIMARYKEY,
empNamevarchar(20)notnull,
salintnull,
DeptNochar
(2)notnull
员工信息表empInfo的列DeptNo,用来存放员工所在部门的编号。
该列引用系信息表DeptInfo的列DeptNo,但是在创建表时没有创建该约束,请在不删除表的情况下,写出创建该约束的SQL语句。
解答:
ALTERTABLEempInfoADDCONSTRAINTfk_emp_deptFOREIGNKEY(DeptNo)REFERENCESDeptInfo(DeptNo)
第四章课后习题
1、在数据库管理系统中,能实现对数据库中的数据查询、插入、修改和删除,这类功能称为(C)
A、数据定义功能
B、数据管理功能
C、数据操纵功能
D、数据控制功能
2,在表中使用IDENTITY列时,每张表只允许有(A)IDENTITY列。
A、一个
B、两个
C、三个
D、四个
3,下列哪一个命令为删除sample数据库的tb_name表(C)
A、deletefromtb_name
B、deletefromsample.tb_name
C、droptabletb_name
D、droptablesample.tb_name
4、在SQLServer中,对数据的修改是通过(D)语句实现的。
A、MODIFY
B、EDIT
C、REMAKE
D、UPDATE
5、下列执行数据的删除语句在运行时不会产生错误信息的选项是(B)。
A、Delete*FromAWhereB='
6'
B、DeleteFromAWhereB='
C、DeleteAWhereB='
D、DeleteASetB='
第五章课后习题
一、选择题:
1.在SQLserver2008中提供了一些字符串函数,以下说法错误的是(B)。
A、selectright(‘hello‘,3)返回值为:
llo;
B、selecttrim(‘hello‘)返回值为:
hello(前后都无空格);
C、selectreplace(‘hello‘,’e‘,’o‘)返回值为:
hollo;
D、selectltrim(rtrim(‘hello‘))hello(前后都无空格);
2.在SQLserver2008中,有语句“updatememberssetSalary=Salary+300”,下列表述正确的是(A)。
A、将members表中工资都增加300
B、删除工资为300的记录
C、查询工资为300的记录
D、修改members工资都扣除300
3.在SQLserver2008中,有students(学生表),包含字段:
SID(学号),SName(姓名),Grade(成绩)。
先要将所有的学生成绩加10分,以下SQL语句正确的是(D)。
A、updatestudentssetGrade=Grade+10whereSID=1;
B、update*setGrade=Grade+10;
C、update*fromstudentssetGrade=Grade+10;
D、updatestudentssetGrade=Grade+10;
4.假设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生姓名,CN为课程名,二者均为字符型;
grade为成绩,数值型,取值范围0--100。
若要把“张二的化学成绩80分”插入到S中,则可用(D)。
A、addintoSvalues('
张二'
'
化学'
80'
);
B、insertintoSvalues('
C、addintoSvalues('
80);
D、insertintoSvalues('
5.需要显示2001年1月1日—2001年12月31日雇佣的所有职员的姓名和雇佣日期。
职员信息表tblEmployees包含列Name和列HireDate,下面哪些语句能完成该功能?
D
A.SELECTName,HireDateFROMtblEmployees
B.SELECTName,HireDateFROMtblEmployees
WHEREHireDate=’2001-01-01’OR‘2001-12-31’
C.SELECTName,HireDateFROMtblEmployees
WHEREHireDateBETWEEN‘2000-12-31’AND‘2002-01-01’
D.SELECTName,HireDateFROMtblEmployees
WHEREDATEPART(yy,HireDate)=’2001’
第六章习题解答
1、在SQLserver2008中,假定grade(成绩)表中包含字段:
sid(学号),lang(语文成绩)。
那么列出语文成绩在80分到90分的学生的SQL语句是(C)。
A、select*fromgradewherelangin(80,90);
B、select*fromgradehavinglangin(80,90);
C、select*fromgradewherelangbetween80and90;
D、select*fromgradehavinglangbetween80and90;
2、在SQLserver2008中,要查找eatables表中item_desc字段的值以“CHOCO”开头(如CHOCOLATE、CHOCOPIE)的所有记录。
下列SQL语句正确的是(C)。
A、select*fromeatableswhereitem_desclike“CHOCO”;
B、select*fromeatableswhereitem_desc=“CHOCO”;
C、select*fromeatableswhereitem_desclike“CHOCO%”;
D、select*fromeatableswhereitem_desclike“%CHOCO?
”;
3、在SQLserver2008中,有一个product(产品)表,包含字段:
pname(产品名称),要从此表中筛选出产品名称为“苹果”或“香蕉”的记录,下列语句正确的是(C)。
A、select*fromproductonpname=“苹果”orpname=“香蕉”;
B、select*fromproductonpname=“苹果”andpname=“香蕉”;
C、select*fromproductwherepname=“苹果”orpname=“香蕉”;
D、select*fromproductwherepname=“苹果”andpname=“香蕉”;
4、在SQLserver2008中,当要处理学生表中name(学生姓名)列所有姓“王”的记录时,在SQL语句中where子句的写法应该是(C)。
A、wherename=‘王%‘B、wherenamelike’王*‘
C、wherenamelike‘王%‘D、wherenamelike’*王%‘
第七章习题解答
cID(班级编号)lang(语文课成绩)math(数学课成绩)eng(英语成绩),那么计算不同班级每门课程的平均成绩的SQL语句是(D)。
A、selectcid,avg(lang,math,eng),fromgradegroupbylang,math,eng;
B、selectcid,avg(lang)avg(math)avg(eng),fromgradegroupbylang,math,eng;
C、selectcid,avg(langmatheng),fromgradegroupbycid;
D、selectcid,avg(lang)avg(math)avg(eng),fromgradegroupbycid
2、在SQLserver2008中,有一个proinfo(商品信息)表,包含字段:
proid(商品编码号),procatg(商品类别),proprice(商品价格),下列选项(B)可以查询每一类的平均价格。
A、selectprocatg,avg(proprice)fromproinfo;
B、selectprocatg,avg(proprice)fromproinfogroupbyprocatg;
C、selectavg(proprice)fromproinfoorderbyprocatg;
D、selectavg(proprice)fromproinfo;
3、在SQLserver2008中,当执行:
Selectau_id,title_id,sum(royaltyper)fromtitleauthorgroupbytitle_id,au_idorderbytitle_id,au_idSQL语句时,会发生(A)。
A、在结果集中,对每一个不同的au_id的值和title_id的值的组合都会有一行;
B、在结果集中,每一行中au_id的值都不会相同;
C、该语句会运行失败,因为查询输出的次序和分组的次序不一样;
该语句会运行失败,因为royaltyper列也应进行分组
4、在SQLserver2008中,执行如下的SQL语句:
select*fromitemasaleftjoinordredetailsasbona.icode=b.itemcod,将返回(C)。
A、item和orderdetails表中的相关记录以及orderdetails表中其余的不相关记录;
B、item和orderdetails表中的相关记录;
C、item和orderdetails表中的相关记录以及item表中其余的不相关记录;
D、提示语法错误;
5、在SQLserver2008中,学生表student中包含字段:
学生编号sid(主键),学生姓名SaName。
成绩表score包含字段:
课程编号cid,学生编号sid(外键),学生成绩score;
其中学生表包含10行数据,成绩表包含6行记录(且sid列没有重复值),那么执行sql语句:
select*fromstudentleftouterjoinscoreonstudent.sid=score.sid,将返回(C)条记录。
A、0B、6C、10D、16
6、在SQLserver2008中,假定grade(成绩)表中包含字段:
sID(学号)cID(班级编号)lang(语文课成绩)math(数学课成绩),那么计算所有学生人数和各科最高成绩的SQL语句是(A)。
A、selectcount(*),max(lang),max(math)fromgrade;
B、selectcount(*),max(lang),max(math)fromgradegroupbysID;
C、selectsum(*),max(lang),max(math)fromgradegroupbysID;
第八章习题解答
1,在SQLServer2008数据库中创建了如下两个表:
CREATETABLE雇员表
雇员代号intIDENTITY(10001,1)PRIMARYKEY,
雇员姓名varchar(20)NOTNULL,
通信地址varchar(200)NULL
CREATETABLE订单表
订单号intIDENTITY(1,1)PRIMARYKEY,
雇员代号intNOTNULL,
客户代号intNOTNULL,
订购日期datetimeNOTNULL,
订购金额moneyNOTNULL
)
需要获得2003年9月1日每个雇员的最高的一笔销售金额,要求列出“雇员代号”、“雇员姓名”、“订购日期”、最高的“订购金额”。
下面哪些语句能完成该功能?
(B)
A.SELECTa.雇员代号,a.雇员姓名,b.订购日期,b.订购金额
FROM雇员表aLEFTJOIN订单表b
ONa.雇员代号=b.雇员代号
WHEREb.订单日期=‘09/01/2003’
AND订单金额IN(SELECTMAX(订单金额)FROM订单表)
B.SELECTa.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
ONa.雇员代号=b.雇员代号ANDb.订单日期=‘09/01/2003
GROUPBYa.雇员代号,a.雇员姓名,b.订购日期
C.SELECTa.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
FROM雇员表aINNERJOIN订单表b
ONa.雇员代号=b.雇员代号
WHEREb.订单日期=‘09/01/2003
GROUPBYa.雇员代号,a.雇员姓名,b.订购日期,b.订单号
D.SELECTa.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
第九章课后答案
一.选择题
1.下面说法正确的是(B)
A.所谓的ER模型就是实体对象模型
B.所谓的ER模型就是实体关系模型
C.ER模型是建立设计数据库的唯一方法
D.实体一定是客观存在的事物。
2.关于ER图的描述,下述说法正确的是(A,D)
A.矩形表示实体
B.圆形表示属性
C.正方形表示关系
D.椭圆表示属性
3.ER模型中的关系类型有以下哪几种(ABCD)
A.一对一
B.一对多
C.多对一
D.多对多
4.关于范式的作用下列说法正确的是(B,C,D)
A.使用范式可以提高数据库的效率
B.使用范式可以消除数据冗余
C.范式可以用来检验数据库设计的是否合理,规范数据库
D.范式可以消除插入异常,删除异常,更新异常
5.关于范式的说法正确的是(D)
A.范式级别越高越好
B.范式最高级别为3级
C.第二范式要求每个列必须是不可再分的
D.第三范式要求不能存在传递依赖
二。
简答题
1.简述数据库设计的步骤
标识实体,标识关系,设计表,规范化
2.描述三个范式的基本要求
1NF:
每一列不可再分,2NF:
非主键字段必须完全依赖主键字段
3NF:
不存在传递依赖
3.如何将ER模型转化为数据库表
所有的实体都对应一章表,一对一合并为一张表,一对多在多的一端
创建外键关联主表,多对多是三张表,由关系的多端的主键字段组合成
一章新表
第十章课后答案:
一.选择题:
1.关于变量的使用正确的是(A,B)
A.Declare@@noint
B.Declare@namevarchar
Set@name='
hello,world'
print@name
C.用户可以定义局部变量和全局变量
D.使用Select语句和Set语句给变量赋值是完全一样的
2.下面哪个全局变量是合法的(A,B)
A.Select@@ServiceName
B.Select@@ServerName
C.Select@@RowCounts
D.Select@@ErrorNum
3.关于T-SQL中逻辑结构的说法正确的是(D)
A.IF….ELSE不能嵌套使用
B.For循环结构适合知道循环次数的循环方式
C.While和DoWhile执行结果完全一样
D.可以使用break语句跳循环
4.CASE语句的说法正确的是(C):
A.CASE语句可以使用IF…ELSE替代
B.CASE语句可以不需要END
C.CASE….WHEN….有两种表达方式
D.不能给CASE表达式起别名
5.关于批处理的说法正确的是()
A.所谓的批就是一系列命令的集合
B.多个批之间用分号(;
)进行分隔
C.一个批必须包含多条SQL语句
D.批之间相互不受影响,即其中一个批失败了不影响其它批的执行
1.简述局部变量的多种赋值方式的区别
以set和select分别介绍
2.简述T-SQL中批命令的概念和用法
批就是一系列sql命令的集合,一次性发送到服务器执行
批之间用GO语句结束
三。
代码题
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后 习题 参考 解答