数据库
1.设有一个关系r(A,B,C),如果要找出c属性的最后一个字母为a,并且至少包含2个字母的查询条件子句应写成where C Like( )。C
A.‘_ A%’ B.‘_ A’ C.‘_ %A’ D.‘%A’
2.已知关系模式r(A,B,C,D)及其上的函数依赖集合f={Ab→C,D→A},该关系模式的主码是( )。B
A.(A,B) B.(B,D) C.(B,C) D.(A,D)
3.在数据库设计中,用e-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( )阶段。B
A. 需求分析 B. 概念设计 C. 逻辑设计 D. 物理设计
4.数据库三级模式体系结构的划分,有利于保持数据库的( )。A
A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性
5.一个关系数据库文件中的各条记录( )。B
A.前后顺序不能颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响库中的统计结果
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同
D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列
6.视图创建完成后,数据字典中存放的是( )。C
A.查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义
7.下列关于数据库系统中空值的描述错误的是( )。 C
A.包含空值的算术表达式的运算结果为null
B.Count(*)将统计包含空值的行
C.空值就是0或者空字符串
D.可通过is Null运算符测试是否为空值
8.下列sql语句中,能够实现“收回用户zhao对学生表(Stud)中学号(Xh)的修改权”这一功能的是( )。D
A.Revoke Update(Xh) On Table From Public;
B.Revoke Update(Xh) On Table From Zhao;
C.Revoke Update(Xh) On Table Stu From Public;
D.Revoke Update(Xh) On Table Stu From Zhao;
9.下述sql命令的短语中,不用于定义属性上约束条件的是( )。 D
A.Not Null短语 B.Unique短语 C.Check短语 D.Having短语
10.消除了部分函数依赖的1nf的关系模式,必定是( )。B
A.1nf B.2nf C.3nf D.Bcnf
11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )。C
A.多对多 B.一对一 C.多对一 D.一对多
12.当局部e-R图合并成全局e-R图时可能会出现冲突,不属于合并冲突的是( )。B
A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突
13.不允许任何其他事务对这个锁定目标再加任何类型锁的锁是( )。A
A.排他型锁 B.共享型锁 C.共享型锁或排他型锁 D.以上都不是
14.数据库系统的核心是( )。B
A. 数据模型 B. 数据库管理系统
C. 数据库 D. 数据库管理员
15.关系模式的任意属性( )。A
A. 不可再分 B. 可再分
C. 命名在关系模式中可以不唯一 D. 以上都不对
16.设有关系r和s,关系代数表达式r - (R - S),表达的是( )。A
A. R ∩ S B. R ∪ S C. R - S D. R × S
17.Sql语言是( )的语言,容易学习。B
A. 过程化 B. 非过程化 C. 格式化 D. 导航化
18.Sql语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,Create、Drop、Alter语句是实现哪种功能( )。C
A.数据查询 B. 数据操纵 C. 数据定义 D. 数据控制
19.关系模型的完整性包括( )。D
A. 实体完整性 B. 参照完整性
C. 用户定义完整性 D. 以上都是
20.一个数据库的外模式( )。B
A. 只能有一个 B. 可以有多个 C. 至多有一个 D. 以上都不对
21.运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目,则实体项目和运动员之间的联系是( )。A
A. 多对多 B. 一对多 C. 多对一 D. 一对一
22.在进行逻辑设计时,将e-R图中实体之间联系转换为关系数据库的( )。B
A. 元组 B. 关系 C. 属性 D. 属性的值域
23.解决并发控制带来的数据不一致问题普遍采用的技术是( )。A
A. 封锁 B. 存取控制 C. 恢复 D. 协商
24.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指( )。D
A. 数据与程序独立存放 B.不同的数据被存放在不同的文件中
C.不同的数据只能被对应的应用程序所使用 D.以上三种说法都不对
25.经过投影运算后,所得关系的元组数( )原关系的元组数。C
A. 等于 B. 小于
C. 小于或等于 D. 大于
26.在sql中,与关系代数中的投影运算对应的子句是( )。A
A. Select B. From
C. Where D. Order By
27.若要在基本表s中增加一列cn(课程名),可用( )。D
A. Add Table S(Cn Char(8)) B. Add Table S Alter(Cn Char(8))
C. Alter Table S Cn Char(8) D. Alter Table S Add Cn Char(8)
28.保护数据库中的信息,防止未经授权或非法的使用所造成的数据泄漏、更改或破坏,称为数据库的( )。A
A. 安全性 B. 完整性
C. 恢复 D. 并发控制
29.已知employee表中具有默认约束df_Email,删除该约束的语句为( )。A
A. Alter Table Employee Drop Constraint Df_Email
B. Alter Table Employee Delete Constraint Df_Email
C. Alter Table Employee Remove Constraint Df_Email
D. Remove Constraint Df_Email From Table Employee
30.在数据库设计中,将e-R图转换成关系数据模型的过程属于( )。B
A. 需求分析阶段 B. 逻辑设计阶段
C. 物理设计阶段 D. 概念设计阶段
31.当e-R模型向关系模型转换,一个m:N联系转换为关系模式时,该关系模式的码是( )。C
A. M端实体的码 B. N端实体的码
C. M端实体码和n端实体码组合 D. 重新选取其他属性
32.在并发操作中可能产生若干数据库不一致性,除了丢失修改、不能重复读以外,还有( )。A
A. 读“脏”数据 B. 不可串行化
C. 事务内部故障 D. 活锁和死锁
33.数据库系统的核心是( )。B
A. 数据模型 B.数据库管理系统
C. 数据库 D.数据库管理员
34.在关系代数的专门关系运算中,从关系中选出满足条件的元组的操作是( )。A
A. 选择 B. 投影
C. 连接 D. 除
35.在sql中,Having条件表达式用来筛选满足条件的( )。C
A. 行 B. 列
C. 分组 D. 表
36.有学生表 S(S#,Sn,Sex,Age,Dept),其中:S#为学号,Sn为姓名,Sex为性别, Age为年龄,Dept为系别,使用sql语句查询姓名中有“红”字的学生,条件表达式应写成( )。 A
A. Sn Like ‘%红%’ B. Sn Like ‘%红’
C. Sn Like ‘%红_’ D. Sn Like ‘_ 红%’
37.下列与数据库安全性无关的是( )。D
A. 数据更改 B. 数据泄漏
C. 数据破坏 D. 数据抽象
38.下述sql命令的短语中,不用于定义属性上约束条件的是( )。D
A. Not Null 短语 B. Unique 短语
C. Check 短语 D. Having 短语
39.在数据库设计中,概念结构设计阶段得到的结果是( )。B
A. 数据字典描述的数据需求 B. E-R图表示的概念模型
C. 某个DBMS所支持的数据逻辑结构 D. 包括存储结构和存取方法的物理结构
40.在关系数据库设计中,逻辑数据库设计阶段完成的是( )的任务。C
A. 创建E-R图/IDEF1x图 B. 收集需求和整理理解需求
C. 关系模式设计,建立逻辑模型 D. 用“Create Table”创建表及其索引
41.DBMS并发控制和恢复的基本单位是( )。C
A. 表 B. 命令 C. 事务 D. 程序
判断题:
1. SQL采用的是面向记录的操作方式,以记录为单位进行操作。F
2. 定义数据库完整性一般由SQL的DML语句实现的。F
3. 规范化的关系模式中,所有属性都必须是不可分解的。T
4. M:N联系转换为关系模式时,关系的键为任意一端实体的键。F
5. 事务的持续性是指事务一旦提交,对数据库中数据的改变是永久性的。T
6. 数据库系统中,数据的物理结构必须与逻辑结构一致。F
7. 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是DBMS包含DB和DBS。F
8. 在SELECT语句中,与关系代数中σ运算符对应的是WHERE子句。T
9. 关系中主键的取值非空且唯一是实体完整性规则。T
10. 若R属于1NF,且不存在非主属性对码的传递依赖,则R属于BCNF。F
11. 数据库管理系统是位于用户与操作系统之间的软件系统。T
12. 三级模式二级映像保证了数据的独立性。T
13. 关系操作的特点是集合操作。T
14. 事务故障的恢复是由系统自动完成的,对用户是透明的。T
15. 当关系模式R已属于3NF,它仍可能存在一定的插入和删除异常。T
16. 逻辑设计不可以独立于数据库管理系统。F
17. 授予权限和撤销权限的命令依次是REVOKE和GRANT。F
18. 如果事务T对数据D已加X锁,则其他事务对数据D不能加任何锁。T
19. 在数据库恢复中,对已经完成的事务进行撤销处理。F
20. 数据库安全控制的目的是防止非法对数据库的使用和对数据库的恶意破坏。T
21. 关系模式和关系是两个完全相同的概念。F
22. 在给数据库中的用户授予表的访问权限时,必须以整表访问权限授予,不能单独授予表中一个或几个字段属性的访问权限。F
23. 在MySQL中,当表中某字段的字符长度不固定时常将该字段定义为CHAR类型。F
24. 面向集合的操作方式是SQL语言的特点之一。T
25. 执行数据库静态转储期间,不允许对数据库进行任何修改操作。T
26. 索引有助于提高数据检索的速度,因此建立索引的数量越多越好。F
27. 数据库发生系统故障时,事务未提交,则执行数据库恢复时应撤消该事务。T
28. 数据库的逻辑设计应该依据数据库规范化理论,绝对不能有数据冗余。F
29. 在数据库设计中,数据字典是系统中各类数据描述的集合。T
30. 保护数据库,防止未授权的或不合法的使用造成的数据泄露、更改破坏,是指数据库的完整性。F
31. 数据库系统与文件系统的本质区别是数据库系统实现了整体数据的结构化。T
32. 数据库的完整性是指数据的一致性、有效性和相容性。T
33. 不包含在主码中的属性被称为非主属性或非码属性。T
34. 自然连接是一种特殊的等值连接,它会将等值连接中属性重复的列去掉。T
35. 函数依赖是语义范畴的概念,只能根据语义来确定函数依赖。T
36. 过程化SQL提供流程控制语句,只支持条件控制语句,不支持循环控制语句。F
37. 在数据库理论中,一般而言,一个程序只能包含一个事务。F
38. 数据库中并发控制的主要技术有封锁、时间戳、乐观控制法和MVCC机制。T
39. 自然连接是一种特殊的等值连接,同时从行和列的角度进行运算。T
40. 允许空值的字段上可以定义主键约束。F
填空题:
1. SQL的视图是从基本表中导出的。
2. 数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的物理设计阶段。
3. 数据库在运行过程中可能出现事务内部的故障、系统故障和介质故障。
4. 数据模型的组成要素中描述系统的静态特性和动态特性的分别是数据结构和数据库操
5. 在关系数据库中,把数据表示成规范化的二维表,每一个二维表称为关系。
6. 在给某一用户授权时,如果想让该用户可以将当前权限继续授予其他用户需附加WITH GRANT OPTION子句。
7. 在关系代数中,从两个关系中找出相同元组的运算称之为交运算。
8. SQL中的视图提高了数据库系统的安全性。
9. 制作E-R图时,会出现结构冲突、属性冲突和命名冲突。
10. 消除了非主属性对候选码传递依赖的关系模式称为第三范式。
11. 数据库的二级映像中,模式映像保证了数据与应用程序间的逻辑独立性。
12. 关系模型的三类完整性约束是指实体完整性、参照完整性和用户定义完整性。
13. 在事务具有的特性中,隔离性能够实现表示两个或多个事务可同时运行。
14. 概念数据模型中实体与实体之间的联系,有一对多、一对一、多对多3种情况。
15. 数据库的三级模式结构中,描述局部数据的逻辑结构和特征的是 外模式。
16. 用树型结构表示实体类型及实体间联系的数据类型称为层次结构。
17. 数据模型通常由数据结构、数据操纵和数据的完整性约束条件三部分组成。
18. 在数据库理论中,若关系中的某一个属性或一组属性的值能唯一地标识一个元组,而它的真子集不能唯一地标识一个元组,则称该属性组为候选码。
19. 自主存取控制和 强制控制存取共同构成数据库管理系统的安全机制。
20. 事物具有4个特性:原子性、一致性、隔离性和持续性。这4个特性简称为ACID特性。
- 假设学生选课数据库关系模式如下:Studentinformation( Sno, Sname); Course(Cno, Cname);Sc(Sno, Cno, Grade),用SQL语句写出査询选修了3号课程的学生的学号及其成绩,査询结果按分数的降序排列。
1
2
3
4
5
6
7
SELECT Sno, Grade
FROM Sc
WHERE Cno = '3'
ORDER BY Grade DESC;
2.假设学生选课数据库关系模式如下:Studentinformation( Sno, Sname); Course(Cno, Cname);Sc(Sno, Cno, Grade),用Sql语句写出査询选修了数据库原理及应用课程且成绩大于等于80分的所有学生的学号和成绩。
1
2
3
4
5
6
7
8
9
SELECT S.Sno, Sc.Grade
FROM Studentinformation S
JOIN Sc ON S.Sno = Sc.Sno
JOIN Course C ON Sc.Cno = C.Cno
WHERE C.Cname = '数据库原理及应用' AND Sc.Grade >= 80;
- 建立”学生”登记表Student,要求学号在10000000~29999999之间,姓名不能取空值,出生日期在1980年之后,性别只能是“男”或“女”。用完整性约束命名子句方式写出SQL语句。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE Student (
Sno INT,
Sname VARCHAR(50) NOT NULL,
Sbirth DATE,
Ssex CHAR(2),
CONSTRAINT chk_Sno CHECK (Sno BETWEEN 10000000 AND 29999999),
CONSTRAINT chk_Sbirth CHECK (Sbirth > '1980-01-01'),
CONSTRAINT chk_Ssex CHECK (Ssex IN ('男', '女'))
);
4.设数据库中有两个基本表:
职工表 EMP (E#,Ename,Age,Salary,D#)
部门表 DEPT(D#,Dname,Mgr#)
其中,E#为职工工号,Ename为姓名,Age为年龄,Salary为工资,D#为部门编号,Dname为部门名称,Mgr#为部门经理的职工工号,Emp表的主键为e#,外键为d#。
创建一个年龄大于50岁的职工视图(View5),属性为(D#,Dname,E#,Ename,Age,Salary)。
1
2
3
4
5
6
7
8
9
CREATE VIEW View5 AS
SELECT E.D#, D.Dname, E.E#, E.Ename, E.Age, E.Salary
FROM EMP E
JOIN DEPT D ON E.D# = D.D#
WHERE E.Age > 50;
5.有学生选课数据库关系模式如下:
学生关系S(Sno,Sname,Age,Dno)
学生选课关系SC(Sno,Cno,Score)
其中:Sno为学生学号,Sname为学生姓名,Age为学生年龄,Dno为学生所在系号,Cno为课程号,Score为学生选课成绩。
使用Sql语句完成下列查询:
查询与课程号(Cno)为“002”的最高成绩(Max(Score))相等的同学的学号(Sno)。
1
2
3
4
5
6
7
SELECT Sno
FROM SC
WHERE Cno = '002'
AND Score = (SELECT MAX(Score) FROM SC WHERE Cno = '002');
- 有学生选课数据库关系模式如下:
学生关系Student(Sno,Sname,Ssex,Sage,Sdept)
学生选课关系Sc(Sno,Cno,Score)
其中:Sno为学生学号,Sname为学生姓名,Sage为学生年龄,Sdept为学生所在系号,Cno为课程号,Score为学生选课成绩。
使用SQL语句完成下列查询:
将选课成绩范围在70分到80分之内的学生信息给删除。
1
2
3
4
5
6
7
8
9
10
11
DELETE FROM Student
WHERE Sno IN (
SELECT Sno
FROM Sc
WHERE Score BETWEEN 70 AND 80
);
7.设数据库中有3个基本表:
学生表student (Sno,Sname,Ssex,Sage,Sdept)
课程表course(Cno,Cname,Cpno,Ccredit)
选课表 Sc(Sno,Cno,Grade)
其中,Sno为学生号,Sname为学生姓名,Sage为年龄,Ssex为性别,Cno为课程编号,Cname为课程名,Cpno为先修课程号,Ccredit为学分,Grade为成绩,Student表的主键为sno,Course表的主键为cno,Sc表的主键为(Sno,Cno),外键为sno,Cno。
检索课程名为“数据结构”且该门课程及格,按分数降序排列的学生信息(学号,姓名,成绩)。
1
2
3
4
5
6
7
8
9
10
11
SELECT S.Sno, S.Sname, Sc.Grade
FROM student S
JOIN Sc ON S.Sno = Sc.Sno
JOIN course C ON Sc.Cno = C.Cno
WHERE C.Cname = '数据结构' AND Sc.Grade >= 60
ORDER BY Sc.Grade DESC;
8.设有关系模式R(A,B,C,D)和函数依赖F={BCD→A,A→C},请指出关系R的候选码,R属于第几范式并说明为什么。
范式级别:2NF
原因:
函数依赖:BCD → A, A → C
BCD是候选码(可推出所有属性)
存在部分函数依赖(A → C),但无传递依赖
不符合3NF(非主属性C部分依赖于候选码BCD
9.设有关系模式R(A,B,C,D,E)和函数依赖F={A→B,BC→D,DE→A},请指出关系R所有的码,R属于第几范式并说明为什么。
范式级别:3NF
原因:
函数依赖:A → B, BC → D, DE → A
所有属性都是主属性(包含在候选码中)
无传递依赖,但存在非平凡依赖(如BC → D中BC不是超码)
满足3NF但不满足BCNF
10.假设在数据库中包含以下三个关系模式:
学生表:Student(Sno char(10),Sname char(20),Ssex char(2),Sage smallint,Sdept char(20))
课程表:Course(Cno char(6),Cname char(40),Ccredit smallint)
学生选课表:SC(Sno char(10),Cno char(6),Grade smallint),其中带下划线属性为主码。
(1)将选修数据结构课程所有学生的成绩增加3分,写出SQL语句。
1
2
3
4
5
6
7
8
9
10
11
12
13
UPDATE SC
SET Grade = Grade + 3
WHERE Cno IN (
SELECT Cno
FROM Course
WHERE Cname = '数据结构'
);
(2)利用SQL语句,查询平均成绩大于90分的学生学号和平均成绩。
1
2
3
4
5
6
7
SELECT Sno, AVG(Grade) AS AvgGrade
FROM SC
GROUP BY Sno
HAVING AVG(Grade) > 90;
11.假设在数据库中包含以下三个关系模式:
学生表:Student(Sno char(10),Sname char(20),Ssex char(2),Sage smallint,Sdept char(20))
课程表:Course(Cno char(6),Cname char(40),Ccredit smallint)
学生选课表:SC(Sno char(10),Cno char(6),Grade smallint),其中带下划线属性为主码。
(1)根据上面信息将学号为2019001的学生年龄加1,写出SQL语句。
1
2
3
4
5
UPDATE Student
SET Sage = Sage + 1
WHERE Sno = '2019001';
(2)利用SQL语句,写出向course表中插入3条记录(’001’,’C语言’,2)、(‘002’,’离散数学’,4)、(‘003’,’数据库原理’,2),采用一条语句执行。
1
2
3
4
5
6
7
8
9
INSERT INTO Course (Cno, Cname, Ccredit)
VALUES
('001', 'C语言', 2),
('002', '离散数学', 4),
('003', '数据库原理', 2);
12.假设有一个在线购物系统,包含以下两张表:
PRODUCTS 表 (商品表)
| 字段名称 | 字段类型 | 字段说明 |
| Product_Id | INT | 主键,用于唯一标识每个商品 |
| Product_Name | Varchar(255) | 用于存储商品的名称 |
| Category_Id | Int | 外键,与categories表中的category_Id字段相关联 |
| Price | Decimal(10,2) | 用于存储商品的价格 |
| Stock | Int | 用于存储商品的库存量 |
| Description | Text | 用于存储商品的详细描述信息 |
CATEGORIES 表 (商品类别表)
| 字段名称 | 字段类型 | 字段说明 |
| Category_Id | Int | 主键,用于唯一标识每个商品类别 |
| Category_Name | Varchar(255) | 用于存储商品类别的名称 |
根据在线购物系统数据表完成下列要求。
(1)将products表中的description字段类型从text修改为varchar(500)。
1
2
3
ALTER TABLE PRODUCTS
MODIFY Description VARCHAR(500);
(2)查询每个类别中商品的平均价格。
1
2
3
4
5
SELECT Category_Id, AVG(Price) AS AvgPrice
FROM PRODUCTS
GROUP BY Category_Id;
(3)创建一个视图将展示每个商品的详细信息,包括商品名称、所属类别名称、价格、库存量以及描述信息,将这个视图能够按照商品的价格进行降序排序,显示前5条。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE VIEW ProductDetails AS
SELECT
P.Product_Name,
C.Category_Name,
P.Price,
P.Stock,
P.Description
FROM PRODUCTS P
JOIN CATEGORIES C ON P.Category_Id = C.Category_Id
ORDER BY P.Price DESC
LIMIT 5;
13.设某汽车运输公司数据库中有三个实体集,涉及的部分信息如下:
一是“车队”实体集,属性有车队号、车队名等;
二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;
三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)根据上述语义画出该系统的E-R图,并在图上注明实体的属性、实体的码及联系的类型。
(2)将该E-R图转换成关系模型,指出每个关系模式的主码和外码。
车队(车队号,车队名)
主码:车队号
司机(司机编号,姓名,电话,车队号,聘期)
主码:司机编号
外码:车队号 → 车队(车队号)
车辆(牌照号,厂家,出厂日期,车队号)
主码:牌照号
外码:车队号 → 车队(车队号)
使用(司机编号,牌照号,使用日期,公里数)
主码:(司机编号, 牌照号, 使用日期)
外码:司机编号 → 司机(司机编号)
外码:牌照号 → 车辆(牌照号)