绝密★启用前
学院
20 -20 学年第二学期期末考试
20 级 物联 专业(本科)《数据库技术》试卷A
注:请将答案写在答题纸上,写在试卷上无效。
一、单项选择题(本大题共15小题,每小题2分,共30分)
1.下面的数据库产品中,(      )是开源数据库。
A. Oracle
B. SQL Server
C. MySQL
D. DB2 2.E -R 图是数据库设计的工具之一,一般适用于建立数据库的(      )。
A. 概念模型
B. 结构模型
C. 物理模型
D. 逻辑模型 3.以下关于MySQL 的说法中错误的是(      )。
A. MySQL 是一种关系行数据库管理系统
B.在Windows 系统下书写MySQL 语句区分大小写
C.MySQL 软件是一种开放源码软件
D.MySQL 服务器工作在客户端/服务器模式下或嵌入式系统中 4.下列(      )类型不是MySQL 中常用的数据类型。
A. int
B. var
C. time
D. char  5. 设置表的默认字符集关键字是
A. default  character
B. default set
C. default character set
D.default
javamap遍历
6. 在MySQL 数据库中,通常使用(    )语句来指定一个已有数据库作为当前工作数据库。
A. using
B. used
C. uses
D.use
7. 在创建数据库时,可以使用(    )子句确保如果数据库不存在就创建它,如果存在就直接使用它。
A. if exists
B. if not exists
C.if not exist
D. if exist
8. SQL 语句中修改表结构的命令是(    )。
A. modify table
B. alter table
C.alter structure
D. modify structure  9. 创建表时,不允许某列为空可以使用(    )命令。
A. no null
B. not null
C. no blank
< blank  10. select * from student limit 2,5 描述正确的是(    )。
A. 获取第2条到第5条记录
B. 获取第3条到第7条记录
C. 获取第2条到第7条记录
D.获取第2条到第6条记录
11. select 语句中用于实现关系的选择运算的短语是 (    )。
A. where
B. for
C. while
A. distinct
B. having
C. order by
A. 小型表适合建索引
B. 经常被查询的列不适合建索引
C. 是外键或主键的值不适合建索引
D. 有很多重复值的列不适合建索引 14. 在MySQL 中会话变量前面的字符为
A. @
B. *
C. @@
D.# 15. (      )用于执行预处理语句。
A. prepare
B. deallocate
C. execute
D.using
二、填空题 (本大题共10小题,每空2分,共20分)
1. 实体间的联系主要有三种类型:        、        、                和                。
2. MySQL 中,系统变量包括            和            两种类型。
3.              命令用于删除一个数据库。
4. MySQL 中单行注释表示方式                  ,多行注释表示方式                  。
属性与生活2工作室破解版5. 在MySQL 语句中,可以匹配0个到多个字符的通配符是                  。
6. where 子句中用              关键字来查询空值。
7. MySQL 的常用聚合函数包括            、            、            、            和            等。  8. 利用order by 子句对结果集排序,默认情况下会按照    序输出。
9. 在通过视图更新基表数据时,使用                  子句,可以实现检查条件约束。
10. MySQL 预处理SQL 语句的使用主要包含三个步骤                、                和
mysql是什么系统
三、简答题(本题共3小题,每小题5分,共15分)
1. 创建表时常见的约束有哪些?对表中数据的作用分别是什么?
2. 简述select 语句的各个字句的作用。
横线以内不许答题
3. 简述表和视图之间的关系。
四、编程题(本题共5小题,每小题7分,共35分)
现给出了学生选课系统中三张表如下:
全采集资源源码
1. 使用MySQL 语句分别创建学生选课系统中的student 表、course 表以及score 表。
2. 在 student 表中查询软件工程专业的学生的所有信息,并按 studentno  降序排列。
3. 统计软件工程专业每个学生的选课门数、平均成绩和最高成绩。
4. 给course 表中的cname 字段创建一个唯一性索引uq_cname 。
5. 创建一个视图SC_VIEW ,查询选修了“数据库”课程的学生的学号和姓名。
参考答案:
一、选择题(本题共15小题,每小题2分,共30分)
1. C
2. A
3. B
4. B
5. C
6.D
7. B
8.B
sortable custom9. B  10.B  11. A  12.A  13.D  14.A  15.C  二、填空题(本题共10个小题,每空2分,共20分) 1. 1对1(1:1)、1对多(1:n)、多对多(m:n) 2. 全局系统变量、会话系统变量 3.  drop database
横线以内不许答题
4. #、 /*...*/
5. %
6.  is null
7.  count( )、sum( )、 avg( )、 max( )、 min( )  8.  升
9.  with check option
10. 创建预处理语句(prepare )、执行预处理语句(execute )、释放预处理语句(deallocate) 三、简答题(本题共3小题,每小题5分,共15分)
4. 创建表时常见的约束有哪些?对表中数据的作用分别是什么?
答:(1)常见的约束有非空约束,主键约束,外键约束,检查约束,唯一约束
(2) 非空约束:保证所有记录中该字段都有值。
主键约束:帮助MySQL 以最快速度查到表中的指定信息。
外键约束:建立子表与其父表的关联关系,保证子表与父表关联的数据一致性。
检查约束:对数据表中的列进行限制数值范围的约束。    唯一约束:保证所有记录中该字段的值不能重复出现。 2. 简述select 语句的各个子句的作用。    from  表    where  条件筛选    group by  分组依据列    having 分组条件筛选    order by 排序依据列    limit m,n  限制显示的行数 3. 简述表和视图之间的关系。
视图是从一个或多个表中导处的虚拟表; 通过视图可以实现对基表数据的查询与修改。
四、程序设计题(本题共5小题,每小题7分,共35分) 1.
create table if not exists student  (
studentno  char(11) not null comment '学号',
sname  char(8) not null comment '姓名',
sex  enum('男','女') default '女' comment '性别',  dept char(12) not null comment '专业',  primary key (studentno) );
create table if not exists course  (
course no  char(6) not null ,  cname  char(20) not null ,  period  int(2) not null,  primary key (course no ) );
create table if not exists score  (
studentno  char(11) not null ,  courseno  char(6) not null ,  grade  float(3,1) default 0,  primary key (studentno,courseno) );  2.
select *
from student
where dept = '软件工程' order by studentno desc;  3.
select studentno  学号, count(*)选课门数,avg(grade)平均成绩,max(grade)最高成绩 from student  join score on student.studentno = score.studentno  where dept ='软件工程' group by studentno;  4.
create unique index uq_cname on course(cname);  5.
create view SC_VIEW  as
select studentno,sname
在线转换进制工具
from student s,course c,score sc
where s.studentno=sc.studentno urseno and cname= '数据库';
select studentno学号,sname姓名
from student s join course sc on s.studentno =sc.studentno
join course c urseno
where cname= '数据库' ;
线

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。