数据库原理及设计第二版答案.docx
《数据库原理及设计第二版答案.docx》由会员分享,可在线阅读,更多相关《数据库原理及设计第二版答案.docx(18页珍藏版)》请在冰豆网上搜索。
数据库原理及设计第二版答案
数据库原理及设计第二版答案
【篇一:
数据库系统原理与设计(第2版)万常选版第2章关系模型与关系代数课后答案】
(1)域,笛卡尔积,关系,元组,属性
答:
域:
域是一组具有相同数据类型的值的集合。
元组:
关系中的每个元素是关系中的元组。
属性:
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。
(2)超码,主码,候选码,外码
答:
超码:
对于关系r的一个或多个属性的集合a,如果属性集a可以唯一地标识关系r中的一个元组,则称属性集a为关系r的一个超码(superkey)。
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(candidatekey)。
主码:
若一个关系有多个候选码,则选定其中一个为主码(primarykey)。
外码:
设f是基本关系r的一个或一组属性,但不是关系r的码,如果f与基本关系s的主码ks相对应,则称f是基本关系r的外码(foreignkey),简称外码。
基本关系r称为参照关系(referencingrelation),基本关系s称为被参照关系(referencedrelation)或目标关系(targetrelation)。
关系r和s可以是相同的关系。
(3)关系模式,关系,关系数据库
答:
关系模式:
关系的描述称为关系模式(relationschema)。
它可以形式化地表示为:
r(u,d,dom,f)
其中r为关系名,u为组成该关系的属性名集合,d为属性组u中属性所来自的域,dom为属性向域的映象集合,f为属性间数据的依赖关系集合。
关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
关系数据库:
关系数据库也有型和值之分。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
2.3.为什么需要空值null?
答:
引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。
空值是所有可能的域的一个取值,表明值未知或不存在。
2.3.关系模型的完整性规则有哪些?
答:
关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:
实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的
两个不变性,应该由关系系统自动支持。
1)实体完整性规则:
若属性a是基本关系r的主属性,则属性a不能取空值。
2)参照完整性规则:
若属性(或属性组)f是基本关系r的外码,它与基本关系s的主码ks相对应(基本关系r和s不一定是不同的关系),则对于r中每个元组在f上的值必
须为:
3)用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
2.4.关系模型的主要操作有哪些?
答:
关系模型中的关系操作有查询操作和更新操作(插入、删除和修改)两大类。
查询操作是关系操作中最主要的部分。
查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(except)、笛卡尔积等。
2.5.关系代数的基本运算有哪些?
如何用这些基本运算来表示其他运算?
答:
并、差、笛卡尔积、投影和选择5种运算为基本的运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
2.6.试述等值连接与自然连接的区别与联系?
答:
连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(naturaljoin)。
它是从关系r与s的笛卡尔积中选取a、b属性值相等的那些元组。
即等值连接为:
ra=bs={trts|tr∈r∧ts∈s∧tr[a]=ts[b]}
自然连接(naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
即若r和s具有相同的属性组b,则自然连接可记作:
rs={trts|tr∈r∧ts∈s∧tr[b]=ts[b]}
2.7.对于图2-8所示的成绩管理数据库scoredb的模式导航图,根据图2-11所示的样例数据,给出如下运算的结果。
答:
含义:
选修了学号为0701001的同学所有选修课程的学生姓名和出日日期。
答:
含义:
选修了计算机系所有开设课程的学生的成绩信息。
2.8.对于图2.8所示的成绩管理数据库scoredb的模式导航图,根据图2-11所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。
(1)查找籍贯为“上海”的全体学生。
(2)查找1992年元旦以后出生的全体男同学。
(3)查找信息学院非汉族同学的学号、姓名、性别及民族。
(4)查找08-09学年第二学期(08092)开出课程的编号、名称和学分。
(5)查找选修了“操作系统”的学生学号、成绩及姓名。
(6)查找班级名称为“会计学07(3)班”的学生在07-08学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名称和成绩。
(9)查找至少选修了学号为0703010的学生所选课程的学生学号和姓名。
2.9.对于图2-10所示的学生选课数据库scdb的模式导航图,试写出如下查询的关系代数表达式。
(1)查找2008级蒙古族学生信息,包括学号、姓名、性别和所属班级。
(2)查找“c语言程序设计”课程的课程班号、上课时间以及上课地点。
(3)查找选修了先修课程为“计算机概论”的学生学号、课程号和成绩。
(5)查找信息学院学生选课情况,要求显示学生姓名、课程号、课程名、课程班号、成绩和任课教师。
【篇二:
陶宏才《数据库原理及设计》第3版课后习题答案】
/p>1、解释术语:
数据、数据库、数据管理系统、数据库系统、数据库应用系统、视图、数据字典。
p19-20
数据:
是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的信息。
数据库:
是相互关联的数据集合。
数据管理系统:
是一个通用的软件系统,由一组计算机程序构成。
数据库系统:
是一个用户的应用系统得以顺利运行的环境。
数据库应用系统:
主要指实现业务逻辑的应用程序。
视图:
指不同的用户对同一数据库的每一种理解称为视图。
数据字典:
用于存储数据库的一些说明信息的特殊文件。
2、简述数据抽象、数据模型及数据模式之间的关系p26
数据模型是数据抽象的工具,是数据组织和表示的方式;
数据模式是数据抽象利用数据模型,将数据组织起来后得到的结果;
总而言之,数据模式是数据抽象的结果。
3、dbms应具备的基本功能有哪些?
p9
数据独立性、安全性、完整性、故障恢复、并发控制
4、数据库中对数据最基本的4种操作是什么?
p24
增加、删除、修改、查询
5、评价数据模型的3个要素是什么?
p12
1)能够真实地描述现实系统
2)能够容易为业务用户所理解
3)能够容易被计算机实现
6、数据模型的3个要素是什么?
p24
数据结构、数据操作、数据约束
7、简述sql语言的使用方式。
p13
一般有两种方式:
sql的交互式使用;用户通过开发应用系统与rdbms交互。
8、在数据库设计时,为什么涉及到多种数据模型?
p12
因为目前商用化dbms没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。
9、数据库系统中的用户类型有哪些?
p28-29
最终用户、数据库应用开发人员、数据库管理员、其他与数据库系统有关的人员。
11、简述oltp与olap间的区别。
p42-43
oltp(联机事务处理)主要面向日常的业务数据管理,完成用户的事务处理,提高业务处理效率,通常要进行大量的更新操作,同时对响应时间要求比较高。
olap(联机分析处理)注重数据分析,主要对用户当前及历史数据进行分析,辅助领导决策,通常要进行大量的查询操作,对时间的要求不太严格。
二、单项选择题
1、(a)不是sql语言的标准。
p156
a.sql-84b.sql-86c.sql-89d.sql-92
2、(d)数据模型没有被商用dbms实现。
p26
a.关系模型b.层次模型c.网状模型d.e-r模型
3、(c)不是数据模型应满足的要求。
p12
a.真实描述现实世界b.用户易理解
c.有相当理论基础d.计算机易实
4、(b)最早使用sql语言。
p156
a.db2b.systemr
c.oracled.ingres
三、判断题
1.一个数据库系统设计中,概念模式只有一个,而外模式则可有多个。
(√)p11
2.每一种dbms的实现,均是建立在某一种数据模型基础之上。
(√)p7
二,某学院有基本实体集:
系、教师、学生和课程。
它们各有属性:
?
系:
系编号、系名、位置
?
课程:
课程号、课程名称、开课学期
?
学生:
学生学号、学生姓名、性别、地址
?
教师:
员工号、教师姓名、办公室
有如下语义设定
?
每个系有一位系主任,有多位教师;
?
一个教师仅在一个系任职;
?
每个系开设多门不同课程;
?
每门课程各由多位教师授课;
?
一位教师可教多门课程;
?
一个学生可以在不同的系选修多门课程。
p90
一、简答题
1.名词解释
(1)实体,实体型,属性,键,联系,联系型,二元联系和三元联系;(p55-58)实体:
是现实世界或客观世界中有别于其他对象的对象
实体型:
是同类实体的集合
属性:
是实体型的特征或者性质
键:
具有唯一标识的一个或一组属性
联系:
是两个或多个的实体间的关联
联系型:
相似的一组联系
二元联系:
两个实体间的联系
三元联系:
三个实体间的联系
(2)1:
1联系型,1:
n联系型和m:
n联系型;p59
设联系型r关联实体a和b,如果a中的一个实体只与b中的一个实体关联,反过来,b中的一个实体也只与a中的一个实体关联,称r为一对一联系型。
(3)键约束和参与约束。
p61-62
键约束:
一个联系r的实例中,一个关联的实体a最多只出现在一个联系实例中;参与约束:
是实体和联系之间的约束,即实体型中的实体如何参与到联系中。
(4)子类,超类,演绎,归纳和聚集;p67-69
将实体分成子类,最上层为超类,下层即为子类;
先定义子类,再定义超类,特殊到一般的方法为归纳
先定义超类,再定义子类,一般到特殊的方法为演绎
将联系和该联系所关联的实体一起作为一个高层实体来对待,该高层实体就是聚集
2.简述属性按结构的分类,以及按取值的分类。
p55
按结构分:
简单属性、复合属性、子属性
按取值分:
单值属性、多值属性、导出属性、空值属性
3.一般情况下,联系用什么来唯一标识?
p57
由所参与实体的键共同唯一确定
4.在开发较大型的数据库应用系统中,为什么会涉及到多种数据模型?
p53
因为目前商用化dbms没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。
p153
4、sql-92标准支持的完整性约束是否一定会在sqlserver中实现?
举例说明。
p99
不一定,例如:
断言是sql-92标准支持的,但sqlserver就不支持断言;触发器是sql-92标准不支持的,但sqlserver支持断言;
5、sqlserver中规则的目的。
p103
当该列值变化时,rdbms将检查变化的值是否在该规则规定的范围内,如是的,则接
受新列值,否则,拒绝该列值,并返回该列值违反的规则名称及相关信息。
6、sqlserver中在定义某些约束时分列级与表级,其分类的原则是什么?
针对的是表中的一列还是多列
7、简述外键约束定义的条件。
p106-107
定义外键约束的列,必须是另一个表中的主键或者候选键
8、一张表上可定义的触发器个数是多少?
p109
主表只需2个触发器:
‘删除’和‘修改’触发器
从表也只需2个触发器:
‘插入’和‘修改’触发器
9、简述关系代数的基本操作符。
p132
selection(选择),projection(投影),union(并或者联合),intersection(交),difference(差),crossproduct(积)
10、关系代数中对结果有重复元组时,如何处理?
p134
去掉重复元组,sql中用distinct
11、简述联结的分类。
p137
条件联结(conditionjoin)、等联结(equijoin)
自然联结(naturaljoin)、外联结(outerjoin)
12、简述关系运算的种类。
p148
trc(tuplerelationalcalculus)元组关系运算
drc(domainrelationalcalculus)域关系运算
四、设有如下3个关系:
s(sid(学号),sname(姓名),age(年龄),sex(性别))
sc(sid(学号),cid(课程号),score(成绩))
c(cid(课程号),cname(课程名),teacher(教师))
试用关系代数式表达下列查询,并且写出前4个的sql查询语句:
1、检索liu老师所授课程的课程号和课程名。
selectcid,cnamefromcwhereteacher=‘liu’
2、检索年龄大于23岁的男学生的学号和姓名。
selectsid,snamefromswhereage23andsex=‘male’
3、检索学号为s3学生所学课程的课程名与任课教师名。
selectc.cname,c.teacherfromc,scwherec.cid=sc.cidands.sid=‘s3’
4、检索至少选修liu老师所授课程中一门课的女学生的姓名。
selectsnamefromswheresidin(selectsidfromscwherecidin(selectcidfromcwhereteacher=‘liu’))
s(sid(学号),sname(姓名),age(年龄),sex(性别))
sc(sid(学号),cid(课程号),score(成绩))
c(cid(课程号),cname(课程名),teacher(教师))
p215
1、简述sql语言的使用方式。
p13
一般有两种方式:
sql的交互式使用;用户通过开发应用系统与rdbms交互。
2、完整的sql包括哪三个子语言分类?
p157
数据定义子语言(ddl)、数据操纵子语言(dml)、数据控制子语言(dcl)
3、简述sql语言中定义的数据库与第一章中的数据库概念之异同。
p159
sql语言定义的是指存储空间,用于存放相关数据集合,这个是理论概念具体化,与第1章的应用概念上的有差别
4、简述标准的sql语言与实际数据库产品中的sql数据库语言的关系。
p157-158绝大多数rdbms产品不是完全支持sql-92标准的;
rdbms产品的sql语言,也有可能是sql-92中所没有的功能或特性。
5、sql语言对数据库对象的定义使用哪3个sql命令关键字?
p158
create(创建),drop(删除),alter(修改)
6、简述定义索引的目的。
p166-167
利用索引,系统可以较快地在磁盘上定位所需数据,从而加快了数据查询速度。
8、简述t-sql中游标的作用。
p191
既为sqlserver的存储过程、触发器和函数提供了按行处理查询结果集合的途径,也为高级编程语言提供了按行处理查询结果集合的途径。
9、简述t-sql中存储过程的好处。
p194
1)执行速度快
2)可用于实现经常使用的数据操作
3)实现较复杂的完整性约束
4)可在程序中被反复调用,有助于程序的模块化
5)有助于提供安全性
6)实现复杂、敏感事务的自动化
7)减少网络流量
第三章关系数据库系统rdbs
一.简答题
【篇三:
-数据库原理及应用第二版-第1-4章习题答案-课后习题】
1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:
数据是描述事物的符号记录,是数据库中存储的基本对象。
数据库是存放数据的仓库,是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?
答:
数据管理技术的发展主要经历了文件管理和数据库管理两个阶段。
3.与文件管理相比,数据库管理有哪些优点?
答:
将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?
为什么?
答:
不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
5.在数据库系统中,数据库的作用是什么?
答:
在数据库系统中,数据库是存放数据的场所。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?
答:
不能。
7.数据独立性指的是什么?
它能带来哪些好处?
性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?
答:
数据库系统由四个主要部分组成,即数据库、数据库管理系统、应用程序和系统管理员。
数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;系统管理员负责数据库的规划、设计、协调、维护和管理等工作;应用程序指以数据库数据为核心的应用程序。
第2章数据模型与数据库结构
1.解释数据模型的概念,为什么要将数据模型分成两个层次?
答:
数据模型是对现实世界数据特征的抽象。
数据模型一般要满足三个条件:
第一是数据模
型要能够比较真实地模拟现实世界;第二是数据模型要容易被人们理解;第三是数据模型要能够很方便地在计算机上实现。
由于用一种模型同时很好地满足这三方面的要求在目前是比较困难的,因此在数据库系统中就可以针对不同的使用对象和应用目的,采用不同的数据模型。
根据模型应用的不同目的,将这些模型分为概念层数据模型和组织层数据模型两大类,以方便对信息的描述。
2.概念层数据模型和组织层数据模型分别是针对什么进行的抽象?
答:
概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世
界进行抽象和转换,形成具体的dbms支持的数据组织模型。
3.实体之间的联系有哪几种?
请为每一种联系举出一个例子。
答:
实体之间的联系有一对一、一对多和多对多三种。
例如:
系和正系主任是一对一联系(假
设一个系只有一名正系主任),系和教师是一对多联系(假设一名教师只在一个系工作),教师和课程是多对多联系(假设一名教师可以讲授多门课程,一门课程可由多名教师讲授)。
4.说明实体-联系模型中的实体、属性和联系的概念。
答:
实体是具有公共性质的并可相互区分的现实世界对象的集合,属性是人们感兴趣的实体
或者联系的性质或特征,联系是数据和数据之间的关联关系。
5.指明下列实体间联系的种类:
(1)教研室和教师(设一个教师只属于一个教研室,一个教研室可有多名教师)。
(2)商品和顾客。
(3)国家和首都(假设一个国家的首都可以变化)。
(4)飞机和乘客。
(5)银行和账户。
(6)图书和借阅者。
(设一个借阅者可同时借阅多本书,可在不同时间对同一本书借阅多次)答:
(1)教研室和教师:
一对多
(2)商店和顾客:
一对多
(3)国家和首都:
一对多
(4)飞机和乘客:
多对多
(5)银行和账户:
多对多
(6)图书和借阅者:
多对多
6.数据库系统包含哪三级模式?
试分别说明每一级模式的作用?
答:
数据库系统包含的三级模式为:
内模式、模式和外模式。
外模式是对现实系统中用户感
兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。
模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式是对整个数据库的底层表示,它描述了数据的存储结构。
7.数据库管理系统提供的两级映像的作用是什么?
它带来了哪些功能?
答:
数据库系统的两级映象是模式与内描述间的映象和外模式与模式间的映象。
模式/内模
式的映象定义了概念视图和存储的数据库的对应关系,它说明了概念层的记录和字段在
内部层次怎样表示。
如果数据库的存储结构改变了,那么,必须对模式/内模式的映象进行必要的调整,使模式能够保持不变。
外模式/概念模式间的映象定义了特定的外部视图和概念视图之间的对应关系,当概念模式的结构可发生改变时,也可以通过调整外模式/模式间的映象关系,使外模式可以保持不变。
8.数据库三级模式划分的优点是什么?
它能带来哪些数据独立性?
答:
数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此
之间的相互干扰减到最少。
这三个模式的划分实际上带来了两个数据独立性,即物理独立性和逻辑独立性。
这使得底层的修改和变化尽量不影响到上层。
第3章关系数据库
1.试述关系模型的三个组成部分。
答:
关系数据模型包括数据结构、数据操作及数据完整性约束。
2.解释下列术语的含义:
(1)笛卡尔积
答:
设d1,d2,?
,dn为任意集合,定义笛卡尔积d1,d2,?
,dn为:
(2)主码
答:
主码是表中的属性或属性组,用于惟一地确定一个元组。
主码可以由一个属性组成,也可以由多个属性共同组成。
(3)候选码
答:
如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选码。
(4)外码
答:
设f是关系r的一个或一组属性,如果f与关系s的主码相对应,则称f是关系r的外码。