首页数据库数据库选择题?数据库SQ习题

数据库选择题?数据库SQ习题

编程之家2023-10-17105次浏览

大家好,今天来为大家分享数据库选择题的一些知识点,和数据库SQ习题的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

数据库SQ习题

最佳答案:

习题

一、选择题

1.关于查询语句中ORDER BY子句使用正确的是( D)。

A.如果未指定排序字段,则默认按递增排序

B.表的字段都可用于排序

C.如果在SELECT子句中使用了DISTINCT关键字,则排序字段必须出现在查询结果中

D.联合查询不允许使用ORDER BY子句

第2~4题使用7.7节“示例分析”中数据表。

2.使用查询语句:

SELECT STUDENT.学号,STUDENT.姓名,SUM(分数)

FROM STUDENT,GRADE

WHERE STUDENT.学号=GRADE.学号

GROUP BY STUDENT.学号,STUDENT.姓名

查询结果是(A)。

A.按学号分类的每个学生所有课程成绩的总分 B.按学号分类的每个学生各课程成绩

C.全体学生的按各课程分类的成绩总分 D.所有学生所有课程成绩总分

3.使用查询语句:

SELECT MAX(分数) AS最高分

FROM STUDENT,curriculum,GRADE

WHERE STUDENT.学号=GRADE.学号

AND curriculum.课程编号=GRADE.课程编号

AND课程名称='数据库技术及应用'

查询的结果是()。

A.87 B.91 C.82 D.90

很遗憾!不知道表中的记录数据,无法判断是哪个选项,但是题意是检索出:选修课程'数据库技术及应用'的学生中成绩最高的。看一下表就知道了。

4.查询选修了课程编号为“0002”的学生的学号和姓名,以下( A)语句是错误的。

A.

SELECT学号,姓名FROM STUDENT

WHERE学号=(SELECT学号FROM GRADE WHERE课程编号='0002')

B.

SELECT STUDENT.学号,STUDENT.姓名

FROM STUDENT,GRADE

WHERE STUDENT.学号=GRADE.学号AND课程编号='0002'

C.

SELECT STUDENT.学号,STUDENT.姓名

FROM STUDENT JOIN GRADE ON STUDENT.学号=GRADE.学号

WHERE GRADE.课程编号='0002'

D.

SELECT学号,姓名FROM STUDENT

WHERE学号IN(SELECT学号FROM GRADE WHERE课程编号='0002')

5.下列关于查询结果错误的是( D)。

A.查询结果可以显示在表格中

B.查询结果可以按文本方式显示

C.以文本和表格显示的查询结果在保存时,其文件格式不同

D.不管以哪种方式查看,查询结果都会显示在查询结果窗口中

6.在T-SQL语句中,与表达式“仓库号NOT IN('wh1','wh2')”功能相同的表达式是( D)。

A.仓库号='wh1' AND仓库号='wh2' B.仓库号!='wh1' OR仓库号#'wh2'

C.仓库号<>'wh1' OR仓库号!='wh2' D.仓库号!='wh1' AND仓库号!='wh2'

7.在T-SQL的SELECT语句中用于实现关系的选择运算的短语是( C)。

A.FOR B.WHILE C.WHERE D.CONDITION

8.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( B)。

A.使用WHERE子句 B.在GROUP BY后面使用HAVING子句

C.先使用WHERE子句,再使用HAVING子句 D.先使用HAVING子句,再使用WHERE子句

二、填空题

1.在查询语句中,应在__SELECT____子句中指定输出字段。

2.如果要使用SELECT语句返回指定条数的记录,则应使用_TOP__关键字来限定输出字段。

3.当一个子SELECT的结果作为查询的条件,即在一个SELECT命令的WHERE子句中出现另一个SELECT命令,这种查询称为__嵌套____查询。

4.连接查询可分为3种类型:_内连接___、__外连接__和交叉连接。

5.若要把查询结果存放到一个新建的表中,可使用__into tabale或into dbf____子句。

三、判断题

