数据库3错题集文档格式.docx
《数据库3错题集文档格式.docx》由会员分享,可在线阅读,更多相关《数据库3错题集文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
(编号_______,
分类号CHAR(6),
书名CHAR(6),
单价_______(8,2))
CHAR(6)
NUMERIC
题目
对St_Info(学号,姓名,性别,出生日期,专业,班级),将张羽同学所在班级更名为“计算机科学0601班”。
UPDATESt_Info
_______班级=‘计算机科学0601班’
WHERE姓名=‘张羽’
SET
学生”表St_info由学号(sno)、姓名(sname)、性别(ssex)、出生日期(sbirth)、所在系(sd)等属性组成。
将“刘洋”的所在系更改为“法学院”。
UPDATESt_info
_______sd=‘法学院’
WHEREsname=‘刘洋’
“学生”表St_info由学号(sno)、姓名(sname)、性别(ssex)、出生日期(sbirth)、所在系(sd)等属性组成。
现将一个新学生记录(学号:
2003101;
姓名:
陈红;
性别:
女;
所在系:
外国语学院;
出生日期:
1985-10-23)插入St_info表中,完成以下操作。
_______St_info
VALUES(‘2003101’,‘陈红’,‘女’,1985-10-23,‘外国语学院’)
INSERTINTO
使用下述语句创建表S_C_Info:
CREATETABLES_C_Info
(St_IDCHAR(10)NOTNULL,
C_NOCHAR(10)NOTNULL,
ScoreINTNOTNULL,
PRIMARYKEY(St_ID,C_NO)
执行上述语句后,数据表S_C_Info的主键名是(_______);
语句中NOTNULL的含义是_______。
St_ID,C_NO
非空
数据的完整性主要防范的对象是非法用户。
参考答案错误
删除表时,与该表相关的规则和约束不会被删除。
Transact-SQL语言将数据插入到数据表的语句是INSERTINTO,修改数据的语句是UPDATE。
参考答案正确
数据库5
有表student(学号,姓名,性别,身份证号,出生日期,所在系号),在此表上使用()语句能创建建视图vst。
VIEWvstASSELECT*FROMstudent
VIEWvstONSELECT*FROMstudent
VIEWASSELECT*FROMstudent
TABLEvstASSELECT*FROMstudent
参考答案A
不允许记录中出现重复值和NULL值的索引是()。
A.主键索引、普通索引
B.主键索引、候选索引和普通索引
C.主键索引
D.主键索引、候选索引和唯一索引
参考答案C
在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建()。
A.另一个表
B.游标
C.视图
D.索引
sp_help属于哪一种存储过程()
A.系统存储过程
B.用户定义存储过程
C.扩展存储过程
D.其他
在SQLSERVER中,执行带参数的过程,正确的方法为()。
A.过程名参数
B.过程名(参数)
C.过程名=参数
均可
有教师表(教师号,教师名,职称,基本工资),其中基本工资的取值与教师职称有关。
实现这个约束的可行方案是()。
A.在教师表上定义一个视图
B.在教师表上定义一个存储过程
C.在教师表上定义插入和修改操作的触发器
D.在教师表上定义一个标量函数
参考答案C有教师表(教师号,教师名,职称,基本工资),其中基本工资的取值与教师职称有关。
在SQLServer中,有商品表(商品号,商品号,单价)和销售表(商品号,销售时间,销售价格)。
现要限制“销售价格”的取值必须在此商品“单价”的到倍范围之内,实现这个约束的正确代码是()。
A.
CHECK(销售价格BETWEEN单价*AND单价*
B.
CHECK(销售价格BETWEEN商品表.单价*AND商品表.单价*
C.
CREATETRIGGERtri_SalesON销售表
FORINSERT,UPDATEAS
IFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号WHERE销售价格NOT
BETWEEN单价*AND单价*
ROLLBACK
D.
INSTEADOFINSERT,UPDATEAS
IFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号
WHERE销售价格NOTBETWEEN单价*AND单价*ROLLBACK
参考答案D
我的答案C
声明了变量:
DECLARE@iint,@cchar(4)
现在为@i赋值10,@c赋值‘abcd’,正确的语句是()。
@i=10,@c=‘abcd’
i=10,set@c=‘abcd’
@i=10,select@c=‘abcd’
我的答案A
数据库6
用户对数据进行添加、修改和删除时,自动执行的存储过程称为_______。
触发器
SQLServer中的存储过程具有_______、用户自定义存储过程、临时存储过程、远程存储过程、_______5种类型。
系统存储过程
扩展存储过程
创建存储过程实际是对存储过程进行定义的过程,主要包含存储过程名称、_______和存储过程的主体部分。
参数
触发器主要用于强制复杂的业务_______或要求。
规则
在student_db数据库中创建一个名为“tr_P1”的存储过程,实现根据学生学号,查询该学生的选修课程情况,其中包括该学生的学号、姓名、课程名、课程类型、成绩。
CREATE_______tr_P1@stIDvarchar(10)
AS
SELECT,,,,
FROMSt_Info,S_C_Info,C_Info
WHERE=ANDS_C_______′01′
PROC
EXECtr_P1
有表C_Info(C_No,C_Name,C_Type,Credit),各属性的含义为课程号、课程名称、课程类别、学分,为该表创建一个触发器tr_AutoSetType,以便插入数据时将课程类别修改为“必修”。
CREATETRIGGERtr_AutoSetTypeONC_Info
_____
UPDATEC_InfoSETC_Type=‘必修’
FORINSERT
某SQLServer数据库中两张表:
商品表(商品号,商品名,商品类型,价格)和销售表(商品号,销售时间,销售数量,销售单价)。
用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。
为了完成该统计操作,请按要求将下面的存储过程补充完整。
CREATEPROCp_Sum@yearINT
SELECT(_______)商品类别,SUM(销售数量)AS销售总数量,(_______)AS销售总利润
FROM商品表JOIN销售表ON商品表.商品号=销售表.商品号
WHEREyear(销售时间)=@year
GROUPBY商品类别
ORDERBY销售总利润(_______)
TOP3
(销售单价-成本价)*SUM(销售数量)
第3空:
DESC(降序)
ROLLBACKTRANSACTION的意思是回滚事务。
存储过程的输出结果可以传递给一个变量。
我的答案正确
创建触发器的时候可以不是表的所有者或数据库的所有者。
DML触发器不可通过数据库中的相关表实现级联更改。
每个存储过程向调用方返回一个整数的返回代码值。
如果存储过程没有显式设置返回代码的值,则返回代码为0,表示成功。
若要修改一个存储过程,可以先删除该存储过程,再重新创建。
语句:
EXECsp_helptriggerS_C_Info
的功能是通过系统存储过程S_C_Info查看sp_helptrigger表上存在的触发器的属性信息。
临时存储过程总是在master数据库中创建。
通常分为局部临时存储过程和全局临时存储过程。
像常规触发器一样,DDL触发器将激发存储过程以响应事件。
存储过程是在数据库上定义的,触发器是在特定表上进行定义的。
参考答案正确
CREATETRIGGERDelCourseONC_Info
FORDELETEAS
DELETES_C_InfoWHEREC_NoIN(SELECTC_NoFROMdeleted)
以上语句是用于创建存储过程DelCourse。
使用Transact-SQL语句直接创建触发器的语句中,其中有一个短语
FOR|AFTER|INSTEADOF:
如果仅指定FOR关键字,则AFTER为默认值。
在SQLServer中,触发器的执行通过EXECUTE命令实现。
存储过程可以由用户直接调用执行,但触发器不能直接调用执行,而是SQLServer自动触发执行的。
触发器可以引用当前数据库以外的对象,但只能在当前数据库中创建触发器。
触发器用来定义比CHECK约束更复杂的规则或要求。
数据库7
在SQLServer中,通过构建永久备份设备可以对数据库进行备份,下列说法正确的是
A.不需要指定备份设备的大小
B.一个数据库一次只能备份在一个设备上
C.每个备份设备都是专属于一个数据库的
D.只能将备份设备建立在磁盘上
对于不同的数据库,若要让SQLServer能够识别和使