大工13秋《SQL数据库系统及应用》在线作业2

大工13秋《SQL数据库系统及应用》在线作业2,第1张

大工13秋《SQL数据库系统及应用》在线作业2

一、判断题

1. 在非聚集索引中,每个索引并不是包含行记录的数据,而是数据行的一个指针。

A. 错误

B. 正确

正确答案:B

2. 每张表可以创建多个聚集索引,每个聚集索引需要仅仅20%的附加空间,以存放该表的副本和索引的中间页。

A. 错误

B. 正确

正确答案:A

3. 索引是与表(或视图)关联的页的集合,用于加速从表中检索或者用于强制实施的唯一性。

A. 错误

B. 正确

正确答案:B

4. FROM语句用于向已经存在的表中插入新的数据。

A. 错误

B. 正确

正确答案:A

5. 在聚集索引中,叶节点包含基础表的数据页。根节点与叶节点包含有索引行的索引页。

A. 错误

B. 正确

正确答案:B

6. DELETE语句不仅删除了表中的数据,而且删除该表。

A. 错误

B. 正确

正确答案:A

7. 视图类似基表,包含带有名称的行和列数据,但视图中不存储任何数据,行和列的数据均来于查询所基于的基表中。

A. 错误

B. 正确

正确答案:B

8. 对表数据的插入、修改和删除还可以通过T-SQL语句来进行,与界面 *** 作表数据相比,通过T-SQL语句 *** 作表数据更为灵活,功能更为强大。

A. 错误

B. 正确

正确答案:B

9. 在SQL Server中,索引是按B-Tree 结构进行组织的,B-Tree中的所有结点均称为叶结点。

A. 错误

B. 正确

正确答案:A

10. T-SQL创建数据库的主要语句是CREATE DATABASE….。

A. 错误

B. 正确

正确答案:B

二、单选题

1. 若要在基本表dept中增加一列CN,可用()语句。

A. add table dept(CN char(8))

B. add table dept alter(CN char(8))

C. alter table dept add CN char(8)

D. alter table add dept CN char(8)

正确答案:C

2. 您需要显示年龄从18到21的学生的姓名和年龄。学生表xsxx包含列“姓名”和列“年龄”,下面()语句能完成该功能。

A. SELECT 姓名, 年龄 FROM xsxx

B. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 OR 年龄 = 21

C. SELECT 姓名, 年龄 FROM xsxx WHERE 年龄 BETWEEN 18 AND 21

D. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 AND 年龄 != 21

正确答案:C

3. 由于业务量很大,订单表存放了大量的数据。你想查询3年以前的订购信息,下面()语句能够完成该任务。

A. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, -3, GETDATE() )

B. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, 3, GETDATE() )

C. select * FROM 订单表 WHERE 订购日期<GETDATE() - 3

D. select * FROM 订单表 WHERE 订购日期<GETDATE() + 3

正确答案:A

4. 学生表xsxx包含列“姓名”和列“年龄”等,想要按照年龄从大到小顺序查询出学生表的所有信息,下面()语句能完成该功能。

A. SELECT * FROM xsxx

B. SELECT * FROM xsxx ORDER BY 年龄 desc

C. SELECT * FROM xsxx ORDER BY 年龄 asc

D. SELECT 姓名, 年龄 FROM xsxx

正确答案:B

5. 在登记学生成绩时要保证列Score的值在0到100之间,下面()方法最简单。

A. 编写一个触发器来检查Score的值,如果在0和100之间,则撤消插入

B. 生成用户自定义类型type_Score和规则,将规则与数据类型type_Score相关联,然后设置列Score的数据类型类型为type_Score

C. 编写一个触发器来检查Score的值,如果不在0和100之间,则撤消插入

D. 在Score列增加检查限制

正确答案:D

6. 假设表xsxx的列x的类型是char,根据业务的发展需要改为整型(integer),应该使用下面的()语句。

A. ALTER COLUMN x integer FROM xsxx

B. ALTER TABLE xsxx ( x integer )

