1、程序员-数据库基础知识(二)及答案解析(总分:22.02,做题时间:90 分钟)一、B单项选择题/B(总题数:9,分数:22.00)数据库是在计算机系统中按照一定的数据模型组织、存储和应用的U (1) /U的集合。提供数据库各种操作的软件系统叫做U (2) /U。(分数:2.01)A.命令B.程序C.数据D.文件A.数据库系统B.文件系统C.操作系统D.数据库管理系统_设有关系 Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系 DEPT 的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系 Students 的主键和外键分别是U
2、(4) /U。“家庭住址”是一个U (5) /U属性。(分数:2.01)A.学号、家庭住址B.姓名、家庭住址C.学号、系名D.姓名、系名A.简单B.复合C.多值D.派生_关系数据库是表的集合。对视图进行查询,本质上就是对从U (7) /U中导出的数据进行查询;支持数据库各种操作的软件系统称为U (8) /U。(分数:2.00)A.一个或若干个基本表B.一个或若干个索引文件C.一个或若干个视图D.一个视图A.数据库系统B.文件系统C.数据库管理系统D.操作系统关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、U (9) /U、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效
3、率和存储空间的利用率,需要对U (10) /U进行分解。(分数:2.00)A.交B.连接C.笛卡儿积D.自然连接A.内模式B.视图C.外模式D.关系模式通过U (11) /U关系运算,可以从表 3-5 和表 3-6 获得表 3-7;表 3-7的主键为U (12) /U。 表 3-5课程号 课程名10011 计算机文化10024 数据结构20010 数据库系统20021 软件工程20035 UML 应用表 3-6课程号 教师名10011 赵军10024 李小华10024 林志鑫20035 李小华20035 林志鑫表 3-7课程号 课程名 教师名10011 计算机文化 赵军10024 数据结构 李
4、小华10024 数据结构 林志鑫20035 UML 应用 李小华20035 UML 应用 林志鑫(分数:2.00)A.投影B.选择C.笛卡儿积D.自然连接A.课程号B.课程名C.课程号、教师名D.课程号、课程名某银行信贷额度关系 credit-in(C_no,C_name,limit,Credit balance)中的4 个属性分别表示用户号、用户姓名、信贷额度和累计消费额。该关系的U (13) /U属性可以作为主键。表 3-8 为关系 credit-in 的一个具体实例。 表 3-8C_no C_name limit Credit_balance13100011310002241000324
5、10004411004141100424110812张静陈继年李丽莉刘华东赵庆民范建华赵庆民35003500238006600980016000180020002100200058004500查洵累计消费额大于 3000 的用户姓名以及剩余消费额的 SQL 语句应为:Select U(14) /UFrom credit-inWhere U(15) /U;(分数:3.00)A.C_noB.C_nameC.Credit_balanceD.limitA.C_name,Credit_balance-limitB.C_name,limit-Credit_balanceC.C_name,limit,Cre
6、dit_balanceD.C_name,Credit_balanceA.limit3000B.Credit balance3000C.limit-Credit_balance3000D.Credit_balance-limit3000对于下面表 3-9 和表 3-10 所示的 Students 和 SC 关系,属性 Sno 表示学号,Sname 表示姓名,Sex 表示性别,SD 表示专业,Age 表示年龄,Cno 表示课程号,Grade 表示成绩。 表 3-9Sno Sname Sex SD Age310001310002410003张静陈继军李丽莉女男女计算机计算机机 l 掀89841000
7、4110041110042刘华东赵庆民范建华男男男机械通信通信900表 3-10Sno Cno Grade310002310002310002410004410004110042110042123231293848483938482a当用户查询“选了课程 2 的学生数”时,其结果应为U (16) /U;当 Students 和 SC 关系进行自然连接时,其结果集的属性列数应为U (17) /U。(分数:4.00)A.3B.4C.6D.7A.6B.7C.8D.9 b查询“至少选修了两门课程的每个学生的平均成绩”的 SQL 语句如下: SELECT Sno,U (18) /U FROM SC GR
8、OUP BY Sno U (19) /U1;A.GradeB.SUM(Grade)/7C.AVG(Grade)D.SUM(Grade)/COUNT(Cno)A.WHERE COUNT(Sno)B.WHERE COUNT(DISTINCT(Sno)C.HAVING COUNT(Sno)D.HAVING COUNT(DISTINCT(Sno)设有关系 Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生的学号、姓名以及所在系,则对应的 SELECT 语句如下:SELECT 学号,姓名,系名FROM StudentsWHERE U(20) /
9、U AND U(21) /U;(分数:2.00)A.姓名 LIKE李_B.姓名 LIKE李%C.姓名 AS李_D.姓名 AS李%A.家庭住址 LIKE10/0 科技路%B.家庭住址 LIKE-科技路-C.家庭住址 AS%科技路%D.家庭住址 AS-科技路-设有一个关系 EMP(职工号,姓名,部门名,工种,工资),若需查询不同部门中担任“钳工”的职工的平均工资,则相应的 SELECT 语句为:SELECT 部门名,AVG(工资)AS 甲均工资FROM EMpGROUP BY U(22) /UHAVING U(23) /U将职工号为“23115”、姓名为“李军”、部门名为“硬件测试部”的元组插入E
10、MP 关系中的 SQL 语句为:Insert U(24) /U。(分数:3.00)A.职工号B.姓名C.部门名D.工种A.工种=钳工B.工种=钳工C.工种=钳工D.工种=钳工A.set to EMP Values(23115,李军,硬件测试部,)B.set to EMP Values(23115,李军,硬件测试部,)C.into EMP Values(23115,李军,硬件测试部,)D.into EMP Values(23115,李军,硬件测试部,)程序员-数据库基础知识(二)答案解析(总分:22.02,做题时间:90 分钟)一、B单项选择题/B(总题数:9,分数:22.00)数据库是在计算机
11、系统中按照一定的数据模型组织、存储和应用的U (1) /U的集合。提供数据库各种操作的软件系统叫做U (2) /U。(分数:2.01)A.命令B.程序C.数据 D.文件解析:A.数据库系统B.文件系统C.操作系统D.数据库管理系统 解析:解析 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的数据的集合。提供数据库各种操作的软件系统叫做数据库管理系统。_解析:设有关系 Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系 DEPT 的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系 Students 的主键和外键分别是U (
12、4) /U。“家庭住址”是一个U (5) /U属性。(分数:2.01)A.学号、家庭住址B.姓名、家庭住址C.学号、系名 D.姓名、系名解析:A.简单B.复合 C.多值D.派生解析:解析 学号可以唯一标识一个学生,所以它是关系 Students 的主键。属性“系名”是关系 DEPT的主键,由此可以得知,系名是 Students 的外键。简单属性不可再分,而复合属性可以分为更小的部分。由于“家庭住址”可以进一步分为省、市、区等,所以它是一个复合属性。_解析:关系数据库是表的集合。对视图进行查询,本质上就是对从U (7) /U中导出的数据进行查询;支持数据库各种操作的软件系统称为U (8) /U。
13、(分数:2.00)A.一个或若干个基本表 B.一个或若干个索引文件C.一个或若干个视图D.一个视图解析:A.数据库系统B.文件系统C.数据库管理系统 D.操作系统解析:解析 关系数据库是表的集合。对视图进行查询,本质上就是对从一个或若干个基本表中导出的数据进行查询;支持数据库各种操作的软件系统称为数据库管理系统。关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、U (9) /U、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对U (10) /U进行分解。(分数:2.00)A.交B.连接C.笛卡儿积 D.自然连接解析:A.内模式B.视图C.外模式
14、D.关系模式 解析:解析 关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、笛卡儿积、投影和选择。为了提高数据的操作效率和存储空间的利用率,需要对关系模式进行分解。通过U (11) /U关系运算,可以从表 3-5 和表 3-6 获得表 3-7;表 3-7的主键为U (12) /U。 表 3-5课程号 课程名10011 计算机文化10024 数据结构20010 数据库系统20021 软件工程20035 UML 应用表 3-6课程号 教师名10011 赵军10024 李小华10024 林志鑫20035 李小华20035 林志鑫表 3-7课程号 课程名 教师名10011 计算机文化 赵军
15、10024 数据结构 李小华10024 数据结构 林志鑫20035 UML 应用 李小华20035 UML 应用 林志鑫(分数:2.00)A.投影B.选择C.笛卡儿积 D.自然连接解析:A.课程号B.课程名C.课程号、教师名D.课程号、课程名 解析:解析 显然表 3-7 是表 3-5 与表 3-6 自然连接的结果,表 3-5 和表 3-6 具有相同的属性课程号,进行等值连接后,去掉重复属性列就可以得到表 3-7。从表 3-7 可以得知, “课程号、教师名”能决定表中记录的唯一性,所以“课程号、教师名”是表 3-7 的主键。某银行信贷额度关系 credit-in(C_no,C_name,limi
16、t,Credit balance)中的4 个属性分别表示用户号、用户姓名、信贷额度和累计消费额。该关系的U (13) /U属性可以作为主键。表 3-8 为关系 credit-in 的一个具体实例。 表 3-8C_no C_name limit Credit_balance1310001131000224100032410004411004141100424110812张静陈继年李丽莉刘华东赵庆民范建华赵庆民35003500238006600980016000180020002100200058004500查洵累计消费额大于 3000 的用户姓名以及剩余消费额的 SQL 语句应为:Select
17、U(14) /UFrom credit-inWhere U(15) /U;(分数:3.00)A.C_no B.C_nameC.Credit_balanceD.limit解析:A.C_name,Credit_balance-limitB.C_name,limit-Credit_balance C.C_name,limit,Credit_balanceD.C_name,Credit_balance解析:A.limit3000B.Credit balance3000 C.limit-Credit_balance3000D.Credit_balance-limit3000解析:解析 从表 3-8 中可
18、以看出,只有 C_no 能唯一标识一条记录。所以主键应该为 C_no。剩余消费额应该为信贷额减去累计消费额,即 limit-credit_balance,所以查询累计消费额大于 3000 的用户姓名以及剩余消费额的 SQL 语句应为: Select C_name ,l1m1t -Credlt_balance From credit-in Where Credit_balance3000;对于下面表 3-9 和表 3-10 所示的 Students 和 SC 关系,属性 Sno 表示学号,Sname 表示姓名,Sex 表示性别,SD 表示专业,Age 表示年龄,Cno 表示课程号,Grade 表
19、示成绩。 表 3-9Sno Sname Sex SD Age310001310002410003410004110041110042张静陈继军李丽莉刘华东赵庆民范建华女男女男男男计算机计算机机 l 掀机械通信通信898900表 3-10Sno Cno Grade310002310002310002410004410004110042110042123231293848483938482a当用户查询“选了课程 2 的学生数”时,其结果应为U (16) /U;当 Students 和 SC 关系进行自然连接时,其结果集的属性列数应为U (17) /U。(分数:4.00)A.3 B.4C.6D.7解
20、析:A.6B.7 C.8D.9 b查询“至少选修了两门课程的每个学生的平均成绩”的 SQL 语句如下: SELECT Sno,U (18) /U FROM SC GROUP BY Sno U (19) /U1;解析:A.GradeB.SUM(Grade)/7C.AVG(Grade) D.SUM(Grade)/COUNT(Cno)解析:A.WHERE COUNT(Sno)B.WHERE COUNT(DISTINCT(Sno)C.HAVING COUNT(Sno)D.HAVING COUNT(DISTINCT(Sno) 解析:解析 表 3-10 为学生选课表,表中有三个不同的学号,由此可知“选了课
21、程 2 的学生数”为 3,当学生表和选课表进行自然连接时,其结果集的属性列数为 7。求学生的平均值需要用到 AVG 函数。学生分组条件 GROUP BY 后应该用 HAVING,完整的 SQL 语句如下: SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno HAVING COUNT(DISTINCT(Sno)1;设有关系 Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生的学号、姓名以及所在系,则对应的 SELECT 语句如下:SELECT 学号,姓名,系名FROM StudentsWHERE U(2
22、0) /U AND U(21) /U;(分数:2.00)A.姓名 LIKE李_B.姓名 LIKE李% C.姓名 AS李_D.姓名 AS李%解析:A.家庭住址 LIKE10/0 科技路% B.家庭住址 LIKE-科技路-C.家庭住址 AS%科技路%D.家庭住址 AS-科技路-解析:解析 模糊查询通常使用 LIKE 操作符,“%”匹配任意字符串,“_”匹配任意一个字符。所以完整的 SQL 语句为: SELECT 学号,姓名,系名 FROM Students WHERE 姓名 LIKE 李% AND 家庭住址 LIKE %科技路%;设有一个关系 EMP(职工号,姓名,部门名,工种,工资),若需查询不
23、同部门中担任“钳工”的职工的平均工资,则相应的 SELECT 语句为:SELECT 部门名,AVG(工资)AS 甲均工资FROM EMpGROUP BY U(22) /UHAVING U(23) /U将职工号为“23115”、姓名为“李军”、部门名为“硬件测试部”的元组插入EMP 关系中的 SQL 语句为:Insert U(24) /U。(分数:3.00)A.职工号B.姓名C.部门名 D.工种解析:A.工种=钳工 B.工种=钳工C.工种=钳工D.工种=钳工解析:A.set to EMP Values(23115,李军,硬件测试部,)B.set to EMP Values(23115,李军,硬件测试部,)C.into EMP Values(23115,李军,硬件测试部,)D.into EMP Values(23115,李军,硬件测试部,) 解析:解析 按题意,查询不同部门中“钳工”的平均工资,需要按部门进行分组,而且必须满足的条件工种=钳工。根据插入语句的基本格式可知,24 题的 A、B、C 三项均有误。