数据库原理复习题.docx
《数据库原理复习题.docx》由会员分享,可在线阅读,更多相关《数据库原理复习题.docx(17页珍藏版)》请在冰点文库上搜索。
![数据库原理复习题.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/5d4fee58-2701-4012-a789-3e97dbb7896f/5d4fee58-2701-4012-a789-3e97dbb7896f1.gif)
数据库原理复习题
数据库原理复习题
1、试述数据库的定义?
答案:
数据库是存储在一起的、相关的数据集合,这些数据为多种应用服务,而无有害和不必要的冗余。
数据的存储独立于使用它的程序。
对数据库的操作,如挿入,刪除等,均按一种公用的,可控的方式进行。
数据被结构化。
2、什麽是同质文件?
什麽是异质文件?
答案:
只含同一种记录类型的文件叫同质文件;含有两种或两种以上类型的纪录的文件叫异质文件。
3、关系是一个同质文件从文件的型一级解释,何谓候选关键字?
何谓主关键字?
何谓外来关键字?
答案:
其值可以唯一表示一个记录的属性集叫候选关键字
指定一个候选关键字作为文件的关键字则该候选关键字叫文件的主关键字。
如果一个文件的主关键字属性集是其他一个或多个文件的主关键字属性集的并集则该主关键字叫外来关键字。
4、根据集合论的观点,试述关系的定义?
答案:
设有K个属性:
A1,A2,...,AK,它们分别在值域D1,D2,...,DK中取值,按集论的观点,这些值域可视为K个集合,其笛卡尔积:
D1D2...DK=D
是一个K维笛卡尔积空间点的集合。
定义:
D中任一子集D’称为一个关系,记为R。
5、九种关系代数运算中哪几种是基本关系代数运算?
哪几种是非基本关系代数运算?
答案:
合并运算、求差运算、投影运算、乘积运算、选择运算是基本关系代数运算。
求交运算、求商运算、连接运算、自然连接运算是非基本关系代数运算。
6、设有如下关系R2、R3:
R2R3
A1A2A3
cb5
ad2
bc6
cd9
A2A3B
c6s
d2t
要求:
给出关系R1、R2的自然连接运算R1R2的结果关系。
答案
A1A2A3B
ad2t
bc6s
:
7、设有如下关系R1、R2、R3:
R1R2R3
A1A2A3
ac6
cd9
bc6
ad2
fa4
bd2
A1A2A3
cb5
ad2
bc6
cd9
A2A3B
c6s
d2t
要求:
给出关系运R2R3∩R1的结果关系。
答案:
A1A2A3
ad2
bc6
8、设有如下关系R1、R2、R3:
R1R2
A1A2A3
ac6
cd9
bc6
ad2
fa4
bd2
A1A2A3
cb5
ad2
bc6
cd9
要求给出关系R1R2运算的结果关系。
答案:
A1A2A3
ad2
bc6
cd9
9、设有如下关系R1、R2、R3:
R1R2R3
A1A2A3
ac6
cd9
bc6
ad2
fa4
bd2
A2A3
c6
d2
A1A2A3
cb5
ad2
bc6
cd9
要求:
给出关系运算(R1∩R2)R3的结果关系。
答案:
(R1∩R2)R3
A1A2A3
ad2
bc6
10、设有如下关系R1、R2、R3:
R1R2R3
A1A2A3
ac6
cd9
bc6
ad2
fa4
bd2
A2A3
c6
d2
A1A2A3
cb5
ad2
bc6
cd9
要求:
给出关系运算(∏A1,A2(R1)∪∏A1,A2(R2))R3的结果关系。
答案:
(∏A1,A2(R1)∪∏A1,A2(R2))R3
A1A2A3
ac6
cd2
bc6
ad2
bd2
11、、设有如下关系R1、R2、R3:
R1R2R3
A1A2A3
ac6
cd9
bc6
ad2
fa4
bd2
A2A3
c6
d2
A1A2A3
cb5
ad2
bc6
cd9
要求:
给出关系运算(∏A1,A2(R1)∩∏A1,A2(R2))R3的结果关系。
答案:
(∏A1,A2(R1)∩∏A1,A2(R2))R3
A1A2A3
ad2
bc6
cd2
12、元组演算的公式定义法则中,规定的三种形式的原子公式各表示何种命题?
答案:
1、R(t)其中:
R表示一个关系名,t是元组变量。
表示如下命题:
‘t是关系R的一个元组’,这里R是一个谓词。
即:
关系R是R中所有元组构成的一个元组集合
2、t[i]c或ct[i]
其中:
t[i]—元组变量t的i第分量
c—常量
—算术比较运算符
表示如下命题:
‘元组t的第i分量与常量c之间满足运算’。
3、t[i]u[j]
其中:
t,u—均为元组变量
—算术比较运算符
表示如下原子命题:
‘t的第i分量与u的第j分量间满足运算’。
如:
t[2]<>u[3]表示如下命题‘元组t的第2分量不等于元组u的第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)t[1]=tk1[1]…t[k1]=tk1[k1]t[k1+1]=tk2[1]…t[k1+k2]=tk2[k2])}
j1,…,jn(R)元组演算表达式:
{t|(u)(R(u)t[1]=u[j1]…t[jn])}
5、F(R)等价于:
{t|R(t)F’}
14、证明合并运算的元组元算表达式与相应关系代数表达式的等价性。
证明:
RS等价元组演算表达式:
{t|R(t)S(t)}
关系代数中定义:
RS=[t|tRtS]
R(t)在元组演算中,tR在关系代数演算中是等价命题;S(t)在元组演算中,tS在关系代数演算中是等价命题;
代入即为所证.
15、设有如图关系:
R,S,W:
RSW
A1A2A3
ae8
cf6
df3
db4
B1B2
4x
5d
A1A2A3
ae8
bc5
db4
df6
要求:
1)、给出元组演算公式{t|R(t)S(t)}的结果关系。
2)、该元组演算公式等价于关系代数的何种运算?
答案:
元组演算公式{t|R(t)S(t)}的结果关系
A1A2A3
ae8
db4
该元组演算公式等价于关系代数的求交运算。
16、设有如图关系:
R,S,W:
RSW
A1A2A3
ae8
cf6
df3
db4
B1B2
4x
5d
A1A2A3
ae8
bc5
db4
df6
要求;给元组演算公式{t|(u)(v)(R(u)w(v)u[2]=ft[1]=u[3]t[2]=u[2]t[3]=u[1]t[4]=v[2])的结果关系。
答案:
{t|(u)(v)(R(u)w(v)u[2]=ft[1]=u[3]t[2]=u[2]t[3]=u[1]t[4]=v[2])的结果关系。
A1A2A3B2
bfcx
bfcd
3fdx
3fdd
17、已知R、S为两个关系请给出与元组演算公式:
R1={t|R(t)t[3]>=4}
R2={t|R(t)S(t)}
等价的关系代数演算表达式。
答案:
R1=δt[3]>=4(R)
R2=R∩S
18、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出下列SQL程序:
1)、查询刘老师所教的所有课程的课号和学时
2)、所有学生的自然情况
答案:
1)、SELECTC#FORMAT
FROMC
WHERETEACHER=‘LIU’
2)、SELECT*
FROMS
19、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出下列SQL程序:
要求查询:
在本学期任课的全部教师姓名,担任两门课以上的教师只出现一次。
答案:
SELECTDISTINCTTEACHER
FROMC
20、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出下列SQL程序:
要求查询:
23岁以上男生的学号和姓名。
答案:
SELECTS#NAME
FROMS
WHEREAGE<>23ANDSEC=‘M’
21、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出下列SQL程序:
要求查询:
所有男生的学号、姓名、年龄。
要求按年龄递增排序。
答案:
SELECTS#,NAME,AGE
FROMS
WHERESEX=‘M’
ORDERBYAGEASC
22、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出如下SQL程序:
把下列元组:
<‘C5’,100,‘CHEN’,‘OF3’>
<‘C8’,80,‘WV’,OF1>
……
<‘C5’,70,‘Wang’,OF6>
元组插入关系C中
答案:
INSERTINTOC(<‘C5’,100,‘CHEN’,‘OF3’>
<‘C8’,80,‘WV’,OF1>
……
<‘C5’,70,‘Wang’,OF6>);
23、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
W(S#,NAME,AGE,SEX,HEIGHT)
写出如下SQL程序:
关系S,W同类,将W中AGE值小于22的元组全部插入关系S。
答案:
INSTERINTOS:
SELECT*
FROMW
WHEREAGE<22;
24、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
写出如下SQL程序:
(1)、从关系S中删除学号为S2的学生。
(2)、清空关系S。
答案:
DELETES
WHERES#=‘S2’;
DELETES;
25、有如下关系:
C(C#,FORMAT,TEACHER,OFFICE)
写出如下SQL程序:
将关系C中课程号为C2的课程任课教师改为‘WANG。
答案:
UPDATEC
SETTEACHER=‘WANG’
WHEREC#=‘C2’;
26、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出如下SQL程序:
①求关系S中学生总数
②求学习‘C2’课的学生总数:
答案:
①SELECTCOUNT(S#)
FROMS
或
SELECTCOUNT(*)
FROMS
②SELECTCOUNT(S#)
FROMSC
WHEREC#=‘C2’
27、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
C(C#,FORMAT,TEACHER,OFFICE)
SC(S#,C#,GRADE)
写出如下SQL程序:
(1)、求任课教师总数.
(2)、求学生S1的总分数.
(3)求学生的最大年龄.
答案:
(1)、求任课教师总数.
SELECTCOUNT(UNIQUETEACHER)
FROMC
(2)、求学生S1的总分数:
SELECTSUM(GRADE)
FROMSC
WHERES#=S1
(3)求学生的最大年龄.
SELECTMAX(AGE)
FROMS
28、有如下关系:
S(S#,NAME,AGE,SEX,HEIGHT)
写出如下SQL程序:
求出年龄等于最大年龄的所有学生的姓名:
答案:
SELECTNAME,SEX
FROMS
WHEREAGE=
SELECTMAX(AGE)
FROMS