C. ALTER TABLE xsxx ALTER COLUMN x integer

D. ALTER COLUMN xsxx.x integer

正确答案:C

7. 在SQL中,建立表的命令是()。

A. DROP SCHEMA

B. CREATE TABLE

C. CREATE VIEW

D. DROP INDEX

正确答案:B

8. 有如下SQL语句:SELECT * FROM student where DeptID between 12 and 15,与该语句等价的是()。

A. SELECT * FROM student where DeptID<=15 and DeptID>=12

B. SELECT * FROM student where DeptID<=15 and DeptID>12

C. SELECT * FROM student where DeptID<15 and DeptID<=12

D. SELECT * FROM student where DeptID<15 and DeptID<12

正确答案:A

9. SELECT语句中,用于显示部分查询结果的TOP短语与()同时使用,可以显示出查询的排序效果。

A. ORDER BY

B. CREATE

C. DROP

D. USEFOR

正确答案:A

10. 一般情况下,下面()关键字不能影响SELECT语句返回的结果的行数。

A. TOP n

B. WHERE

C. ORDER BY

D. DISTINCT

正确答案:C

borrower:

create table borrower(

借书证号 char[5] primary key,

姓名 char[20] not null,

系名 char[10],

班级 char[10])

create table loans(

借书证号 char[5],

图书登记号 char[6],

结束日期 DATE,

primary key(借书证号,图书登记号),

foreign key(借书证号) reference borrower(借书证号),

foreign key(图书登记号 reference books(图书登记号))

create table books(

索书号 char[10],

书名 char[20],

图书登记号 char[6] primary key,

出版社 char[20],

价格 smallint))

(1)

select borrower.借书证号,姓名,系名,temp.total as 借书数量

from borrower,(select 借书证号,count(图书登记号) as total

from loans group by 借书证号

where tatal>5 as temp(借书证号,total))

(2)

select borrower.姓名,系名,书名,结束日期

from borrower,loans,books

where borrower.借书证号=loans.借书证号

and books.图书登记号=loans.图书登记号

and 书名 in(selcet 书名

from borrower,loans,books

where borrower.借书证号=loans.借书证号

and books.图书登记号=loans.图书登记号

and 姓名='赵垒')

(3)

create view SB

as

select borrower.借书证号,姓名,班级,books.图书登记号,书名,出版社

,借书日期

from borrower,book,loans

where borrower.借书证号=loans.借书证号

and books.图书登记号=loans.图书登记号

and 系名='信息系'

1

create table student(

sno char[10] primary key,

sname char[20] not null,

ssex char[2],

sage smallint check( sage between 16 and 30),

sdept char[4])

create table course(

cno char[10] primary key,

cname char[20] not null,

cteacher char[20])

create table sc(

sno char[10],

cno char[10],

grade smallint check(grade is null or grade between 0 and

100),

primary key(sno,cno)

foreign key sno reference student(sno),

foreign key cno reference course(cno))

2

insert into student values('102','李四','男',16,'数学')

下同

insert into course values('203',' *** 作系统','程羽')

下同

insert into sc values('101','203',82)

下同

3

(1) select cname,grade

from sc,student,course

where student.sno=sc.sno and course.cno=sc.cno

and sname='张三'

(2) select sname from student

where sno in(select sno from sc x

where not exists(

select * from sc y

where x.sno=y.sno

and y.grade<60))

(3) select cname,sname,grade

from student,course sc,(select cno,max(grade) from sc group by cno

as temp(cno,max))

where student.sno=sc.sno and course.cno=sc.cno

and grade=max and course.cno=temp.cno

4

delete * from sc where grade<60

5

update sc

set grade=(select avg(grade) from sc where cno='203')

where sno=105

仅供参考

同学你好 我是你们王老师 我布置的作业要求独立完成 一般专业数据库学习者不会集中在Power Designer 与 MySQL上,就算有也懒得来帮你。要不你来办公室找老师,老师帮你解决


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10817332.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存