最新数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案资料
- 格式:doc
- 大小:45.00 KB
- 文档页数:4
第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
文件编号:D6-86-07-A8-E3数据库原理整理人尼克数据库原理一、填空题1.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。
2.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。
3.数据库设计分为以下六个阶段_______________、________________、________________、________________、________________和________________。
4.关系代数运算中,传统的集合运算有_______,________,________,_________。
5.用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是__________的联系。
6.设关系R(U),X,Y∈U,X→Y是R的一个函数依赖,如果存在X′∈X,使X′→Y成立,则称函数依赖X→Y是___________ 函数依赖。
7.在关系模式R(A,C,D)中,存在函数依赖关系{ A→C,A→D },则候选码是___________ ,关系模式R(A,C,D)最高可以达到_____________ 。
8.关系数据模型中,二维表的列称为________,二维表的行称为________。
9.数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。
10.关系代数运算中,基本的运算是________,________,________,________,________。
11.关系的完整性约束条件包括三大类:__________、__________和__________。
数据库系统原理与设计习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。
A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是()。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是()。
A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是()。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是()。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式10.下述()不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D二、简答题1.试述数据、数据库、数据库系统、数据库管理系统的概念。
3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。
3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。
它可以形式化地表示为:R(U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
关系数据库:关系数据库也有型和值之分。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
2.3.为什么需要空值null?答:引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。
空值是所有可能的域的一个取值,表明值未知或不存在。
2.3.关系模型的完整性规则有哪些?答:关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:·或者取空值(F的每个属性值均为空值);·或者等于S中某个元组的主码值。
3) 用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
2.4.关系模型的主要操作有哪些?答:关系模型中的关系操作有查询操作和更新操作(插入、删除和修改)两大类。
查询操作是关系操作中最主要的部分。
查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(except)、笛卡尔积等。
2.5.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
2.6.试述等值连接与自然连接的区别与联系?答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。
θ为“=”的连接运算称为等值连接。
它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。
即等值连接为:R A=B S = { trts| tr∈R ∧ts∈S ∧tr[A] = ts[B] }自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
即若R和S具有相同的属性组B,则自然连接可记作:R S = { trts| tr∈R ∧ts∈S ∧tr[B] = ts[B] }2.7.对于图2-8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的样例数据,给出如下运算的结果。
(1)(∏studentName,birthday,courseNo(Student ⋈Class))÷(∏c ourseNo(σstudentNo=‘0701001’ Score))的同学所有选修课程的学生姓名和出日日期。
(2)(∏studentNo,courseNo Score)÷(∏c ourseNo(σcourseNo LIKE ‘CS%’Course)) ⋈Score答:含义:选修了计算机系所有开设课程的学生的成绩信息。
2.8.对于图2.8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。
(1)查找籍贯为“上海”的全体学生。
答:σnative LIKE ‘上海%’(Student)(2)查找1992年元旦以后出生的全体男同学。
答:σyear(birthday)>=1992∧sex='男’(Student)(3)查找信息学院非汉族同学的学号、姓名、性别及民族。
答:∏studentNo,studenName,sex,nation(σnation!=’汉族’(Student) ⋈(σinstitute=’信息学院’(Class)))(4)查找08-09学年第二学期(08092)开出课程的编号、名称和学分。
答:∏courseNo,courseName,courseHour(Course ⋈(σterm=’08092’Score))(5)查找选修了“操作系统”的学生学号、成绩及姓名。
答:∏studentNo,studenName,score(Student ⋈(Score ⋈(∏courseNo(σcourseName=’操作系统’Course)))(6)查找班级名称为“会计学07(3)班”的学生在07-08学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名称和成绩。
答:∏studenName, courseNo,courseName,score( (σclassName=’会计学08(3)班’Class) ⋈Student ⋈ (σterm=’07081’ Score) ⋈Course)(7)查找至少选修了一门其直接先修课编号为CS012的课程的学生学号和姓名。
答:∏studenNo, studentName( (σpriorCourse=’CS012’Course) ⋈Score ⋈Student)(8)查找选修了08-09学年第一学期(08091)开出的全部课程的学生学号和姓名。
答:∏studenNo, studentName(Score÷(∏courseNo(σterm=’08091’Score)) ⋈Student)(9)查找至少选修了学号为0703010的学生所选课程的学生学号和姓名。
答:∏ studenNo, studentName(Score÷(∏ courseNo(σstudentNo=’0703010’Score))⋈Student)2.9.对于图2-10所示的学生选课数据库SCDB的模式导航图,试写出如下查询的关系代数表达式。
(1)查找2008级蒙古族学生信息,包括学号、姓名、性别和所属班级。
答:∏studenNo,studentName,sex,classNo((σnation=’蒙古族’Student) ⋈(σgrade=2008Class))(2)查找“C语言程序设计”课程的课程班号、上课时间以及上课地点。
答:∏cClassNo,time,location((σcourseName=’C语言程序设计’Course) ⋈CourseClass ⋈ Classroom)(3)查找选修了先修课程为“计算机概论”的学生学号、课程号和成绩。
答:∏studenNo,courseNo,score((∏C1.courseNo((ρC1Course) ⋈C1.priorCourse=C2.courseNo(σcourseName=’计算机概论’ (ρC2Course)))) ⋈SC)(4)查找李勇老师08-09学年第二学期(08092)开出的课程号、课程名和学分。
答:∏courseNo,courseName,creditHour((∏teacherNo(σteacherName=’李勇’Teacher)) ⋈(σterm=’08092’CourseClass) ⋈Course)(5)查找信息学院学生选课情况,要求显示学生姓名、课程号、课程名、课程班号、成绩和任课教师。
答:∏studentName,courseNo,courseName,cClassNo,score,teacherName((∏instituteNo(σinstituteName=’信息学院’Institute)) ⋈Class ⋈Student ⋈SC ⋈Course ⋈CourseClass ⋈Teacher)。