内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第14卷,为知识训练卷,按《Access数据库应用操作》中“数据库基本概念”范围和要求编写。具体内容为:(1)理解数据库的有关概念。(2)了解实体、属性和实体集的概念及实体之间的关系。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第14卷 Access数据库应用操作——数据库基本概念
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.数据库是指( )
A.用于绘图的应用软件
B.只能保存文字的文件
C.计算机中的所有程序
D.长期存储、按一定结构组织并可共享的数据集合
【答案】D
【解析】数据库是长期存储在计算机内、有组织的、可共享的数据集合,不等同于单个文件或全部程序。
2.在关系数据库中,一张表通常对应于( )
A.一个实体集
B.一个字段
C.一个查询条件
D.一条记录
【答案】A
【解析】表用于保存同一类对象的数据,通常对应一个实体集;表中的行对应记录,列对应属性或字段。
3.在学生表中,一行数据通常称为( )
A.字段
B.实体集
C.记录
D.属性
【答案】C
【解析】表中的一行描述一个具体对象,称为一条记录;一列描述对象的一个属性,称为字段。
4.“学生的出生日期”描述的是学生的( )
A.记录
B.属性
C.实体集
D.联系
【答案】B
【解析】出生日期用于描述学生实体的一个特征,属于学生实体的属性。
5.“全体在校学生”在概念上属于( )
A.一条记录
B.一个属性
C.一个实体集
D.一个实体
【答案】C
【解析】同一类实体的集合称为实体集,全体在校学生是学生实体的集合。
6.一个班级包含多名学生,而每名学生只属于一个班级,这种联系是( )
A.一对一
B.多对多
C.无联系
D.一对多
【答案】D
【解析】一个班级对应多个学生,一个学生只对应一个班级,因此班级与学生之间是一对多联系。
7.一个人对应一张身份证,且一张身份证只对应一个人,这种联系是( )
A.一对多
B.一对一
C.多对一
D.多对多
【答案】B
【解析】两边的一个对象都只对应另一边的一个对象,所以属于一对一联系。
8.学生与课程之间通常是多对多联系,因为( )
A.一个学生可选多门课程,一门课程也可被多名学生选
B.一门课程只能有一名学生
C.一个学生只能选一门课程
D.学生和课程没有联系
【答案】A
【解析】学生可以选择多门课程,一门课程也可以有多名学生选修,所以学生与课程通常是多对多联系。
9.能够唯一标识表中每条记录的字段或字段组合称为( )
A.备注字段
B.主键
C.普通字段
D.外键
【答案】B
【解析】主键用于唯一标识表中的每条记录,主键值不能重复,也不能为空。
10.在学生表中,最适合作为主键的是( )
A.姓名
B.专业名称
C.学号
D.年龄
【答案】C
【解析】学号通常具有唯一性且不为空,适合唯一标识学生;姓名、年龄和专业名称可能重复。
11.如果再次执行下面语句,且S01已经存在,会违反( )约束
INSERT INTO Students (StudentID, StudentName)
VALUES ('S01', '李四');
A.主键唯一性
B.字段显示格式
C.实体集定义
D.外键约束
【答案】A
【解析】S01已存在而StudentID是主键,再插入相同主键值会违反主键值不能重复的唯一性要求。
12.阅读查询语句,WHERE子句的作用是( )
SELECT StudentID, StudentName
FROM Students
WHERE Score >= 90;
A.建立实体集
B.删除表结构
C.修改字段名
D.筛选满足条件的记录
【答案】D
【解析】WHERE Score >= 90只保留成绩不低于90分的记录,WHERE的主要作用是筛选记录。
13.下面定义中,Enrollment的复合主键由哪些字段组成( )
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
Score INTEGER,
PRIMARY KEY (StudentID, CourseID)
);
A.只有Score
B.StudentID和CourseID
C.Score和CourseID
D.Enrollment和Score
【答案】B
【解析】PRIMARY KEY括号中列出了StudentID和CourseID,因此这两个字段共同构成复合主键。
14.执行下面查询时,即使某些学生没有选课,也希望显示所有学生,应使用( )
SELECT s.StudentID, e.CourseID
FROM Students AS s
LEFT JOIN Enrollment AS e
ON s.StudentID = e.StudentID;
A.INNER JOIN
B.GROUP BY
C.LEFT JOIN
D.ORDER BY
【答案】C
【解析】以Students为左表使用LEFT JOIN,可以保留左表中的全部学生记录,没有匹配选课时右表字段为空。
15.若Students表中有3条记录,执行下面查询返回的结果是( )
SELECT COUNT(*) AS StudentCount
FROM Students;
A.Students表结构
B.所有学生姓名
C.StudentCount字段名
D.3
【答案】D
【解析】COUNT(*)统计满足查询范围内的记录数,Students表有3条记录时返回数值3。
16.执行下面查询后,记录的排列顺序为( )
SELECT StudentID, Score
FROM Students
ORDER BY Score DESC;
A.按成绩从高到低
B.按姓名排序
C.按学号从低到高
D.按成绩从低到高
【答案】A
【解析】ORDER BY Score DESC按Score降序排列,即成绩从高到低显示。
17.下面查询返回的记录必须同时满足( )
SELECT *
FROM Enrollment
WHERE CourseID = 'C01' AND Score >= 60;
A.课程为C01或成绩不低于60
B.课程不为C01且成绩不低于60
C.所有选课记录
D.课程为C01且成绩不低于60
【答案】D
【解析】AND要求两个条件同时成立,因此记录必须属于C01课程且Score不小于60。
18.根据下面定义,Department与Employee之间的联系为( )
CREATE TABLE Department (
DeptID TEXT(10) PRIMARY KEY,
DeptName TEXT(20)
);
CREATE TABLE Employee (
EmpID TEXT(10) PRIMARY KEY,
DeptID TEXT(10),
FOREIGN KEY (DeptID) REFERENCES Department(DeptID)
);
A.一对多
B.一对一
C.多对多
D.属性与属性的联系
【答案】A
【解析】一个部门可以有多名员工,每名员工通过DeptID属于一个部门,所以是部门到员工的一对多联系。
19.下面的查询结果体现了Student与Course之间的哪种业务联系( )
SELECT s.StudentName, c.CourseName
FROM (Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID)
INNER JOIN Courses AS c
ON e.CourseID = c.CourseID;
A.学生姓名字段的类型
B.学生姓名与课程名称之间的选修联系
C.数据库文件的存储位置
D.课程表的主键定义
【答案】B
【解析】查询通过Enrollment连接Students和Courses,结果把学生姓名与课程名称对应起来,体现学生选修课程的业务联系。
20.在下面查询中,NULL通常表示该字段( )
SELECT StudentID, Phone
FROM Students
WHERE Phone IS NULL;
A.值一定为0
B.值一定为空字符串
C.没有已存储的有效值
D.值一定重复
【答案】C
【解析】IS NULL用于判断字段没有存储有效值,NULL不等同于数值0,也不等同于空字符串。
21.执行下面INSERT语句后,新增的数据在Students表中表示( )
INSERT INTO Students (StudentID, StudentName, ClassID)
VALUES ('S05', '赵六', 'C02');
A.一条表结构定义
B.一条学生记录
C.一个学生属性
D.一个班级实体集
【答案】B
【解析】INSERT向Students表增加一行数据,这一行描述一个学生实体,对应一条学生记录。
22.下面查询的返回结果是( )
SELECT DISTINCT ClassID
FROM Students;
A.Students表中的所有重复记录
B.班级表的字段定义
C.不重复的班级编号集合
D.所有学生姓名
【答案】C
【解析】DISTINCT去除查询结果中的重复值,因此返回Students表中不重复的ClassID集合。
23.下面查询中的子查询先得到( )
SELECT StudentName
FROM Students
WHERE StudentID IN (
SELECT StudentID
FROM Enrollment
WHERE CourseID = 'C01'
);
A.选修C01课程的学生编号
B.所有课程编号
C.所有班级名称
D.Students表的字段数
【答案】A
【解析】括号内的子查询从Enrollment中筛选CourseID为C01的StudentID,外层再根据这些编号查找学生姓名。
24.执行下面语句的数据库操作是( )
UPDATE Students
SET ClassID = 'C03'
WHERE StudentID = 'S01';
A.删除数据库
B.查询记录
C.插入一张新表
D.修改满足条件的记录
【答案】D
【解析】UPDATE修改已有记录,语句将StudentID为S01的学生的ClassID改为C03。
25.执行下面语句的数据库操作是( )
DELETE FROM Students
WHERE StudentID = 'S05';
A.建立实体集
B.统计记录数量
C.删除满足条件的记录
D.建立主键
【答案】C
【解析】DELETE FROM Students WHERE ...删除满足WHERE条件的学生记录,不会改变表的字段定义。
二、简答题(共5题,每题6分,共30分)
1.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
StudentName TEXT(20),
Score INTEGER
);
INSERT INTO Students VALUES ('S01', '张三', 95);
INSERT INTO Students VALUES ('S02', '李四', 78);
INSERT INTO Students VALUES ('S03', '王五', 92);
SELECT StudentName, Score
FROM Students
WHERE Score >= 90
ORDER BY Score DESC;
【答案】查询结果为:张三 95;王五 92。
【解析】WHERE保留成绩不低于90分的两条记录,ORDER BY Score DESC按成绩降序排列,所以先输出张三,再输出王五。
2.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
StudentName TEXT(20)
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10)
);
INSERT INTO Students VALUES ('S01', '张三');
INSERT INTO Students VALUES ('S02', '李四');
INSERT INTO Enrollment VALUES ('S01', 'C01');
SELECT s.StudentName, e.CourseID
FROM Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID;
【答案】查询结果为:张三 C01。
【解析】INNER JOIN只保留两表中StudentID能够匹配的记录,只有S01存在选课记录,因此结果为张三和C01。
3.阅读表结构定义,写出StudentID和CourseID在Enrollment表中的作用。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY
);
CREATE TABLE Courses (
CourseID TEXT(10) PRIMARY KEY
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
【答案】StudentID和CourseID共同组成Enrollment表的复合主键,同时分别是引用Students和Courses主键的外键。
【解析】PRIMARY KEY括号中的两个字段共同保证一次选课记录唯一;两个FOREIGN KEY约束分别把Enrollment与学生实体集、课程实体集连接起来。
4.阅读SQL语句,指出执行错误的原因并写出一条正确的修改语句。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY,
StudentName TEXT(20)
);
INSERT INTO Students VALUES ('S01', '张三');
INSERT INTO Students VALUES ('S01', '李四');
【答案】第二条INSERT使用了已存在的主键值S01,会违反主键唯一性;可改为INSERT INTO Students VALUES ('S02', '李四');。
【解析】StudentID是PRIMARY KEY,不能出现重复值。修改第二条INSERT的StudentID为尚未使用的S02即可插入新记录。
5.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
ClassID TEXT(10)
);
INSERT INTO Students VALUES ('S01', 'C01');
INSERT INTO Students VALUES ('S02', 'C01');
INSERT INTO Students VALUES ('S03', 'C02');
SELECT ClassID, COUNT(*) AS StudentCount
FROM Students
GROUP BY ClassID
ORDER BY ClassID;
【答案】查询结果为:C01 2;C02 1。
【解析】GROUP BY按ClassID分组,COUNT(*)统计每组记录数;C01有两名学生,C02有一名学生,ORDER BY使C01先显示。
三、案例分析题(共1题,共10分)
1.下面SQL用于查询学生姓名和课程名称,但语句中有一处字段引用错误,请指出并改正。
SELECT s.StudentName, c.CourseName
FROM (Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID)
INNER JOIN Courses AS c
ON e.CourseID = s.CourseID;
【答案】将ON e.CourseID = s.CourseID改为ON e.CourseID = c.CourseID。
【解析】Enrollment中的CourseID应与Courses表的CourseID匹配,s是Students表别名,没有CourseID字段;改为e.CourseID=c.CourseID后,三张表才能按正确的课程编号连接。
四、综合应用题(共1题,共10分)
1.已建立Students、Courses和Enrollment三张表,字段分别如SQL代码所示。请编写一条Access SQL语句,查询成绩不低于60分的学生姓名和课程名称,并按StudentID升序、CourseID升序排列。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY,
StudentName TEXT(20)
);
CREATE TABLE Courses (
CourseID TEXT(10) PRIMARY KEY,
CourseName TEXT(30)
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
Score INTEGER
);
【答案】SELECT s.StudentID, s.StudentName, c.CourseName, e.Score
FROM (Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID)
INNER JOIN Courses AS c
ON e.CourseID = c.CourseID
WHERE e.Score >= 60
ORDER BY s.StudentID, e.CourseID;
【解析】查询先通过StudentID连接Students与Enrollment,再通过CourseID连接Courses;WHERE筛选Score不低于60分的选课记录,ORDER BY按学生编号和课程编号升序排列。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第14卷,为知识训练卷,按《Access数据库应用操作》中“数据库基本概念”范围和要求编写。具体内容为:(1)理解数据库的有关概念。(2)了解实体、属性和实体集的概念及实体之间的关系。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第14卷 Access数据库应用操作——数据库基本概念
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.数据库是指( )
A.用于绘图的应用软件
B.只能保存文字的文件
C.计算机中的所有程序
D.长期存储、按一定结构组织并可共享的数据集合
2.在关系数据库中,一张表通常对应于( )
A.一个实体集
B.一个字段
C.一个查询条件
D.一条记录
3.在学生表中,一行数据通常称为( )
A.字段
B.实体集
C.记录
D.属性
4.“学生的出生日期”描述的是学生的( )
A.记录
B.属性
C.实体集
D.联系
5.“全体在校学生”在概念上属于( )
A.一条记录
B.一个属性
C.一个实体集
D.一个实体
6.一个班级包含多名学生,而每名学生只属于一个班级,这种联系是( )
A.一对一
B.多对多
C.无联系
D.一对多
7.一个人对应一张身份证,且一张身份证只对应一个人,这种联系是( )
A.一对多
B.一对一
C.多对一
D.多对多
8.学生与课程之间通常是多对多联系,因为( )
A.一个学生可选多门课程,一门课程也可被多名学生选
B.一门课程只能有一名学生
C.一个学生只能选一门课程
D.学生和课程没有联系
9.能够唯一标识表中每条记录的字段或字段组合称为( )
A.备注字段
B.主键
C.普通字段
D.外键
10.在学生表中,最适合作为主键的是( )
A.姓名
B.专业名称
C.学号
D.年龄
11.如果再次执行下面语句,且S01已经存在,会违反( )约束
INSERT INTO Students (StudentID, StudentName)
VALUES ('S01', '李四');
A.主键唯一性
B.字段显示格式
C.实体集定义
D.外键约束
12.阅读查询语句,WHERE子句的作用是( )
SELECT StudentID, StudentName
FROM Students
WHERE Score >= 90;
A.建立实体集
B.删除表结构
C.修改字段名
D.筛选满足条件的记录
13.下面定义中,Enrollment的复合主键由哪些字段组成( )
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
Score INTEGER,
PRIMARY KEY (StudentID, CourseID)
);
A.只有Score
B.StudentID和CourseID
C.Score和CourseID
D.Enrollment和Score
14.执行下面查询时,即使某些学生没有选课,也希望显示所有学生,应使用( )
SELECT s.StudentID, e.CourseID
FROM Students AS s
LEFT JOIN Enrollment AS e
ON s.StudentID = e.StudentID;
A.INNER JOIN
B.GROUP BY
C.LEFT JOIN
D.ORDER BY
15.若Students表中有3条记录,执行下面查询返回的结果是( )
SELECT COUNT(*) AS StudentCount
FROM Students;
A.Students表结构
B.所有学生姓名
C.StudentCount字段名
D.3
16.执行下面查询后,记录的排列顺序为( )
SELECT StudentID, Score
FROM Students
ORDER BY Score DESC;
A.按成绩从高到低
B.按姓名排序
C.按学号从低到高
D.按成绩从低到高
17.下面查询返回的记录必须同时满足( )
SELECT *
FROM Enrollment
WHERE CourseID = 'C01' AND Score >= 60;
A.课程为C01或成绩不低于60
B.课程不为C01且成绩不低于60
C.所有选课记录
D.课程为C01且成绩不低于60
18.根据下面定义,Department与Employee之间的联系为( )
CREATE TABLE Department (
DeptID TEXT(10) PRIMARY KEY,
DeptName TEXT(20)
);
CREATE TABLE Employee (
EmpID TEXT(10) PRIMARY KEY,
DeptID TEXT(10),
FOREIGN KEY (DeptID) REFERENCES Department(DeptID)
);
A.一对多
B.一对一
C.多对多
D.属性与属性的联系
19.下面的查询结果体现了Student与Course之间的哪种业务联系( )
SELECT s.StudentName, c.CourseName
FROM (Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID)
INNER JOIN Courses AS c
ON e.CourseID = c.CourseID;
A.学生姓名字段的类型
B.学生姓名与课程名称之间的选修联系
C.数据库文件的存储位置
D.课程表的主键定义
20.在下面查询中,NULL通常表示该字段( )
SELECT StudentID, Phone
FROM Students
WHERE Phone IS NULL;
A.值一定为0
B.值一定为空字符串
C.没有已存储的有效值
D.值一定重复
21.执行下面INSERT语句后,新增的数据在Students表中表示( )
INSERT INTO Students (StudentID, StudentName, ClassID)
VALUES ('S05', '赵六', 'C02');
A.一条表结构定义
B.一条学生记录
C.一个学生属性
D.一个班级实体集
22.下面查询的返回结果是( )
SELECT DISTINCT ClassID
FROM Students;
A.Students表中的所有重复记录
B.班级表的字段定义
C.不重复的班级编号集合
D.所有学生姓名
23.下面查询中的子查询先得到( )
SELECT StudentName
FROM Students
WHERE StudentID IN (
SELECT StudentID
FROM Enrollment
WHERE CourseID = 'C01'
);
A.选修C01课程的学生编号
B.所有课程编号
C.所有班级名称
D.Students表的字段数
24.执行下面语句的数据库操作是( )
UPDATE Students
SET ClassID = 'C03'
WHERE StudentID = 'S01';
A.删除数据库
B.查询记录
C.插入一张新表
D.修改满足条件的记录
25.执行下面语句的数据库操作是( )
DELETE FROM Students
WHERE StudentID = 'S05';
A.建立实体集
B.统计记录数量
C.删除满足条件的记录
D.建立主键
二、简答题(共5题,每题6分,共30分)
1.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
StudentName TEXT(20),
Score INTEGER
);
INSERT INTO Students VALUES ('S01', '张三', 95);
INSERT INTO Students VALUES ('S02', '李四', 78);
INSERT INTO Students VALUES ('S03', '王五', 92);
SELECT StudentName, Score
FROM Students
WHERE Score >= 90
ORDER BY Score DESC;
2.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
StudentName TEXT(20)
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10)
);
INSERT INTO Students VALUES ('S01', '张三');
INSERT INTO Students VALUES ('S02', '李四');
INSERT INTO Enrollment VALUES ('S01', 'C01');
SELECT s.StudentName, e.CourseID
FROM Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID;
3.阅读表结构定义,写出StudentID和CourseID在Enrollment表中的作用。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY
);
CREATE TABLE Courses (
CourseID TEXT(10) PRIMARY KEY
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
4.阅读SQL语句,指出执行错误的原因并写出一条正确的修改语句。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY,
StudentName TEXT(20)
);
INSERT INTO Students VALUES ('S01', '张三');
INSERT INTO Students VALUES ('S01', '李四');
5.阅读SQL语句,写出查询结果。
CREATE TABLE Students (
StudentID TEXT(10),
ClassID TEXT(10)
);
INSERT INTO Students VALUES ('S01', 'C01');
INSERT INTO Students VALUES ('S02', 'C01');
INSERT INTO Students VALUES ('S03', 'C02');
SELECT ClassID, COUNT(*) AS StudentCount
FROM Students
GROUP BY ClassID
ORDER BY ClassID;
三、案例分析题(共1题,共10分)
1.下面SQL用于查询学生姓名和课程名称,但语句中有一处字段引用错误,请指出并改正。
SELECT s.StudentName, c.CourseName
FROM (Students AS s INNER JOIN Enrollment AS e
ON s.StudentID = e.StudentID)
INNER JOIN Courses AS c
ON e.CourseID = s.CourseID;
四、综合应用题(共1题,共10分)
1.已建立Students、Courses和Enrollment三张表,字段分别如SQL代码所示。请编写一条Access SQL语句,查询成绩不低于60分的学生姓名和课程名称,并按StudentID升序、CourseID升序排列。
CREATE TABLE Students (
StudentID TEXT(10) PRIMARY KEY,
StudentName TEXT(20)
);
CREATE TABLE Courses (
CourseID TEXT(10) PRIMARY KEY,
CourseName TEXT(30)
);
CREATE TABLE Enrollment (
StudentID TEXT(10),
CourseID TEXT(10),
Score INTEGER
);
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$