1.在关系数据库SQL Server中,用于检索数据的语句是T-SQL的定义语言。(×)

2.逻辑运算符(AND、NOT、OR)的运算顺序是AND→OR→NOT。(×)

3.用于WHERE子句的查询条件表达式可用的比较运算符为:=(等于)、!=或<>(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)。(√)

4.SELECT语句的DISTINCT参数表示输出无重复结果的记录。(√)

5.如果要使SELECT的查询结果有序输出,需要用GROUP BY子句配合。(×)

几个数据库技术及应用题目

单选题 1.下面哪个不是数据库技术的主要特点(D)

A.数据的结构化 B.数据的冗余度小 C.较高的数据独立性 D.程序的标准化

2.下列叙述正确的为(B)

A.关系中允许有重复的元组,也允许有重复的属性名

B.关系中允许有重复的元组,不允许有重复的属性名

C.关系中不允许有重复的元组,允许有重复的属性名

D.关系中不允许有重复的元组,也不允许有重复的属性名

3.如果两个实体之间的联系是1:M,则实现l:M联系的方法是(C)

A.将两个实体转换成一个关系

B.将两个实体转换的关系中,分别加入另一个关系的主码。

C.将“1”端实体转换的关系的主码,放入“M”端实体转换的关系中

D.将“M”端实体转换的关系的主码,放入“1”端实体转换的关系中

4.SQL的标准库函数COUNT,SUM,AVG,MAX与MIN等,不允许出现在下列语句(D)中 A.SEIECT

B.HAVING C.GROUP……HAVING D.WHERE

填空题

1、班级和学生之间的联系是(一对多)联系,班级和班长之间的联系是(一对一)联系,学生和课程之间的

联系是(多对多)联系。

2、在数据库的三级模式结构中,外模式有(多个),模式和内模式只有(一个)。

3、DB的含义是(数据库),DBS的含义是(数据库系统),DBMS的含义是(数据库管理系统)。

简答题:

1、SQL Server中的语句权限的含义及内容。

语句权限主要指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,如创建数据库、表、存储过程、触发器等。

2、SQL Server中数据库和应用程序的安全机制有哪四种?

用户标识与鉴别;存取控制;视图机制;审计机制等

3、事务故障的恢复方法。

反向扫描日志文件,查找该事务的更新操作;对该事务的更新操作进行逆向操作;继续反向扫描日志文件,查找该事务的其他更新操作并逆向操作;继续处理,直到事务的开始标记。

4、E-R图设计中,合并分E-R图时可能产生的冲突及解决办法。

冲突主要有三种:属性冲突、命名冲突和结构冲突。属性冲突需要靠各部门协商讨论解决,但也非易事;命名冲突通常也像处理属性冲突一样,通过讨论协商等行政手段进行解决;结构冲突主要是根据应用的语义对实体联系

的类型进行综合或调整。

5、事务的四个性质。

(1)原子性(Atomicity)

事务的原子性是指事务中包含的所有操作要么全做,要么全不做(all or none)。

(2)一致性(Consistency)在事务开始以前,数据库处于一致性的状态,事务结束后,数据库也必须处于一致性状态。事务应该把数据库从一个一致性状态转换到另外一个一致性状态。

(3)隔离性(Isolation)事务隔离性要求系统必须保证事务不受其他并发执行的事务的影响,也即要达到这样一种效果:对于任何一对事务T1和 T2,在事务 T1看来,T2要么在 T1开始之前已经结束,要么在 T1完成之

后才开始执行。这样,每个事务都感觉不到系统中有其他事务在并发地执行。

(4)持久性(Durability)一个事务一旦成功完成,它对数据库的改变必须是永久的,即便是在系统遇到故障的情况下也不会丢失。数据的重要性决定了事务持久性的重要性。

6、有两个实体集,若它们之间存在着一个M:N联系、1:M联系和1:1联系,根据ER模型转换成关系数据库的规则,这个ER结构转换成表的个数分别是多少?

M:N联系:三个表,1:M联系:两个表,1:1联系:两个表

