数据库考试(小题+知识点)
1.基本关系代数运算有哪些?
关系代数中,
集合运算符有:交(∩),并(∪),差(-),笛卡尔积(×)
专门的关系运算符有:选择(σ),投影(π),连接(▷◁),除(÷)
其中,基本关系代数运算是:并(∪),差(-),笛卡尔积(×),选择(σ),投影(π)
2.假设有关系R和S,关系代数表达式R-(R-S)表示的是
- R×S
- R-S
- R∩S
- R∪S
这题体现了:其他运算可以由基本关系代数运算表示。
基本关系代数运算
3.关系数据库中的投影操作是指
- 关系数据库中的投影操作是指从关系中抽出特定字段
- 关系数据库中的选择操作是指从关系中抽出特定记录
4.关系代数运算是以( 集合运算)为基础的运算 。
- 关系演算是以 谓词运算 为基础的运算
5.下面的选项不是关系数据库基本特征的是( )。
- 与行的次序无关
- 不同的列应有不同的数据类型
- 不同的列应有不同的列名
- 与列的次序无关
6.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的________
- A. 行
- B. 元组
- C. 记录
- D. 属性
我的答案: D:属性;正确答案: D:属性;
7.在通常情况下,下面的关系中不可以作为关系数据库的关系是_______.
- A. R3(学生号,学生名,宿舍号)
- B. R4(学生号,学生名,简历)
- C. R2(学生号,学生名,班级号)
- D. R1(学生号,学生名,性别)
我的答案: B:R4(学生号,学生名,简历);正确答案: B:R4(学生号,学生名,简历);
解析:
- 在关系数据库中,一个关系必须满足以下几个条件:
- 1. 每个属性具有原子性,即每个属性不能再分解;
- 2. 关系中的每个元组都是唯一的,不能重复;
- 3. 关系中的属性是无序的,不能直接引用某个属性。
- 在本题中,A、C、D三个关系都满足以上三个条件,可以作为关系数据库的关系。而B关系中的简历属性不具备原子性,无法直接处理和引用,因此不符合关系数据库的要求,不能作为关系数据库的关系。
8.关系代数中的连接操作是由( )操作组合而成 。
- A. 投影和笛卡尔积
- B. 选择和投影
- C. 投影、选择、笛卡尔积
- D. 选择和笛卡尔积
9.现有如下关系: 患者(患者编号,患者姓名,性别,出生日期,所在单位) 医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果) 其中,医疗关系中的外码是( )。
- A. 患者姓名
- B. 患者编号和患者姓名
- C. 医生编号和患者编号
- D. 患者编号
我的答案: D:患者编号;正确答案: D
解析:
- 外码应是另一个关系的主码,
- 如再增加一个关系:医生(医生编号),则医生编号也是医疗关系的外码
10.一个关系数据库文件中的各条记录__________。
- A. 前后顺序可以任意颠倒,不影响库中的数据关系
- B. 前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同
- C. 前后顺序不能任意颠倒,一定要按照输入的顺序排列
- D. 前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列
我的答案: A:前后顺序可以任意颠倒,不影响库中的数据关系;正确答案: A:前后顺序可以任意颠倒,不影响库中的数据关系;
答案解析:无
11.有两个关系R(A,B,C)和S(B,C,D),将R和S进行自然连接,得到的结果包含几个列。
- A. 6
- B. 5
- C. 2
- D. 4
我的答案: D:4;正确答案: D:4;
12.关系模型中,一个码是( )。
- A. 由一个或多个属性组成,其值能够惟一标识关系中一个元组
- B. 可以由多个任意属性组成
- C. 以上都不是
- D. 至多由一个属性组成
我的答案: A:由一个或多个属性组成,其值能够惟一标识关系中一个元组;正确答案: A:由一个或多个属性组成,其值能够惟一标识关系中一个元组;
答案解析:无
13.关系操作中,操作的对象和结果是____
- A. 列
- B. 记录
- C. 集合
- D. 元组
我的答案: C:集合;正确答案: C:集合;
14.一张职工表,包含“性别”属性,要求该属性只能取“男”或“女”,这属于___
- A. 实体完整性
- B. 用户定义的完整性
- C. 参照完整性
- D. 关系不变性
我的答案: B:用户定义的完整性;正确答案: B:用户定义的完整性;
15.关系模型的三类完整性约束是什么?它们是什么意思?
- 关系模型的三类完整性约束是指实体完整性、参照完整性和用户定义的完整性,它们的意思如下:
- 1. 实体完整性:关系模型中的每个实体必须具有一个可以唯一标识该实体的主键,而且主键值不能为空。实体完整性保证了表中每个实体的唯一性和完整性,也保证了表中数据的一致性。
- 2. 参照完整性:在多个表之间建立引用关系时,被引用表的数据必须存在于引用表中。参照完整性保证了数据的正确性和一致性。
- 3. 用户定义的完整性:根据需求自定义的完整性约束,可以对某些属性的取值范围或某些特定条件进行限制,以确保数据的正确性和一致性。例如,在一个表中限制某个属性取值必须是数字或者日期等。
16.关系模型中,非主属性不可能出现在任何候选码中
- A. 对
- B. 错
我的答案: 对正确答案: 对
17.什么是主码、外码、候选码、全码?
超键
在关系中能唯一标识元组的属性集称为关系模式的超键(只要有一个键唯一,再随便组其他的键,合起来叫主键)
主码(主键,主关键字,primary key)
主关键字是表的行的唯一标识的候选关键字。一个表只有一个主关键字。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。外码(外键,外关键字,foreign key)(不含多余属性的超键)
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。(图中,上面的是从表,下面的是主表)
候选码(candidate key)
- 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为(超级码)候选码。
- 例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是(超级码)候选码。
- 简单的说,候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候选码,可以选定其中一个作为主码。
- 候选码中出现过的属性称为主属性;非主属性就是不包含在任何候选码中的属性
- 例如:关系 工人(工号,身份证号,姓名,性别,部门).显然工号和身份证号都能够唯一标示这个关系,所以都是候选码。工号、身份证号这两个属性就是主属性。其他的“姓名”“性别”“部门”就是非主属性。(如果主码是一个属性组,那么属性组中的属性都是主属性)
全码(all key)
- 关系模型的所有属性组 组成 该关系模式的 候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码
- 如,关系模式R(T,C,S),属性T表示教师,属性C表示课程,属性S表示学生。假如设一个教师可以讲授多门课程,某门课程可以有多个教师讲授,学生可以听不同教师讲授的不同课程,那么,要区分关系中的每一个元组,这个关系模式R的码(主键)应为全属性T、C和S,即All-key
18.SQL语言是_____语言
- A. 网络数据库
- B. 非数据库
- C. 层次数据库
- D. 关系数据库
我的答案: D:关系数据库;正确答案: D:关系数据库;
19.关于SQL语言,下列说法正确的是
- A. SQL采用的是面向记录的操作方式,以记录为单位进行操作
- B. SQL作为嵌入式语言语法与独立的语言有较大差别
- C. 数据控制功能不是SQL语言的功能之一
- D. SQL是非过程化的语言,用户无须指定存取路径
我的答案: D:SQL是非过程化的语言,用户无须指定存取路径;正确答案: D
20. 数据库中建立索引是为了
- A. 加快建表速度
- B. 提高安全性
- C. 节省存储空间
- D. 加快存取速度
我的答案: D:加快存取速度;正确答案: D
21.下列说法不正确的是
- A. 基本表和视图中都存储数据
- B. 可以从基本表或视图上定义视图
- C. 可以使用SQL对基本表和视图进行操作
- D. 基本表和视图一样,都是关系
我的答案: A:基本表和视图中都存储数据;正确答案: A
22.SQL数据操纵语句包括SELECT,INSERT,UPDATE,DELETE等,最重要且使用最频繁的是_____
- A. INSERT
- B. DELETE
- C. UPDATE
- D. SELECT
我的答案: D:SELECT;正确答案: D
23.SQL具有两种使用方式,交互式SQL和______
- A. 提示式SQL
- B. 解释式SQL
- C. 多用户SQL
- D. 嵌入式SQL
我的答案: D:嵌入式SQL;正确答案: D
- SQL具有两种使用方式,交互式SQL和嵌入式SQL。
- 交互式SQL是通过命令行或图形界面等方式,直接输入SQL语句与数据库进行交互操作的方式。而嵌入式SQL是将SQL语句嵌入到编程语言中,通过编程语言对数据库进行操作的方式。
- 嵌入式SQL可以使得应用程序与数据库进行无缝连接,从而实现更加灵活、高效的数据操作。
- 提示式SQL和解释式SQL都不是SQL的使用方式。
- 提示式SQL是一种交互式SQL的变种,可以通过提示符引导用户输入SQL命令。
- 解释式SQL是一种SQL语言的解释器,可以将SQL语句解释成可以执行的代码。
24.SQL,修改表结构的是_____
- A. ALTER
- B. CREATE
- C. INSERT
- D. UPDATE
我的答案: A:ALTER;正确答案: A:ALTER;
25.视图是数据库系统三级模式中的()
- A. 模式映像
- B. 内模式
- C. 模式
- D. 外模式
我的答案: D:外模式;正确答案: D
- 视图(View)是从一个或几个基本表(视图)中导出的表。它是一种虚拟的表,不是一个实际存在的表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍存放在原来的基本表中。
- 视图是基于 SQL 查询语句的结果集所创建的,一但基本表中的数据变化,从视图中查询出的数据也就随之改变了。
- 视图像一个窗口,可看到自己感兴趣的数据及其变化
- 定义:
CREATE VIEW testview
AS
SELECT语句
26.SQL,实现数据检索的语句是____
- A. DELETE
- B. UPDATE
- C. SELECT
- D. INSERT
我的答案: C:SELECT;正确答案: C
27.对表中数据进行删除的操作是()
- A. DELETE
- B. UPDATE
- C. DROP
- D. ALTER
我的答案: A:DELETE;正确答案: A
28.以下试题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名, GRADE为成绩
检索选修4门以上课程的学生总成绩(不统计不及格的课)并按总成绩降序排列出来。正确的 SELECT语句是
- A. SELECT S#, SUM(GRADE)
FROM SC
WHERE GRADE>=60
ORDER BY 2 DESC
GROUP BY S#
HAVING COUNT(*)>=4 - B. SELECT S#, SUM(GRADE)
FROM SC
WHERE GRADE>=60
GROUP BY S#
ORDER BY 2 DESC
HAVING COUNT(*)>=4 - C. SELECT S#, SUM(GRADE)
FROM SC
WHERE GRADE>=60
HAVING COUNT(*)>=4
GROUP BY S#
ORDER BY 2 DESC - D. SELECT S#, SUM(GRADE)
FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC
我的答案: D:SELECT S#, SUM(GRADE) FROM SCWHERE GRADE>=60GROUP BY S#HAVING COUNT(*)>=4ORDER BY 2 DESC;正确答案: D
29.关系运算中花费时间可能最长的是
- A. 笛卡尔积
- B. 选择
- C. 除
- D. 投影
我的答案: A:笛卡尔积;正确答案: A
30.自然连接与等值连接的差别在于()
- A. 等值连接要求相等的分量一定是公共属性,而后者则相反
- B. 等值连接不把重复的属性除去;而自然连接要把重复的属性除去
- C. 自然连接不把重复的属性除去;而等值连接要把重复的属性除去
- D. 等值连接与自然连接本质完全一样
我的答案: B:等值连接不把重复的属性除去;而自然连接要把重复的属性除去;正确答案: B
31.(填空题)设有学生成绩数据库XSCJ,
Student(学号,姓名,专业名,性别,出生时间,总学分,备注)。
Course(课程号,课程名,开课学期,学时,学分)
StuCourse(学号,课程号,成绩)。
试写出以下操作的SQL语句:
查询修读“计算机基础”的学生姓名;注意在SQL语言中,字符串“计算机基础”要写成'计算机基础'
SELECT ____填空 ____1____FROM Student a, Course b, StuCourse c
WHERE ____填空 ____2____AND ____填空 ____3____AND ____填空 ____4____
- 正确答案:
- (1) 第1空:
姓名
第2空:
b.课程号=c.课程号
第3空:
a.学号=c.学号
第4空:
b.课程名='计算机基础'
32.嵌套查询是指讲一个查询块嵌套在另一个查询块的WHILE子句或____子句中。
- 答案:
- (1) HAVING
33.等值连接一定是自然连接,但自然连接不一定是等值连接。
- A. 对
- B. 错
答案: B.错
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效