SQL笔试题

发布 2024-04-17 03:20:11 阅读 4809

针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,否则不得分。

1. 数据库设计的最终目标不包括()。选择两项)bd

a. 高效。

b. 满足范式要求。

c. 安全。

d. 表现设计者的技术实力。

e. 易用。

f. 便于将来扩展功能和容量。

2. 有关数据冗余说法错误的是()。选择一项)c

a. 数据库中,数据存在副本的现象,就是数据冗余。

b. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。

c. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。

d. 数据冗余通常是由于数据库设计引起的。

3. 用于表示数据库实体之间的关系图是()。a

a. 实体关系图。

b. 数据模型图。

c. 实体分类图。

d. 以上都不是。

4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、 password(varchar)等,该表需要设置主键,以下说法正确的是()。

选择两项)ab

a. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

b. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

c. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

d. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

5. 语句 alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。b

a. userid 主键。

b. userid 唯一。

c. uq_userid 外键。

d. uq_userid 检查。

6. 运行如下t-sql,结果返回包含()的记录集。a

create table scores

scoreid int identity(1,2),score numeric(4,2) not null,courseid int

insert int scores values(90.5,null);

insert into scores values(78.234,2);

select * from scores;

a. 1 90.50 null

b. 1 78.23 2

c. 1 90.50

d. 1 90.50

7. 关于子查询,以下说法正确的是()。选择两项)ac

a. 一般来说,表连接都可以用子查询替换。

b. 一般来说,子查询都可以用表连接替换。

c. 相对于表连接,子查询适合于作为查询的筛选条件。

d. 相对于表连接,子查询适合于查看多表的数据。

8. 创建存储过程如下:

create procedure scoreproc

@scoreid int,@score numeric(4,2) output

asselect @score = score from scores where scoreid=@scoreid

正确的调用是:c

a. exec scoreproc 1,@myscore output

print @myscore

b. exec scoreproc @id = 1,@myscore output

print @myscore

c. declare @myscore numeric(4,2)

exec scoreproc 1,@myscore output

print @myscore

d. declare @myscore numeric(4,2)

exec scoreproc @id = 1,@myscore output

print @myscore

9. 假设需要设计一张表,记录各个作者著作的所有图书信息,表的结构如下:作者(作者名称,图书1,版本1,书价1,图书二,版本2,书价2,…)该表最多符合第()范式。a

a. 一。b. 二。

c. 三。d. 不符合任何范式。

10. 一个学生只能就读于一个班级,而一个班级可以同时容纳多个学生,学生与班级之间是()的关系。c

a. 一对一。

b. 一对多。

c. 多对一。

d. 多对多。

11. e-r图中,关系集用下面()来表示。b

a. 矩形。

b. 椭圆形。

c. 菱形。

d. 圆形。

12. 有如下表结构,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。

产品:#产品编号,产品名称,产品**;

订单:#订单编号,#产品编号,订购日期,订购数量;(订单编号与产品编号是组合主键)

该表最高符合第()范式。b

a. 一。b. 二。

c. 三。d. 未规范化的。

13. 有如下表结构,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。

产品:#产品编号,产品名称,产品**;

订单:#订单编号,总价,订购日期;

订单子项: #子项编号,订单编号,产品编号,订购数量;

该表最高符合第()范式。c

a. 一。b. 二。

c. 三。d. 未规范化的。

14. 创建sql语句如下:

create table userinfo

userid int identity(-1,1), 第1行。

username nvarchar(20) not null, 第2行。

cardno char not null, 第3行。

age smallint(2), 第4行。

address ntext(300) 第5行。

执行时,会在第()行出现错误。(选择两项)de

a. 1b. 2

c. 3d. 4

e. 515. 以下关于规范设计的描述正确的是()。选择两项)ad

a. 规范设计的主要目的是消除数据冗余。

b. 规范设计往往会增加数据库的性能。

c. 设计数据库时,规范化程度越高越好。

d. 在规范化数据库时,易于维护数据库的完整性。

