第2章 关系模型与关系代数参考答案
数据库原理教程习题答案全

数据库原理教程习题答案全集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
(完整版)数据库系统原理与设计(第2版)万常选版第2章关系模型与关系代数课后答案

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)。
第2章习题解1

习题一、单项选择题1.A 2.C 3.B 4.C 5.A 6.B 7.B 8.B 9.C 10.C二、填空1、关系中主码的取值必须惟一且非空,这条规则是实体完整性规则。
2、关系代数中专门的关系运算包括:选择、投影、连接和除法,主要实现查询类操作。
3、关系数据库的关系演算语言是以谓词演算为基础的DML语言。
4、关系数据库中,关系称为表,元组亦称为行,属性亦称为列。
5、数据库描述语言的作用是定义数据库。
6、一个关系模式可以形式化地表示为R(U,D,dom,F)。
7、关系数据库操作的特点是一次一集合式操作。
8.数据库的所有关系模式的集合构成关系数据库模型,所有的关系集合构成关系数据库。
9、在关系数据模型中,两个关系R1与R2之间存在1:m的联系,可以通过在一个关系R2中的外键或外码或外部关键字在相关联的另一个关系R1中检索相对应的记录。
10、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为θ-连接操作。
三、简单、计算或查询1、试述关系模型的三要素内容。
解:(1)关系模型的数据结构——关系关系模型的数据结构:非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。
但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。
(2)关系模型的关系操作:关系模型给出了关系操作的能力,它利用基于数学的方法来表达关系操作,关系模型给出的关系操作往往不针对具体的RDBMS语言来表述。
关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作和添加(insert)、删除(delete)、修改(update)等更新操作两大部分。
查询的表达能力是其中最主要的部分。
早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。
第2章 关系模型1

第2章关系模型习题参考答案1.解释下列术语:(1)候选键、主键、外键答:若表中某一列(或若干列的组合)的值能惟一标识一个行,称该列或列组为候选键。
如果一个表有多个候选键,通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(PRIMARY KEY,简写为PK)。
如果一个表只有一个候选键,那么这个候选键就作为主键。
外键(foreign key,简称FK):指—个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
(2)关系、关系模式、关系数据库答:关系是关系模型的数据结构。
关系模式是关系的形式化描述。
最简单的表示为:关系名(属性名1,属性名2,……,属性名n)其中的某个属性名i或某些属性名组为主键,要用下划线表明。
关系数据库是表或者说关系的集合(3)完整性规则、实体完整性规则、参照完整性规则答:完整性规则是为了保证关系(表)中数据的正确、一致、有效而确定的规则。
包括实体完整性(规则)、参照完整性(规则)和用户自定义完整性(规则)三大类。
实体完整性规则是表中任意一行的主键值不能为空值。
参照完整性规则是一个表的外键值可以为空值。
若不为空值,则必须等于另一个表中主键的某个值。
2.如何判断一个表是否与一个关系等价?答:根据关系的性质来判断。
关系的性质是:(1)关系中每一属性都是最小的。
(2)关系中同一属性的所有属性值属于同一数据类型。
(3)关系中的属性名不能重复。
(4)关系的属性位置从左到右出现的顺序无关紧要。
(5)关系中任意两个元组不能完全相同。
(6)关系中的元组从上到下出现的顺序无关紧要。
因此,要使一个表与一个关系等价,则:(1)表中每一个行与列的交叉点上只能存放一个单值。
(2)表中同一列中的所有列值都必须属于同一数据类型。
(3)表中每一列都有惟一的列名,不允许有两个列有相同的列名。
(4)表中的列从左到右出现的顺序无关紧要。
(5)表中任意两个行不能完全相同,即每一行都是惟一的,没有重复的行。
数据库概论习题参考答案

第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。
(参见P3、4、5页)参考答案:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2.使用数据库系统有什么好处(参见P12页)参考答案:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
3.试述文件系统与数据库系统的区别和联系。
(8、9、10页)参考答案:1)数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之一。
2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。
而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。
3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。
而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。
5.试述数据库系统的特点。
(9、10、11页)参考答案:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。
6.数据库管理系统的主要功能有哪些(4页)参考答案:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。
(14、15页)参考答案:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。
2-关系模型练习题参考答案

