数据库系统原理习题1142.docx
《数据库系统原理习题1142.docx》由会员分享,可在线阅读,更多相关《数据库系统原理习题1142.docx(19页珍藏版)》请在冰豆网上搜索。
数据库系统原理习题1142
颜色不关我的事!
!
!
!
数据库系统原理习题
(1)
1.设下列操作在近似匹配方式下,写出下列命令执行后的结果:
1)?
8>=5+3,[8=5+3],[08/03/02]
2)?
“ABC”>“AB”,“ABC”=“AB”,“ABC”<“AB”
3)?
NOT5=3AND“ABC”=“AB”OR.T.=.F.
4)?
8%7,-1.3%5,9%-12,-7.25%-8.25,7.25%-8.25
5)?
“ab”$“123ab”,[123]+[20],[123]-[20]
数据库系统原理习题
(2)—书面作业可任选其中5题
1、什么是数据库的工作区?
工作区--是用来存放数据库中的数据表或自由表的一片内存区域。
2、什么是表的别名?
别名--在多工作区情况下,为了操作上的方便,在打开数据表时,给数据表起的一个暂用名字。
关闭该数据表后,其别名自动失效。
3、为什么要使用表的别名?
在多工作区情况下,为了操作上的方便。
4、用哪两种方法可以使数据库的第8个工作区成为当前工作区?
Aselect8bselecth
5、什么情况下要给表的字段冠于前缀――表的别名?
可作为工作区的代码使用;表示所引用的字段是其它(非当前工作区)中的字段名
表别名可用于选择工作区
6、给表的别名有哪几种表达方法?
请举例说明。
1use表名alias别名
2select别名
Use表名
7、工作区的数字标号能作为字段的前缀(别名)吗?
工作区的数字代码通常在函数或命令中使用,但不能作为字段名的前缀。
数字不能作为字段名前缀,不能写成5.姓名
8、命令“SELE0”的作用是什么?
select0为选择最小可用工作区
9、VFP6.0中,数据库工作区的最小编号是什么?
最大标号是什么?
可以使用的工作区多少受到计算机系统的哪个条件的限制?
数据库系统原理习题(3)—书面作业可任选其中6题
10、什么是表的“投影”操作?
请举例说明。
Usescore
Listallfor学号=”980001”
11、什么是表的“选择”操作?
请举例说明。
Usescore
Listallfor学号=”980001”FIELDS课程号,成绩
12、什么是记录指针的绝对移动?
使用哪几种方法移动?
请举例说明。
13、什么是记录指针的相对移动?
使用什么方法移动?
请举例说明。
14、记录的操作范围有哪四种?
ALL
NEXT
RECORD
REST
15、什么是记录的逻辑删除?
什么是记录的物理删除?
16、For和while子句都可以表达选择条件,二者的主要区别是什么?
17、命令“DELE”、“PACK”、“ZAP”的主要区别是什么?
18、在没有任何命令“子句”的情况下,“disp”、“list”命令的功能是什么?
在不加任何选项的情况下,list为显示所有记录,而display为显示当前记录。
19、给字段变量赋值,除了手工录入外,就是要使用哪条命令?
请举例说明。
20、命令“DISP”、“LIST”、“REPL”、“RECA”在没有范围和条件子句情况下,
它们缺省的(默认的)范围是什么?
Disp当前记录listallrepl当前记录reca当前记录
21、什么情况下bof()的函数值为真(.T.)?
22、什么情况下eof()的函数值为真(.T.)?
23、为什么要多用“索引”而少用“排序”操作?
数据库系统原理习题(4)—书面作业(√)
一、名词解释
1、主索引√
2、候选索引
3、唯一索引√
4、普通索引
5、单一索引文件
6、结构复合压缩索引文件
7、非结构复合压缩索引文件
8、主控索引√
二、操作及问答题
1、升(将)序排序的操作。
2、先按某“键值1”升(将)序排序,在“键值1”相同时再按先按某“键值2”升(将)序排序。
3、删除排序文件。
4、举例说明利用INDEX命令建立三种不同索引文件的方法。
5、利用表设计器建立结构复合压缩索引文件的方法。
6、举例说明三种设置主控索引的发方法。
7、取消主控索引的方法。
√
8、重新索引的操作。
9、列举出到目前为止已经学过的查询操作命令。
√
10、LOCA命令和SEEK命令都用于查询操作,请举例说明二者的主要区别。
11、字段和记录的过滤操作的目的是什么?
请各举一例分别说明其操作方法。
12、统计操作:
求记录总数,求平均数,求数值型字段数据的总和。
13、统计操作“分类汇总”的含义是什么?
举例说明如何分类?
如何汇总?
√
14、在分类汇总操作的结果(表文件)中,其中的“非数值型”字段值是如何规定的?
15、若要将两个表“按同名字段的值相等”的条件连接起来,在操作时应注意哪些事项。
数据库系统原理习题(5)
1、VFP6.0中可执行程序的扩展名是______或__________。
2、在VFP6.0中程序中变量作用范围可分为______变量和_______变量两类。
其中前者可以在_____范围内使用,后者在___________后被释放。
3、在VFP6.0中程序中,参数的传递方法有________________________等_______种。
4、子程序和自定义函数的区别是什么?
请分别举一例说明。
5、分别用“计数型循环――FOR…ENDFOR”和“当型循环DOWHILE…ENDDO”编一个程序计算S=-1+2-3+4-……+100,并输出计算结果。
6、编一个自定义函数计算N!
用此函数计算并输出(10!
-5!
)/6!
的结果。
数据库系统原理习题(6)
1、等值连接和自然连接的区别是什么?
2、除了传统集合运算“并、交、差、笛卡尔积”之外,为了满足关系数据库中对表的运算需要,在关系代数中又扩充了_____、_______、_______等运算。
3、设关系R和S如下所示,计算:
S
R
(1)R∪S,
A
B
C
3
6
7
2
5
7
7
2
3
4
4
3
A
B
C
3
4
5
7
2
3
(2)R-S,
(3)R∩S,
(4)R×S,
(5)π3,2(S),
(6)σB<’5’(R),
(7)R∞S,
2<2
(8)R∞S.
4、假设R是三元关系,S是二元关系,试把表达式
π1,5(σ2=4∨3=4(R×S))
转换等价的:
(1)汉语查询句子;
(2)元组表达式;
(3)域表达式。
数据库系统原理习题(√)与复习题(7)
一、名词解释
插入异常删除异常候选码外码原子项函数依赖部分函数依赖完全函数依赖
传递函数依赖第一范式(1NF)第二范式(2NF)第三范式(3NF)
二、问答题
1、请举一例说明如何将一个非规范化关系转换称规范化关系?
2、请举一例说明如何将1NF关系转换2NF关系?
√
3、请举一例说明如何将2NF关系转换3NF关系?
√
4、关系规范化的实质是什么?
5、为什么会在数据库系统中提出:
“不是消除而是减少不必要的数据冗余”?
三、E-R图转换成关系模式
1、在E-R图中的基本图形元素有哪四种?
√
2、E-R图只能描述不同实体的个体之间的1:
1、1:
M、M:
N联系,而不能描述实体内部个体间的1:
1、1:
M、M:
N联系的命题正确吗?
请举例说明。
√
3、在什么情况下必须将E-R图中表示“联系”的“棱形框”也转换成一个关系?
4、请举例说明:
如果要将某“棱形框”转换关系模式,则该关系模式由哪些属性构成?
四、分析题
1、设有关系R(A,B,C,D,E),各属性函数依赖集合有:
F{A→B,A→C,C→D,D→E},若把关系R分解为
R1(A,B,C)
和R2(C,D,E),
试确定R1和R2的范式等级。
2、设关系R(A,B,C,E,F,G,H,I)属性间的函数依赖关系如下图所示:
若将关系R分解为:
R1(A,B,C,H,I)
R2(C,E,F)
R3(A,B,C,G)
则R1NF,R2NF,R3NF
3、设关系R(A,B,C,E,F,G,H,I)属性间的函数依赖关系如下图所示:
•关系R的主键是;
•属性H和I函数依赖于;
•属性G函数依赖于中的;
•属性F函数依赖于E,函数依赖于C。
4、设有关系SPJ(S#,SN,SA,J#,JN,P#,PN,PT,PC,QTY,COST)√
其中:
S#供应商号,SN供应商名,SA供应商地址,
J#工程号,JN工程名,
P#产品号,PN产品名,PT产品型号,
PC产品单价,
QTY和COST为某供应商供给某工程每种型号产品的数量和金额。
根据模式中表明的语义,指出:
①关系SPJ的主属性是:
,
关系SPJ的非主属性是:
;
②关系SPJ的主关键字是_____________________________________;
③将SPJ无损分解至3NF,给出各个关系模式并用下划线标出各关系的主码。
数据库系统原理习题(8)
1、设计一个能执行“热键”操作的表单,表单中至少要有“上一个”、“下一个”、“第一个”、“最后一个”等四个命令按钮,它们分别实现表操作中的”SKIP-1”、“SKIP”、“GOTOP”和“GOBOTT”的四个功能。
要求处理记录指针移出表外时的情况。
请写出每个命令按钮的事件代码。
2、在表单中设计一个文本框,用来显示当前时间。
3、菜单设计(内容自定)
4、报表设计(内容自定)
数据库系统原理习题(9)
――SQL查询操作及题解
设教学数据库有三个基本表:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
请用SQL语句表达下列查询:
1、检索LIU老师所授课程的课程号和课程名。
(黑色的内容为解答,下同)
SELECTC#,CNAME
FROMC
WHERETEACHER=‘LIU’;
2、检索年龄大于23岁的男学生(SEX值为“男”)的学号和姓名。
SELECTS#,SNAME
FROMS
WHEREAGE>23ANDSEX=‘男’;
3、检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
(提示:
要求输出不重复的元组,此时,需要在SELECT子句中使用限定性的选项DISTINCT)
SELECTDISTINCTSNAME
FROMS,SC,C
WHEREC.TEACHER=‘LIU’
ANDC.C#=SC.C#
ANDSC.S#=S.S#
ANDSEX=‘女’;
4、检索WANG同学不学的课程的课程号。
SELECTC#
FROMSC
WHERES#NOTIN
(SELECTS#
FROMS
WHERESNAME=‘WANG’);
提示:
IN,NOTIN是集合成员资格运算.
注意子查询SELECT的圆括号不的省略。
5、检索至少选修两门课程的学生学号。
SELECTDISTINCTS#
FROMSCASX
WHERE2<=
(SELECTCOUNT(*)
FROMSCASY
WHEREX.S#=Y.S#
GROUPBYX.S#)
说明:
本题中用到了子查询(圆括号内的查询)、分组(GROUPBY)、去掉查询结果中重复元组(DISTINCT)以及计数(COUNT(*))等多中技术。
至少选修两门的表达方法是“2<=分组统计的结果”,同时还用到了“别名”、“联接查询”(WHEREX.S#=Y.S#)的概念。
其中:
聚合(允许出现相同元素)函数COUNT(*)表示计算按学号(S#)分组后的各组元组的个数。
GROUPBYX.S#
默认为按字段(学号)的值升序分组(参阅教材相关内容)
6、检索全部学生都选修的课程的课程号和课程名。
SELECTC#CNAME
FROMC
WHERENOTEXISTS
(SELECT*
FROMS
WHERENOTEXISTS
(SELECT*
FROMSC
WHERESC.S#=S.S#ANDSC.C#=C.C#));
7、检索选修课程包含LIU老师所授课程的学生学号。
SELECTDISTINCTS#
FROMSC,C
WHEREC.C#=SC.C#ANDC.TEACHER=’LIU’;
补充题一:
设“学生”、“课程”和“成绩”三个基本表如下所示:
学生(姓名,学号,性别,年龄)
课程(课程号,课程名,学时数)
成绩(学号,课程号,分数)
请用SQL语言在上述的三个基本表上完成下列查询:
1、求出所有学生的学习成绩,列出姓名、性别,课程名,学时数和分数。
2、将“学生”基本表中的记录按其年龄的升序输出。
3、列出各科成绩在80分以上的学生的姓名、性别、年龄、课程名和分数。
4、列出考试分数最高的学生的姓名、性别、年龄、课程名和分数。
1、解:
SELECTB.姓名,B.性别,C.课程名,C.学时数,A.分数;
FROM成绩ASA,学生ASB,课程ASC;
WHERE(A.学号=B.学号)AND(A.课程号=C.课程号)
2、解:
SELECT姓名,性别,年龄;
FROM学生ORDERBY年龄
3、解:
SELECTA.姓名,A.性别,A.年龄,B.课程名,C.分数;
FROM学生ASA,课程ASB,成绩ASC;
WHERE(A.学号=C.学号)AND(B.课程号=C.课程号);
ANDC.分数>=ANY(SELECTC.分数;
FROM成绩ASCWHEREC.分数>80)
4、解:
SELECTA.姓名,A.性别,A.年龄,B.课程名,C.分数;
FROM学生ASA,课程ASB,成绩ASC;
WHERE(A.学号=C.学号)AND(B.课程号=C.课程号);
ANDC.分数=ANY(SELECTMAX(C.分数)FROM成绩ASC)
补充题二:
设教学数据库有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
请用SQL语句表示下列查询操作:
1、检索年龄大于23岁的女生(SEX值为“女”)学号和姓名。
2、检索LIU老师所授课程的学生学号及姓名。
3、检索选修课程为C1和C4的学生学号。
4、检索学习全部课程的学生姓名。
1、解:
SELECTS#,SNAME;
FROMS;
WHERE(AGE>23)AND(SEX=“女”)
2、解:
SELECTS#,SNAME
FROMS
WHEREEXISTS
(SELECT*
FROMSC
WHEREEXISTS
(SELECT*
WHERES.S#=SC.S#ANDSC.C#=C.C#ANDTEACHER=‘LIU’))
3、解:
SELECTSNAME
FROMS
WHERE(C#=’C1’)AND(C#=’C4’)
4、解:
SELECTSNAME
FROMS
WHERENOTEXISTS
(SELECT*
FROMC
WHERENOTEXISTS
(SELECT*
FROMSCWHERE
SC.S#=S.S#)AND(C.C#=SC.C#)))
补充题三
3.1设有两个基本表R(A,B,C)和S(D,E,F),试用SQL查询语句表达下列关系代数表达式:
(1)∏A(R)
(2)σB=‘17’(R)
(3)R×S
(4)πA,F(σC=D(R×S))
(1)解:
SELECTA
FROMR;
(2)
解:
SELECTA,B,C
FROMR
WHEREB=‘17’
(3)解:
SELECTA,B,C,D,E,F
FROMR,S;
(4)解:
SELECTA,F
FROMR,S
WHEREC=D;
3.2设有两个基本表R(A,B,C)和S(A,B,C),试用SQL查询语句表达下列关系代数表达式:
(1)R∪S
(2)R∩S
(3)R-S
(4)πA,B(R)∞πA,B(S)
(1)解:
(SELECT*FROMR)
UNION
(SELECT*FROMS);
(2)解:
(SELECT*FROMR)
INTERSECT
(SELECT*FROMS);
(3)解:
(SELECT*FROMR)
EXCEPT
(SELECT*FROMS);
(4)解:
SELECTR.A,R.B,S.C
FROMR,S
WHERER.B=S.B;
3.3试叙述SQL语言的关系代数特点和元组演算特点。
答:
SQL的关系代数特点如下:
①有关系代数的并、交、差、自然连接等运算符;
②FROM子句体现了笛卡尔积操作,WHERE子句体现了选择操作,SELECT子句体现了投影操作。
SQL的元组演算特点如下:
①FROM子句中的基本表名应视为“元组变量”,属性名应视为“元组分量”;
②有存在量词EXISTS。
3.4试用SQL查询语句表达下列3个基本表S、SC、C的查询。
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
①统计有学生选修的课程门数。
解:
SELECTCOUNT(DISTINCTC#)
FROMSC
WHERES#ISNOTNULL;
问1:
为什么要使用WHERE子句?
(在聚合函数中遇到空值时,除了COUNT(*)外,都跳过空值去处理非空值)
问2:
为什么要用DISTINCT?
(去掉重复元组)
②求选修C4课程的学生的平均年龄
解:
SELECTAVG(AGE)
FROMS,SC
WHERES.S#=SC.S#
ANDC#=‘C4’;
③求LIU老师所授课程的每门课程的学生的平均成绩。
解:
SELECTC.C#,AVG(GRADE)
FROMSC,C
WHERESC.C#=C.C#
ANDTERCHER=’LIU’
GROUPBYC.C#;
④统计每门课程的学生选修人数(超过10人的课程才统计)。
要求输出课程号和选修人数,查询结果按人数的降序排列,若人数相同,按课程号的升序排列。
解:
SELECTC#,COUNT(S#)
也可以写成:
C#ASC
表示升序
FROMSC
GROUPBYC#
HAVINGCOUNT(*)>10
ORDERBY2DESC,1;
数据库系统原理习题(10)
教材第2章部分内容
一、名词解释:
(教材p.79)
数据信息数据管理数据处理数据库数据库管理系统数据库系统数据模型
实体实体集关键字模式外模式内模式数据独立性逻辑数据独立性物理数据独立性
二、简答题:
(教材p.79)2.22.32.42.52.62.72.82.12
数据库系统原理习题(11)
教材第3章部分内容
一、简答题:
(教材p.109)3.13.33.63.8
数据库系统原理习题(12)
教材第4章部分内容
一、名词解释:
(教材p.144)4.11)、4.12)、1NF、2NF、3NF
二、设计题:
(教材p.145)4.7
数据库系统原理习题(13)
教材第5章部分内容
一、简答题:
(教材p.175)5.1~5.6、5.8~5.10、5.16
数据库系统原理习题(14)
部分复习参考题
《数据库原理及其应用教程》
――学习指导、例题分析、习题解答与标准试题库
P.4826)2.5.31)、9)、10)
P.526.7.
P.533.2.21.2.
P.71~P.731)~17)、24)、27)
P.7412)
P.7514)~16)
P.763)
P.1063)
P.10716)~18)
P.10819)、20)、24)、25)、27)
P.1091)、7)、11)、12)、13)、14)
P.11017)、23)、24)P.1104.5.35)、6)、14)
P.1112)、3)
P.122(3)
P.1355.10
P.13816)17)19)
P.1397)10)18)19)5.5.31)
P.1613)6.3
P.1616.11
P.16711)12)
P.16814)15)19)20)21)
P.1695)15)17)18)21)