16. 关于存储过程,以下说法正确的是()。选择一项)a

a. 不能在存储过程中使用create view命令。

b. t-sql批**的执行速度要快于存储过程。

c. 存储过程必须带有参数。

d. 存储过程不能返回结果集。

17. 已知有scores表,scoreid为主键,现在表中共有10条记录,其中一条scoreid=21。

创建视图:create view view_scores

asselect * from scores

执行如下命令:

delete from view_scores where (scoreid = 21)

再执行如下命令:

select * from scores

select * from view_scores

假定上述命令全部执行成功,将各自返回()(行记录。d

a. 10,10

b. 10,9

c. 9,10

d. 9,9

18. 设计用户表时,身份证号为固定18位长,对该字段最好采用()数据类型。(选择一项)b

a. int

b. char

c. varchar

d. text

19. 授予用户someone对scores表的一些权限,正确的授权语句是()。选择一项)c

a. grant insert , update to talbe scores on someone

b. grant insert and update to table scores on someone

c. grant insert , update on scores to someone

d. grant insert and update on scores to someone

20. 建立如下数据库表:

create talbe department(

departid int not null primary key,deptname varchar(20) not null

create table employee(

employeeid int not null,deptid int not null,name varchar(20) not null

要想保证employee表中每一个雇员(employee)是唯一的,且只能属于在department表中已经存在的部门,最有的做法是()。选择一项)b

a. 把employeeid和deptid设为组合主键。

b. 把employeeid设为主键,同时在deptid列上创建一个外键约束。

c. 把employeeid设为主键,同时在deptid列上创建一个检查约束。

d. 在deptid列上创建一个唯一约束,同时在deptid列上创建一个外键约束。

21. 建立一张员工表,当向表中插入数据时,若不提供入职时间,就把系统当前时间作为员工入职时间插入数据库,以下说法正确的是()。选择一项)d

a. 约束不能使用各种函数,所以无法实现要求的功能。

b. 可以使用check约束实现,默认值采用日期函数getdate()。

c. 入职时间必须设为日期类型。

d. 可以使用default约束实现,默认值采用日期函数getdate()。

22. 为了加快对某表查询的速度,应对此表建立()。选择一项)d

a. 约束。

b. 存储过程。

c. 规则。

d. 索引。

23. 假设有表student(学生)的设计如下:

id ()标识列。

name ()学生姓名。

address ()学生地址。

department ()所属院系。

departmenthead ()学院主管。

该表最高满足()范式。(选择一项)b

a. 一。b. 二。

c. 三。d. 不满足任何范式。

24. 为数据库中一个或者多个表中的数据提供另外一种查看方式的逻辑表被称为()。选择一项)c

a. 存储过程。

b. 数据库关系图。

c. 视图。

d. 表。25. 要建立一个教师表,包含姓名、职称、级别等字段。若插入数据时,级别字段如果不输入,缺省值为“讲师”,最合适的实现方式是()。a

a. 为“级别”字段建立default约束。

SQL笔试题笔试题

家庭住址,联系 create table stu 学号int 姓名varchar 8 年龄int,性别varchar 4 家庭地址varchar 50 联系 int 历varchar 6 3 修改学生表的结构,删除一列信息,家庭住址alter table stu drop column家庭地址4 向...

SQL笔试题

一单词解释 2分 个 34 二编写sql语句 5分 题 50 1 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系 2 修改学生表的结构,添加一列信息,学历。3 修改学生表的结构,删除一列信息,家庭住址。4 向学生表添加如下信息 5 修改学生表的数据,将 号码以11开头的学员的学...

SQL笔试题

1 目前较为流行的三种dbmsp2 2 数据库设计过程包括 个阶段,阶段是基础 阶段是关键。3 用户需求包括信息需求和 需求p3 4 数据库设计最耗时的阶段是 整个数据库生存周期最耗时的阶段是 p4 5 现实世界中客观存在的并可区分识别的事物称为 6 属性的特定取值范围称为p7 7 e r模型的英文...