2-关系模型一、选择题1、下面对“关系模型”的叙述中,不正确的说法是( C )。
A.关系模型的数据结构就是关系。
B.关系是一个属性数目相同的元组集合。
C.关系模型允许在关系中出现两条完全相同的元组。
D.关系模型具有三类完整性约束。
2、下面对“关系”的叙述中,不正确的说法是( D )。
A.关系中元组顺序的改变不影响关系结果。
B.关系中每个属性都不能再分割。
C.不允许在关系中出现两条完全相同的元组。
D.关系中属性顺序的改变影响关系结果。
E.往一个关系中添加一个元组后,该关系就变成另外一个关系。
3、下面关于“关系模式”与“关系”两个概念的不正确叙述是( D )。
A.关系模式是指二维表的结构,不包括二维表的内容。
B.关系包括二维表的内容。
C.关系是动态的。
D.关系模式也是动态的。
4、下面对关系“候选键”概念的正确叙述是( D )。
A.候选键是指在一个关系中,能够唯一标识每个元组的属性集。
B.一个关系必须有候选键。
C.一个关系只能有一个候选键。
D.候选键不能由多个属性构成。
5、下面对关系“主键”概念的不正确叙述是( C )。
A.主键一定是候选键。
B.一个关系只能有一个主键。
C.主键只能由单属性构成。
D.主键可以由单多个属性构成。
6、在对关系代数表达式进行优化时,一般来说,( A )操作应尽可能早地进行。
A.选择B.联接C.投影D.除法7、下面对两个关系进行自然联接的前提条件的正确的说法是( D )。
A.两个关系必须有属性名称相同的属性。
B.两个关系必须有取值类型都相同的属性。
C.两个关系必须有名称、类型都相同的属性。
D.两个关系必须有取值域相同的属性。
8、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。
A.πW(R-S)=πW(R)-πW(S)B.σ(F)(R-S)=σ(F)(R)-σ(F)(S)C.πW(R∩S)=πW(R)∩πW(S)D.πW(R∪S)=πW(R)∪πW(S)9、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。
习题参考答案_第2章

第2章关系数据库1.试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2.试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
4.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R 和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=…J1‟(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=…J1‟∧Pno=…P1…(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=…P1… (σCOLOR=‟红… (P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=…天津‟∧Color=…红… (S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=…S1… (SPJ))6.试述等值连接与自然连接的区别和联系。
答:连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
整理数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案

文件编号: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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章关系模型与关系代数
2.7 对于图2-8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的样例数据,给出如下运算的结果。
(1)(∏studentName,birthday,courseNo(Student ⋈Class))÷(∏c ourseNo(σstudentNo=‘0701001’ Score))
的同学所有选修课程的学生姓名和出日日期。
(2)(∏studentNo,courseNo Score)÷(∏c ourseNo(σ
Course))⋈Score
courseNo LIKE ‘CS%’
的模式导航图,根据图2-11所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。
(1)查找籍贯为“上海”的全体学生。
答:σnative=‘上海’Student
(2)查找1992年元旦以后出生的全体男同学。
答:σyear(birthday)>=1992∧sex='男’Student
(3)查找信息学院非汉族同学的学号、姓名、性别及民族。
答:∏studentNo,studenName,sex,nation(Student ⋈(σinstitute=’信息学院’Class))
(4)查找08-09学年第二学期(08092)开出课程的编号、名称和学分。
答:∏courseNo,courseName,courseHour(Course ⋈(σterm=’08092’Score))
(5)查找选修了“操作系统”的学生学号、成绩及姓名。
答:∏studentNo,studenName,score(Student ⋈(Grade ⋈(σcourseName=’操作系统’Course))
(6)查找班级名称为“会记学08(3)班”的学生在07-08学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名称和成绩。
答:∏studenName, courseNo,courseName,score( (σ
Class) ⋈Student⋈className=’会计学08(3)班’
(σterm=’07081’ Score) ⋈Course)
(7)查找至少选修了一门其直接先修课编号为CS012的课程的学生学号和姓名。
答:∏studenNo, studentName( (σ
Course) ⋈Score ⋈priorCourse=’CS012’
Student)
(8)查找选修了08-09学年第一学期(08091)开出的全部课程的学生学号和姓名。
答:∏studenNo, studentName(Score÷(∏
(σterm=’08091’ Score)) ⋈Student) courseNo
(9)查找至少选修了学号为0703010的学生所选课程的学生学号和姓名。
答:∏studenNo, studentName(Score÷(∏
(σstudentNo=’0703010’Score)) ⋈courseNo
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((ρ
Course) ⋈C1.priorCourse=C2.courseNo(σC1
(ρC2Course)))) ⋈SC) courseName=’计算机概论’
(4)查找李勇老师08-09学年第二学期(08092)开出的课程号、课程名和学分。
答:∏courseNo,courseName,creditHour((∏
(σteacherName=’李勇’Teacher))⋈(σteacherNo
CourseClass)⋈Course)
term=’08092’
(5)查找信息学院学生选课情况,要求显示学生姓名、课程号、课程名、课程班号、成绩和任课教师。
答:∏studentName,courseNo,courseName,cClassNo,score,teacher
((∏instituteNo(σinstituteName=’信息学院’Name
Institute)) ⋈Class ⋈Student ⋈SC ⋈Course ⋈CourseClass ⋈Teacher)。