7、举例说明参照完整性规则中对外码有何要求。

若属性F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中每一元组在F上的值必须为:或者为空,或者等于S中某个元组的主码值。比如:学生关系中每个元组的专业号属性只能取下面两类值:空值,表示未给该

学生分配专业;非空值,这时该值必须是专业关系中某个元组的专业号值。

8、举例说明SQL Server中有哪3类触发器。

INSERT触发器、UPDATE触发器和DELETE触发器(不再举例)

SQL语言设计题

将借书日期在2006年4月以前的借阅记录存入临时的超期借阅表。

select* into#超期借阅表 from借阅记录表 where日期<'2006-04-01'

设有如下三个关系模式,用SQL语句完成:

学生(学号,姓名,性别,年龄,专业)

课程(课程号,课程名,学分,先行课)

选课(学号,课程号,任课教师,成绩)

1、创建电子商务专业学生成绩视图,属性包括学号、姓名、课程名和成绩。

create view'电子商务专业学生成绩视图' as

select s.学号,s.姓名,c.课程名,s_c.成绩 from table学生 s,课程 c,选课 s_c where

s.学号=s_c.学号 and s_c.课程号=c.课程号 and s.专业='电子商务'

2、创建计算机应用专业的学生成绩统计视图,属性包括学号、姓名、总成绩和平均成绩。

create view‘计算机专业学生成绩统计视图’ as

select s.学号,s.姓名,sum(成绩),avg(成绩) from学生 s,选课 s_c

where s.学号=s_c.学号 and专业='计算机应用'

group by学号,姓名

3、查询没有成绩的学生的学号、姓名和课程号。

select distinct s.学号,s.姓名,s_c.课程号 from s,s_c where s.学号=s_c.学号 where s_c.成绩=0

4、查询选修课程号为001且成绩为最好的学生的学号、姓名和成绩

select s.学号,s.姓名,max(s_c.成绩) from学生 s,选课 s_c where s.学号=s_c.学号 and s_c.课程号=‘001’

5、查询至少选修了二门及二门以上课程的学生的学号

select学号 from选课表 group by学号 having count(*)>=2

SQL数据库题目

1、创建数据库

create database学生成绩数据库

on primary

(name='学生成绩数据库_mdf',

filename='e:\学生成绩数据库.mdb',

size=1,

maxsize=10,

filegrowth=10%)

log on

(name='学生成绩数据库_ldf',

filename='e:\学生成绩数据库.ldf',

size=1,

maxsize=10,

filegrowth=10%)

2、创建课程表

create table课程表

(课程号 char(6) primary key,

课程名称 char(20) not null,

任课教师 char(8))

3、创建学生表

create table学生表

(学号 char(6) primary key,

姓名 char(8) not null,

性别 char(2) constraint ck_性别 check(性别 in('男','女')),

民族 char(20) not null default'汉')

4、创建成绩表

create table成绩表

(学号 char(6) not null foreign key(学号) references学生表(学号),

课程号 char(6) not null foreign key(课程号) references课程表(课程号),

分数 int constraint ck_分数 check(分数 between 0 and 150))

5、添加信息

insert课程表(课程号,课程名)

values('100001','大学语文')

insert课程表(课程号,课程名)

values('100002','大学英语')

6.写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码

create view成绩表视图

as

select学生表.学号,姓名,课程表.课程号,课程名称,成绩

from学生表,课程表,成绩表

where学生表.学号=成绩表.学号 and成绩表.课程号=课程表.课程号

7.写出计算大学语文课程成绩最高分、最低分、平均分的代码

select max(分数)'最高分数',min(分数)'最低分数',avg(分数)'平均分数'

from成绩表

where学号 in(select学号

from课程表

where课程名称='大学语文')

8、检索姓李的女同学的信息:姓名、性别、民族

select姓名,性别,民族

from学生表

where姓名 like'李%' and性别='女'

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

阿里域名备案流程 阿里云备案一般需要几天啊根据数据库生成实体类 如何根据数据库中的表自动生成实体类