C . 21 , 11 , 4 D . 25 , 15 , 0
11、两个关系在没有公共属性时,其自然联接操作表现为__。 A .结果为空关系 B .笛卡儿积操作 C .等值联接操作 D .无意义的操作
12、在n 元关系R 中,公式?3>’4’(R)表示__.
A .从R 中选择值为3 的分量(或属性)小于第4 个分量值的元组组成的关系 B .从R 中选择第3 个分量的值小于第4 个分量值的元组组成的关系 C .从R 中选择第3 个分量的值小于4 的元组组成的关系 D .从R 中选择第3 个分量小于4 个元组组成的关系 13、关系R 和关系S 只有一个公共属性,T1是R 与S 等值联接的结果,T2 是R 和S 自然联接的结果,则__。
A . T1 的属性个数等于T2的属性个数 B . T1 的属性个数小于T2的属性个数
C . T1 的属性个数大于或等于T2的属性个数 D . T1 的属性个数大于T2的属性个数
14、对关系R 进行投影运算后,得到关系S,则 A .关系R 的元组数等于关系S 的元组数
B .关系R 的元组数小于或等于关系S 的元组数 C .关系R 的元组数大于或等于关系S 的元组数 D .关系R 的元组数大于关系S 的元组数
15、有属性A, B , C , D ,以下表示中不是关系的是__. A . R ( A ) B . R ( A , B , C , D ) C . R ( A×B×C×D ) D . R ( A , B )
16、关系运算中花费时间可能最长的运算是__. A .投影B .选择C .笛卡儿积D .除
17、关系表A有p1个属性t1个元组;关系表B有p2个属性t2个元组。则A与B的笛卡尔积A×B分别有( ) 属性和元组。
A. p1+p2、t1×t2 B. t1×t2、p1+p2 C. p1+p2、t1+t2 D. p1×p2、t1×t2 18、下面关于关系的叙述,( )是不正确的。
A.直观上说,关系就是二维表 B.二维表的任何两列不能全同 C.二维表的任何两行可以全同 D.二维表允许有些分量取空值 19、在关系模型中,一个关键字是( )。
A. 由一个或多个任意属性组成 B. 由一个属性组成
C. 不能由全部属性组成 D. 可由一个或多个能惟一标识该关系模式中任意元组的属性组成
二、计算题
1、设有如图所示的关系R , S 和T ,计算: R1=R?S R2=R-S R3=R??T R3=RA R6=?A=C(R?T) R A a b c S T B a a c B d b d C a a c B d e c A d b d 关系R,S和T 2、设有如图所示的关系S,C和SC ,试用关系代数表达式表示下列查询语句: S S# 1 2 3 C C# k1 k5 k8 SC S# 1 2 5 2 5 5 C# k1 k1 k1 k5 k5 k8 GRADE 83 85 92 90 84 80 CNAME C语言 数据库原理 编译原理 TEACHER 王华 程军 程军 SNAME 李强 刘丽 张友 AGE 23 22 22 SEX 男 女 男 ( l )检索“程军”老师所授课程的课程号(C # )和课程名((CNAME )。 ( 2 )检索年龄大于21 的男学生学号(S #)和姓名(SNAME )。 ( 3 )检索至少选修“程军”老师所授全部课程的学生姓名(SNAME )。 ( 4 ) 检索“李强”同学不学课程的课程号(C #)。 ( 5 )检索至少选修两门课程的学生学号(S #)。 ( 6 )检索全部学生都选修的课程的课程号(C #)和课程名(CNAME)。 ( 7 )检索选修课程包含“程军”老师所授课程之一的学生学号(S #)。 ( 8 )检索选修课程号为kl 和k5 的学生学号(S#)。 ( 9 )检索选修全部课程的学生姓名(SNAME )。 ( 10 )检索选修课程包含学号为2 的学生所修课程的学生学号(S#) ( 11 )检索选修课程名为“C 语言”的学生学号(S #)和姓名(SNAME )。 3、见教材P74页第5题 三、简答题 1、关系的实体完整性规则 2、关系的参照完整性规则 四、填空题 1、设一个关系模式为R(A,B,C),对应关系内容为R={{1,10,50},{2,10,60},{3,20,72},{4,30,60}},则ΠB(δc<70(R))的运算结果中包含有__元组,每个元组包含有_____分量。 2、设D1,D2,D3的域的基数分别为2,3,4,则D1×D2×D3的元组数为———,每个元组有----分量。 第三部分 SQL语言 主要内容: 1、SQL语言的基本功能 2、基本表、视图的概念 练习题 一、选择题 1 SQL 语言是 的语言,易学习. A .过程化 B .非过程化 C .格式化 D .导航式 2 SQL 语言是 语言. A .层次数据库 B .网络数据库 C .关系数据库 D .非数据库 3 SQL 语言具有 的功能. A .关系规范化,数据操纵,数据控制 B ,数据定义.数据操纵,数据控制 C .数据定义,关系规范化,数据控制 D .数据定义,关系规范化,数据操纵 4 SQL 语言具有两种使用方式,分别称为交互式SQL 和 。 A . 提示式SQL B .多用户SQL C .嵌入式SQL D . 解释式SQL 6 在SQL 的查询语句中,对应关系代数中“投影”运算的语句是 A . WHERE B . FROM C . SELETE D . HAVING 7 在SQL 语言中,实现数据检索的语句是_. A . SELECT B . INSERT C . UPDATE D . DELETE 8 在SQL 的SELECT 语句中,与关系代数中“选择”运算对应的命令动词是_ A . SELECT B . FROM C . WHERE D . ORDER BY 9 SELECT 语句执行结果是 . A .数据项 B .元组 C .表(关系) D .数据库 10 在SQL 语句中,对输出结果排序的语句是_ A . GROUP BY B .ORDER BY C . WHERE D . HAVING 11 . 在SELECT 语句中,需对分组情况满足的条件进行判断时,应使用 A . WHERE B . GROUP BY C . ORDER BY D . HAVING 12 在SELETE 语句中使用*表示_。 A .选择任何属性 B ,选择全部属性 C .选择全部元组 D .选择主码 13 在SELECT 语句中,使用MAX (列名)时,该“列名”应该 A .必须是数值型 B .必须是字符型 C . 必须是数值型或字符型 D . 不限制数据类型 15 使用CREATE TABLE语句建立的是_. A .数据库 B .表 C .视图 D .索引 16 下列SQL 语句中,修改表结构的是_. A . ALTER B . CREATE C . UPDATE D . INSERT 17 在SQL 中使用UPDATE 语句对表中数据进行修改时,应使用的语句是_. A . WHERE B . FROM C . VALUES D . SET 18 在SQL 中,谓词“EXISTS ”的含义是 . A .全称量词 B .存在量词 C .自然联接 D .等值联接 19 SQL 中,与“NOT IN ”等价的操作符是_. A .=SOME B . <> SOME C .=ALL D . <> ALL 20 视图建立后,在数据字典中存放的是 A .查询语句 B .组成视图的表的内容 C .视图的定义 D .产生视图的表的定义 第21~24 题基于这样三个表,即学生表S 、课程表C 和学生选课表SC ,它们的结构如 S ( S #,SN , SEX ,AGE , DEPT ) C (C# , CN ) SC ( S #,C #,GRADE ) 其中,S #为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程 21 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT 语句是 A . SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’) B . SELECT SN,AGE,SEX FROM S WHERE SN=’王华’ C . SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’) D . SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 22 检索选修课程“C2 ”的学生中成绩最高的学生的学号。正确的SELECT 语句是 。 A . SELECT S# FROM SC WHERE C#=’C2’ AND GRADE >=(SELECT GRADE FROM SC WHERE C#=’C2’) B . SELECT S# FROM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C#=’C2’) C . SELECT S# FROM SC WHERE C#=’C2’ AND GRADE NOT IN (SELECT GRADE FROM SC WHERE C#=’C2’) D . SELECT S# FROM SC WHERE C#=’C2’ AND GRADE >=ALL(SELECT GRADE FROM SC WHERE C#=’C2’) 23 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT 语句是 A . SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S# B . SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE C . SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D . SELECT S.SN,SC.C#,SC.GRADE FROM S,SC 24 检索选修4 门以上课程的学生总成绩(不统计不及格的课程),并要求按总成续的降序排列出来。正确的SELECT 语句是 。 A . SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 A . SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC A . SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC A . SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4 25 假定学生关系是S ( S#,SNAME , SEX , AGE ) ,课程关系是C ( C#,CNAME , TEACHER ) ,学生选课关系是SC ( S # , C#,GRADE )。要查找选修,“COMPUTER”课程的“女”学生姓名,将涉及到关系 A . S B . SC , C C . S , SC D . S , C , SC 27 若用如下SQL 语句创建一个表student : CREATE TABLE student (NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2), AGE INT ) 可以插入到student 表中的是 。 A . ( ' 1031 , ’曾华’,男,23 ) B . ( ‘1031’ , ’曾华‘, NULL , NULL ) C . ( NULL , ’曾华’, ’男’, 23 ) D . ( ' 1031’ , NULL , ’男’, 23 ) 28、一般说来,( ) 完全可以像一个基本表那样进行更新。 A. 由多个基本表导出的视图 B. 在定义视图的语句中带有集函数的视图 C. 在定义视图的语句中带有DISTINCT关键词的视图 D. 行列子集视图 29、查询姓“张”的学生的详细信息的SQL语句是( )。 A. SELECT * FROM STUDENT WHERE SNAME LIKE ?张%? B. SELECT * FROM STUDENT WHERE SNAME =?张%? C. SELECT * FROM STUDENT WHERE SNAME LIKE ?张_?