《数据库原理复习题.doc》由会员分享,可在线阅读,更多相关《数据库原理复习题.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理复习题1、试述数据库的定义?答案:数据库是存储在一起的、相关的数据集合,这些数据为多种应用服务,而无有害和不必要的冗余。数据的存储独立于使用它的程序。对数据库的操作,如挿入,刪除等,均按一种公用的,可控的方式进行。数据被结构化。2、什麽是同质文件?什麽是异质文件?答案:只含同一种记录类型的文件叫同质文件;含有两种或两种以上类型的纪录的文件叫异质文件。3、关系是一个同质文件从文件的型一级解释,何谓候选关键字?何谓主关键字?何谓外来关键字?答案:其值可以唯一表示一个记录的属性集叫候选关键字指定一个候选关键字作为文件的关键字则该候选关键字叫文件的主关键字。如果一个文件的主关键字属性集是其他
2、一个或多个文件的主关键字属性集的并集则该主关键字叫外来关键字。4、根据集合论的观点,试述关系的定义?答案:设有K个属性:A1,A2,.,AK,它们分别在值域D1,D2,.,DK中取值,按集论的观点,这些值域可视为K个集合,其笛卡尔积: D1D2. DK = D 是一个K维笛卡尔积空间点的集合。定义:D中任一子集D称为一个关系,记为R。5、九种关系代数运算中哪几种是基本关系代数运算?哪几种是非基本关系代数运算?答案:合并运算、求差运算、投影运算、乘积运算、选择运算是基本关系代数运算。求交运算、求商运算、连接运算、自然连接运算是非基本关系代数运算。6、设有如下关系R2、R3: R2 R3A1 A2
3、 A3c b 5a d 2b c 6c d 9A2 A3 Bc 6 sd 2 t 要求:给出关系R1、R2的自然连接运算R1 R2的结果关系。答案A1 A2 A3 Ba d 2 tb c 6 s:7、设有如下关系R1、R2、R3:R1 R2 R3A1 A2 A3a c 6c d 9b c 6a d 2f a 4b d 2 A1 A2 A3c b 5a d 2b c 6c d 9A2 A3 Bc 6 sd 2 t要求:给出关系运 R2 R3R1的结果关系。答案:A1 A2 A3a d 2b c 68、设有如下关系R1、R2、R3:R1 R2 A1 A2 A3a c 6c d 9b c 6a d
4、2f a 4b d 2 A1 A2 A3c b 5a d 2b c 6c d 9要求给出关系R1 R2运算的结果关系。答案:A1 A2 A3a d 2b c 6c d 99、设有如下关系R1、R2、R3:R1 R2 R3A1 A2 A3a c 6c d 9b c 6a d 2f a 4b d 2 A2 A3c 6d 2A1 A2 A3c b 5a d 2b c 6c d 9要求:给出关系运算(R1R2) R3的结果关系。答案:(R1R2) R3A1 A2 A3a d 2b c 6 10、设有如下关系R1、R2、R3:R1 R2 R3A1 A2 A3a c 6c d 9b c 6a d 2f a
5、 4b d 2 A2 A3c 6d 2A1 A2 A3c b 5a d 2b c 6c d 9要求:给出关系运算(A1,A2 (R1) A1,A2(R2) R3的结果关系。 答案:(A1,A2 (R1) A1,A2(R2) R3A1 A2 A3a c 6c d 2b c 6a d 2b d 211、设有如下关系R1、R2、R3:R1 R2 R3A1 A2 A3a c 6c d 9b c 6a d 2f a 4b d 2 A2 A3c 6d 2A1 A2 A3c b 5a d 2b c 6c d 9要求:给出关系运算(A1,A2 (R1) A1,A2(R2) R3的结果关系。答案:(A1,A2
6、(R1) A1,A2(R2) R3A1 A2 A3a d 2b c 6c d 212、元组演算的公式定义法则中,规定的三种形式的原子公式各表示何种命题?答案:1、R(t)其中: R表示一个关系名, t是元组变量。表示如下命题: t是关系R的一个元组 ,这里R是一个谓词。即:关系R是R中所有元组构成的一个元组集合2、ti q c 或 c q ti 其中: ti 元组变量t的i第分量 c 常量 q 算术比较运算符 表示如下命题: 元组t的第i分量与常量c之间满足q运算 。3、ti q j其中:t,u 均为元组变量 q 算术比较运算符 表示如下原子命题: t的第i分量与u的第j分量间满足q 运算。
7、如: t2 3 表示如下命题 元组t 的第2 分量不等于 元组 的第3 分量 13、设有R、S两个关系给出与五种基本关系代数运算相应的原组元算表达式。答案:1、RS 等价元组演算表达式: t|R(t) S(t)2、R-S 等价元组演算表达式为:t| R(t) S(t)3、RS在元组演算中表示为:RS=t|($tk1)($tk2)(R(tk1)S(tk2)t1=tk11 tk1=tk1k1 tk1+1=tk21 tk1+k2=tk2k2)j1,jn(R) 元组演算表达式:t|($u)(R(u)t1=uj1 tjn)5、dF(R) 等价于: t|R(t)F14、证明合并运算的元组元算表达式与相应关
8、系代数表达式的等价性。证明:RS 等价元组演算表达式: t|R(t) S(t) 关系代数中定义: RS=t|tRtS R(t) 在元组演算中, tR 在关系代数演 算中是等价命题; S(t) 在元组演算中, tS 在关系代数演算中是等价命题; 代入即为所证.15、设有如图关系:R,S,W:R S WA1 A2 A3a e 8c f 6d f 3d b 4B1 B24 x5 dA1 A2 A3a e 8b c 5d b 4d f 6要求:1)、给出元组演算公式t|R(t) S(t)的结果关系。2)、该元组演算公式等价于关系代数的何种运算?答案:元组演算公式t|R(t) S(t)的结果关系A1 A
9、2 A3a e 8d b 4该元组演算公式等价于关系代数的求交运算。16、设有如图关系:R,S,W:R S WA1 A2 A3a e 8c f 6d f 3d b 4B1 B24 x5 dA1 A2 A3a e 8b c 5d b 4d f 6要求;给元组演算公式t|($u)($v)(R(u) w(v) u2=f t1=u3 t2=u2 t3=u1 t4=v2)的结果关系。答案:t|($u)($v)(R(u) w(v) u2=f t1=u3 t2=u2 t3=u1 t4=v2)的结果关系。A1 A2 A3 B2b f c xb f c d3 f d x3 f d d17、已知R、S为两个关系请
10、给出与元组演算公式:R1=t|R(t) t3=4 R2=t|R(t) S(t)等价的关系代数演算表达式。答案: R1 = t3=4(R) R2 = RS18、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出下列SQL程序: 1)、查询刘老师所教的所有课程的课号和学时 2)、所有学生的自然情况答案:1)、SELECT C# FORMAT FROM C WHERE TEACHER=LIU2)、SELECT * FROM S19、有如下关系: S (S# ,NAME ,A
11、GE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出下列SQL程序:要求查询:在本学期任课的全部教师姓名,担任两门课以上的教师只出现一次。答案:SELECT DISTINCT TEACHER FROM C 20、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出下列SQL程序:要求查询:23岁以上男生的学号和姓名。 答案:SELECT S# NAME FROM S WHERE AGE2
12、3 AND SEC=M21、有如下关系:S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE) 写出下列SQL程序:要求查询:所有男生的学号、姓名、年龄。要求按年龄递增排序。 答案: SELECT S# , NAME , AGE FROM S WHERE SEX=MORDER BY AGE ASC22、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出如下SQL程
13、序:把下列元组: 元组插入关系C中 答案:INSERT INTO C( );23、有如下关系: S(S# ,NAME ,AGE, SEX, HEIGHT)W(S# ,NAME ,AGE, SEX, HEIGHT)写出如下SQL程序:关系S,W同类,将W中AGE值小于22的元组全部插入关系S。答案:INSTER INTO S: SELECT * FROM W WHERE AGE 22;24、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)写出如下SQL程序:(1)、从关系S中删除学号为S2的学生。 (2)、清空关系S。答案: DELETE S WHERE S# = S2
14、; DELETE S;25、有如下关系: C (C# ,FORMAT ,TEACHER ,OFFICE) 写出如下SQL程序:将关系C中课程号为C2的课程任课教师改为WANG。答案: UPDATE C SET TEACHER =WANG WHERE C#=C2;26、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出如下SQL程序:求关系S中学生总数求学习C2课的学生总数: 答案: SELECT COUNT(S#) FROM S 或SELECT COUNT(*) FR
15、OM SSELECT COUNT(S#) FROM SC WHERE C#=C227、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)C (C# ,FORMAT ,TEACHER ,OFFICE) SC (S# ,C#, GRADE)写出如下SQL程序:(1)、求任课教师总数.(2)、求学生S1的总分数.(3)求学生的最大年龄.答案:(1)、求任课教师总数.SELECT COUNT(UNIQUE TEACHER) FROM C(2)、求学生S1的总分数: SELECT SUM(GRADE) FROM SC WHERE S#=S1(3)求学生的最大年龄. SELECT MAX(AGE) FROM S28、有如下关系: S (S# ,NAME ,AGE, SEX, HEIGHT)写出如下SQL程序:求出年龄等于最大年龄的所有学生的姓名:答案: SELECT NAME,SEX FROM S WHERE AGE= SELECT MAX(AGE) FROM S
限制150内