当前位置:首页 > 数据库原理与技术课程习题答案
B.在进行关系操作时,用户需要知道数据的存储位置 C.在进行关系操作时,用户需要知道数据的存储结构 D.用户可以在关系上直接进行行定位操作 6. 下列关于关系的说法,错误的是 D
A.关系中的每个属性都是不可再分的基本属性 B.关系中不允许出现值完全相同的元组 C.关系中不需要考虑元组的先后顺序
D.关系中属性顺序的不同,关系所表达的语义也不同 7. 下列关于关系代数中选择运算的说法,正确的是 A
A.选择运算是从行的方向选择集合中的数据,选择运算后的行数有可能减少 B.选择运算是从行的方向选择集合中的数据,选择运算后的行数不变
C.选择运算是从列的方向选择集合中的若干列,选择运算后的列数有可能减少 D.选择运算是从列的方向选择集合中的若干列,选择运算后的列数不变 8. 下列用于表达关系代数中投影运算的运算符是 B
A.σ B.∏ C. D.+ 9. 下列关于关系代数中差运算结果的说法,正确的是 D
A.差运算的结果包含了两个关系中的全部元组,因此有可能有重复的元组 B.差运算的结果包含了两个关系中的全部元组,但不会有重复的元组 C.差运算的结果只包含两个关系中相同的元组 D.“A-B”差运算的结果由属于A但不属于B的元组组成 10. 设有如下三个关系,学生(学号,姓名,性别),课程(课程号,课程名,学分)和选课(学号,课程号,成绩)。现要查询赵飞选的课程的课程名和学分,下列关系代数表达式正确的是 B
A.∏课程名,学分( σ姓名 =‘赵飞’(学生) ∞ 课程 ∞ 选课) B.∏课程名,学分( σ姓名 =‘赵飞’(学生) ∞ 选课 ∞ 课程) C.∏课程名,学分( σ姓名 =‘赵飞’(学生 ∞ 课程 ∞ 选课)) D.∏课程名,学分( σ姓名 =‘赵飞’(课程 ∞ 学生 ∞ 选课 ))
二、简答题
1. 试述关系模型的三个组成部分。
答:关系模型的三个组成部分是由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。 2. 解释下列术语的含义:
(1) 主键: 也称为主码或主关键字,是表中的属性或属性组,用于唯一地确定一个
元组。
(2) 候选键: 如果一个属性或属性集的值能够唯一标识一个关系的元组而又不包含
多余的属性,则称该属性或属性集为候选键。
(3) 关系: 关系就是二维表,二维表的名字就是关系的名字
(4) 关系模式: 是指二维表的结构,或者关系模式就是二维表的表框架或表头结构。 (5) 关系数据库: 对应于一个关系模型的所有关系的集合称为关系数据库。
3. 关系数据库的三个完整性约束是什么?各是什么含义?
答:关系数据库的数据完整性约束主要包括三大类:实体完整性、参照完整性和用户定义的完整性。
5
实体完整性是保证关系中的每个元组都是可识别的和唯一的。是指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录。 参照完整性也称为引用完整性。现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。 用户定义的完整性也称为域完整性或语义完整性。用户定义的完整性就是针对某一具体应用领域定义的数据约束条件。它反映某一具体应用所涉及的数据必须满足应用语义的要求。
4. 利用表3-11至3-13所给的三个关系,写出实现如下查询的关系代数表达式。
(1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。
∏Sno,Sname,Cno,Grade(σ
Sdept=‘信息管理系’(Student) SC Course)
(2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。
∏Sname,Sdept,Grade(σ
Cname=‘VB’(Course) SC Student)
(3)查询考试成绩高于90分的学生的姓名、课程名和成绩。
∏Sname,Cno,Grade(σ
Grade>90(SC) Student)
(4)查询至少选修了0821103学生所选的全部课程的学生姓名和所在系。 ∏Sname, Sdept(Student (∏SNO,CNO(SC) ÷ ∏cno(σ
Sno=‘0821103’(SC))))
(5)查询至少选了“C001”和“C002”两门课程的学生姓名、所在系和所选的课程号。
∏Sname,Sdept,Cno(∏Sno(σCno =‘C001’ (SC)) Student SC) ∩
∏Sname,Sdept,Cno(∏Sno(σCno =‘C002’ (SC)) Student SC)
第4章
一、选择题
1. 下列关于SQL语言特点的叙述,错误的是 B
A.使用SQL语言访问数据库,用户只需提出做什么,而无需描述如何实现 B.SQL语言比较复杂,因此在使用上比较难
C.SQL语言可以在数据库管理系统提供的应用程序中执行,也可以在命令行方式下执行
D.使用SQL语言可以完成任何数据库操作
2. 下列所述功能中,不属于SQL语言功能的是 D
A.数据库和表的定义功能 B.数据查询功能 C.数据增、删、改功能 D.提供方便的用户操作界面功能 3. 设某职工表中有用于存放年龄(整数)的列,下列类型中最合适年龄列的是 C A.int B.smallint C.tinyint D.bit 4. 设某列的类型是char(10),存放“数据库”,占用空间的字节数是 A A.10 B.20 C.3 D.6 5. 设某列的类型是nchar(10),存放“数据库”,占用空间的字节数是 B A.10 B.20 C.3 D.6
6
6. 设某列的类型是varchar(10),存放“数据库”,占用空间的字节数是 D A.10 B.20 C.3 D.6 7. 设某列的类型是nvarchar(10),存放“abc”,占用空间的字节数是 D A.10 B.20 C.3 D.6 8. 下列约束中用于限制列的取值范围的约束是 B A.PRIMARY KEY B.CHECK C.DEFAULT D. UNIQUE 9. 下列约束中用于限制列取值不重的约束是 D A.PRIMARY KEY B.CHECK C.DEFAULT D. UNIQUE 10. 下列关于DEFAULT约束的说法,正确的是 C A.一个DEFAULT约束可用于一个表的多个列上 B.DEFAULT约束只能作为表级完整性约束 C.DEFAULT约束只能作为列级完整性约束
D.DEFAULT约束既可作为表级完整性约束也可作为列级完整性约束
二、简答题
1. SQL语言的特点是什么?具有哪些功能? 答:主要特点有:(1)一体化,(2)高度非过程化,(3)简洁,(4)可以多种方式使用。 SQL语言按其功能可分为4大部分:数据定义、数据查询、数据更改和数据控制。
2. tinyint类型定义的数据的取值范围是多少?
答:tinyint类型定义的数据的取值范围是从 0 到 255 之间的整数
3. SmallDatatime类型精确到哪个时间单位?
答:SmallDatatime类型的默认格式为:YYYY-MM-DD hh:mm:00。精确到分钟。
4. 定点小数类型numeric(p,q)中的p和q的含义分别是什么?
答:p为精度,指定可以存储的十进制数字的最大个数。q为小数位数,指定小数点右边可以存储的十进制数字的最大个数。
5. char(n)和nchar(n)中n的取值范围分别是多少?
答:char(n)中的n表示字符串的最大长度,取值范围为1~8000。 nchar(n)中的n表示字符串的最大长度,取值范围为1~4000。
6. 架构的作用是什么?
答:架构(schema,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。
7. 写出定义如下架构的SQL语句。
(1)定义一个名为“BOOK”的架构。 CREATE SCHEMA BOOK
7
(2)为用户“Teacher”定义一个架构,架构名同用户名。 CREATE SCHEMA AUTHORIZATION Teacher
第5章
一、选择题
1. 当关系R和S进行连接操作时,如果R中的元组不满足连接条件,在连接结果中也会
将这些记录保留下来的操作是 A A.左外连接 B.右外连接 C.内连接 D.自连接
2. 设在某SELECT语句的WHERE子句中,需要对Grade列的空值进行处理。下列关于空
值的操作,错误的是 C A.Grade IS NOT NULL B.Grade IS NULL C.Grade = NULL D.NOT (Grade IS NULL) 3. 下列聚合函数中,不忽略空值的是 D
A.SUM(列名) B.MAX(列名) C.AVG(列名) D.COUNT(*) 4. SELECT … INTO …FROM语句的功能是 A
A. 将查询结果插入到一个新表中 B. 将查询结果插入到一个已建好的表中 C. 合并查询的结果
D. 向已存在的表中添加数据
5. 下列查询查询语句中,错误的是 B
A. SELECT Sno, COUNT(*) FROM SC GROUP BY Sno
B. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3 C. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3 D. SELECT Sno FROM SC GROUP BY Sno
6. 现要利用Student表查询年龄最小的学生姓名和年龄。下列实现此功能的查询语句中,
正确的是 D
A. SELECT Sname, MIN(Sage) FROM Student
B. SELECT Sname, Sage FROM Student WHERE Sage = MIN(Sage) C. SELECT TOP 1 Sname, Sage FROM Student
D. SELECT TOP 1 Sname, Sage FROM Student ORDER BY Sage
7. 设SC表中记录成绩的列为:Grade,类型为int。若在查询成绩时,希望将成绩按‘优’、
‘良’、‘中’、‘及格’和‘不及格’形式显示,正确的Case表达式是 C A. Case Grade
When 90~100 THEN '优' When 80~89 THEN '良' When 70~79 THEN '中' When 60~69 THEN '及格' Else '不及格' End B. Case
8
When Grade between 90 and 100 THEN Grade = '优' When Grade between 80 and 89 THEN Grade = '良' When Grade between 70 and 79 THEN Grade = '中' When Grade between 60 and 69 THEN Grade = '及格' Else Grade = '不及格' End C. Case
When Grade between 90 and 100 THEN '优' When Grade between 80 and 89 THEN '良' When Grade between 70 and 79 THEN '中' When Grade between 60 and 69 THEN '及格' Else '不及格' End
D. Case Grade
When 90~100 THEN Grade = '优' When 80~89 THEN Grade = '良' When 70~79 THEN Grade = '中' When 60~69 THEN Grade = '及格' Else Grade = '不及格' End
8. 下列SQL语句中,用于更改表数据的语句是 C
A.ALTER B.SELECT C.UPDATE D.INSERT 9. 设有Teachers表,该表的定义如下:
CREATE TABLE Teachers(
Tno CHAR(8) PRIMARY KEY, Tname VARCHAR(10) NOT NULL,
Age TINYINT CHECK(Age BETWEEN 25 AND 65) )
下列插入语句中,不能正确执行的是 D
A.INSERT INTO Teachers VALUES('T100','张三',NULL)
B.INSERT INTO Teachers(Tno,Tname,Age) VALUES('T100','张三',30) C.INSERT INTO Teachers(Tno,Tname) VALUES('T100','张三') D.INSERT INTO TeachersVALUES('T100','张三') 10. 下列删除计算机系学生的修课记录的语句,正确的是 B
A.DELETE FROM SC JOIN Student b ON S.Sno = b.Sno WHERE Sdept = '计算机系'
B.DELETE FROM SC FROM SC JOIN Student b ON SC.Sno = b.Sno WHERE Sdept = '计算机系'
C.DELETE FROM Student WHERE Sdept = '计算机系' D.DELETE FROM SC WHERE Sdept = '计算机系' 11. 下列条件子句中,能够筛选出Col列中以“a”开始的所有数据的是 B
A.Where Col = 'a%'
B.Where Col like 'a%' C.Where Col = 'a_'
9
共分享92篇相关文档