(SELECT GRADE FORM SC WHERE C#=“C2”)
B.SELECT S# FORM SC WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”)
C.SELECT S# FORM SC WHERE C#=“C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2”)
D.SELECT S# FORM SC WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”) 答案:D
9、______是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务 D.文件 答案:C
10、事务的隔离性是指______。
A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 答案:C
请注意:本复习题中以下主观题的答案仅供参考
二、 填空题(每小题3分,共30分)
1、数据独立性又可分为______________①和______________②。 答案:物理独立性;逻辑独立性 2、外模式是 _____的子集。 答案:模式
3、数据库管理系统包含的主要程序有______________①、______________②和______________③。
答案:语言编译处理程序;系统运行控制程序;实用程序
4、关系代数运算中,专门的关系运算有__________①、__________②和_________③。 答案:选择;投影;连接
5、SQL语言的数据定义功能包括___________________①、___________________②、___________________③和___________________④。 答案:定义数据库;定义基本表;定义视图;定义索引 6、设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS),主关键字是NO,其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句: (1)插入一个记录(25,‘李明’,‘男’,21,‘95031’);______________________①。 (2)将学号为10的学生姓名改为‘王华’; _________________________②。 (3)删除学号为20的学生记录;_________________________③。 答案:INSERT INTO R VALUES (25, ‘李明’,’男’,21,’95031’ );
UPDATE R SET NAME=’王华’ WHERE NO=10; DELETE FROM R WHERE NO=20
7、关系规范化的目的是____________________________。
答案:控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性
8、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和____。 答案:无损连接性
9、有两种基本类型的锁,它们是________和排它锁。 答案:共享锁
10、数据库设计的几个步骤是____①、___②、____③、物理设计、编码和调试。 答案:需求分析;概念设计;逻辑设计
三、简答题(4小题,共20分)
1、简述局部变量和全局变量的区别。
答案:局部变量由用户定义,仅在声明它的批处理、存储过程或者触发器中有效,处理结束后,局部变量变成无效。全局变量不能被显式的赋值或声明,而且不能由用户定义。 2、简述创建视图的原则。
答案:①只能在当前数据库中创建视图;②视图名字必须遵守标识符的规则,且对每个用户必须唯一;③可以在其他视图和引用视图的过程之上建立视图;④定义视图的查询不可以包含ORDER BY、COMPUTE或COMPUTE BY子句以及INTO关键字;⑤不能在视图上定义全文索引;⑥不能创建临时视图,也不能在临时表上创建视图;⑦不能对视图执行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。 3、简述主键约束和唯一性约束的区别。
答案:主键约束强制唯一性,但是不允许为空值;唯一约束在列集内强制执行值的唯一性,但是允许为空。主键约束每个表中主键只能有一个,但是唯一约束列却可以有多个。唯一约束优先于唯一索引。
4、简述范式各等级的定义。 答案: 1NF:设R是一个关系模式,R属于1NF当且仅当R中每一个属性A的值域只包含原子项,即不可分割的数据项。
2NF:设R是一个关系模式,R属于2NF当且仅当R是1NF,且每个非主属性都完全函数依赖于主码。
3NF:设R是一个关系模式,R属于3NF当且仅当R是2NF,且每个非主属性都非传递函数依赖于主码。
BCNF:对于关系模式R,若R中的所有非平凡的、完全的函数依赖的决定因素是码,则R属于BCNF。
四、 编写程序题(每小题10分,共30分)
1、在教学管理系统中,含有二个关系:
学生(学号,姓名,性别,出生日期,系名) 成绩(学号,课程名,成绩)
(1)若查询每个学生的选修课程数、总成绩、平均成绩,写出实现上述要求的SQL语句 (2)用SQL语句写出往成绩表中插入一个元组(20010101,管理信息系统,80) 答案:
(1)SELECT 学生,学号,姓名,COUNT(成绩.学号),SUM(成绩),AVG(成绩) FROM 学生,成绩
WHERE 学生.学号=成绩.学号
GROUP BY学生.学号
(2)INSERT INTO 成绩(学号,课程名,成绩)VALUES('20010101','管理信息系统',80) 2、基于数据库中的学生表、成绩表、任课表: 学生(学号,姓名,性别,出生日期,系名) 成绩(学号,课程名,成绩) 任课(课程名,任课教师名)
用SQL语言中的CREATE语句创建一个含有学号、姓名、性别、系名、课程名、成绩、任课教师名的学生成绩视图。 答案:
CREATE VIEW 学生成绩 AS
SELECT 学生.学号,姓名,性别,系名,成绩,学生.课程名,任课教师名 FROM 学生,成绩,任课
WHERE 学生.学号=成绩.学号 AND 成绩.课程名=任课.课程名
3、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式; S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY):
供应商表S由供应商代码(SNO),供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
零件表P由零件代码(PNO)、零件名(PNAME),颜色(COLOR),重量(WEIGHT)组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市 (CITY)组成:
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 针对建立的四个表试用SQL语言完成如下查询: (1)求供应工程J1零件的供应商号码; (2)求供应工程J1零件P1的供应商号码; (3)求零件颜色为红色和兰色的零件号码; (4)求重量在5和20公斤范围内的零件名称; (5)查询所有与\高碳钢\有关的零件号码; (6)查询没有登记零件供应数量的零件名称;
(7)查询上海供应商且状态标志为'A'级的供应商情况; (8)查询零件号码为'TB_435'的零件颜色和重量; (9)查询既不在上海和天津也不在北京的供应商情况; (10)查询与\聚四氟乙稀\化学制品有关的零件情况。 答案:
(1)SELECT SNO FROM SPJ WHERE JNO='J1'
(2)SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
(3)SELECT PNO FROM P WHERE COLOR='红色' OR COLOR='兰色' (4)SELECT PNAME FROM P WHERE WEIGHT BETWEEN 5 AND 20 (5)SELECT PNO FROM P WHERE PNAME LIKE '%高碳钢%'
(6)SELECT P.PNAME FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.QTY IS NULL (7)SELECT * FROM S WHERE CITY='上海' AND STATUS='A' (8)SELECT COLOR,WEIGHT FROM P WHERE PNO='TB_435'
(9)SELECT * FROM S WHERE CITY<>'上海' AND CITY<>'天津' AND CITY<>'北京' (10)SELECT * FROM P WHERE PNAME LIKE '%聚四氟乙稀%'
一、单选题(共 40 道试题,共 80 分。)V 1. 对关系模式进行分解的目的是使模式更加( ) A. 规范化 B. 结构化 C. 标准化 D. 简单化
2. 下面系统中不属于关系数据库管理系统的是( ) A. Oracle
B. MS SQL Server C. IMS D. DB2
3. 如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的( ) A. 候选码 B. 主码 C. 外码 D. 连接码
4. SELECT语句中( )子句的作用是对结果集按<列名2>的值的升序或降序进行排序。 A. FROM B. WHERE C. ORDER BY D. GROUP BY
5. SQL语言中,删除一个表的命令是( ) A. DELETE B. DROP C. CLEAR D. REMOVE
6. 创建存储过程使用( )语句。 A. CREATE PROC B. CREATE VIEW C. CREATE TABLE
D. CREATE DATABASE
7. 为数据表创建索引的目的是( ) A. 提高查询的检索性能 B. 创建唯一索引
C. 创建主键 D. 归类
8. 规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是( ) A. 互不相关的 B. 不可分解的 C. 长度可变的 D. 互相关联的
9. 下列哪一项不是DBMS的组成部分?( ) A. DDL及其翻译处理程序 B. DML及其编译、解释程序 C. 数据库运行控制程序
D. 宿主语言及其编译、处理程序
10. 保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的( ) A. 安全性 B. 完整性 C. 并发控制 D. 恢复
11. SQL的DML包括的语句有( ) A. ROLLBACK,COMMIT B. CREATE,DROP,ALTER C. GRANT,REVOKE
D. INSERT,DELETE,UPDATE
12. SQL语言中使用( )语句创建视图。 A. CREATE PROC B. CREATE VIEW C. CREATE TABLE
D. CREATE DATABASE
13. 假定有关系学生(学号、姓名、年龄、班级号),课程(课程号、课称名、学分),考试(学号、课程号、成绩),查询20岁的学生的学号、姓名和年龄。使用( )关系。 A. 学生 B. 课程 C. 考试
D. 学生和课程
14. 数据库管理系统中用于定义和描述数据模式的语言称为( ) A. 数据库模式描述语言(DDL)