答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。 3. 什么是数据库管理系统?
答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?
答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
第一章补充作业部分:
假设教学管理规定:
①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的
类型;
解答: 学号 学生 课程号 m n 课程名 姓名
选修 课程 n 成绩 讲授 1 教师 教师编号 教师姓名 第2章关系数据库
一、选择题
1、关系数据库管理系统应能实现的专门关系运算包括 。
A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 答案:B
2、关系模型中,一个关键字是 。 A.可由多个任意属性组成 B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是 答案:C
3、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 。
A.元组 B.行 C.记录 D.属性 答案:D
4、关系运算中花费时间可能最长的运算是 。
A.投影 B.选择 C.笛卡尔积 D.除 答案:C
5.关系模式的任何属性 。
A.不可再分 B.可再分
C.命名在该关系模式中可以不惟一 D.以上都不是 答案:A
6.在关系代数运算中,五种基本运算为 。
A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 答案:C
7、设有关系R,按条件f对关系R进行选择,正确的是 。 A.R?R B.R ?? R C. ?f(R) D.?f(R)
F 答案:C
8、如图所示,两个关系R1和R2,它们进行 运算后得到R3。
R2
R1
D A A C D R3
A A C C
B 1 1 2 C X Y y D M M N E I I J B 1 2 1 C X Y y 1 2 5 E M N M M I J K
A.交 B.并 C.笛卡尔积 D.连接 答案:D 二、填空题
1、一个关系模式的定义格式为 。 答案:关系名(属性名1,属性名2,…,属性名n)
2、.一个关系模式的定义主要包括 关系名 、属性名 、 属性类型 、 属性长度 和关键字 。 答案:①关系名 ②属性名 ③属性类型 ④属性长度 ⑤关键字 3、.关系代数运算中,传统的集合运算有 ① 、 ② 、 ③ 和 ④ 。 答案:①笛卡尔积 ②并 ③交 ④差 4、关系代数运算中,基本的运算是 ① 、 ② 、 ③ 、 ④ 和 ⑤ 。 答案:①并 ②差 ③笛卡尔积 ④投影 ⑤选择
5、关系代数运算中,专门的关系运算有 选择 、 投影 和 连接 。 答案:①选择 ②投影 ③连接
6、关系数据库中基于数学上两类运算是关系代数 和关系演算 。答案:①关系代数 ②关系演算
7、.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 ① ,系关系的外关键字 ② ,学生关系的主关键字是 ③ ,外关键字 ④ 答案:①系编号 ②无 ③学号 ④系编号 三、应用题:
设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 (8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 解:本题各个查询语句对应的关系代数表达式表示如下:
(1). ∏C#,CNAME(σTEACHER=‘程军’(C)) (2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))
(3). ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) ?? SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))
(6). ∏C#,CNAME(C?? (∏S#,C#(sc)÷∏S#(S))) (7). ∏S#(SC?? ∏C#(σTEACHER=‘程军’(C)))
(8). ∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(C)]} (10). ∏S#,C#(sc)÷∏C#(σS#=’2’(SC))
(11). ∏S#,SNAME{s?? [∏S#(SC?? σCNAME=‘C语言’(C))]} 关系R和S如下图所示,试计算R÷S。
R A a a a b b c c B b b b d d k k C c e h e d c e D d f k f l d f