数据库原理第二章课后题答案(第四版)

简介: 数据库原理第二章课后题答案(第四版)

一、选择题

1. A     2. C     3. C     4. B     5. B

6. C     7. B     8. D     9. C     10. A

11. B    12. A    13. A    14. D    15. D   16. B   17. C

二、填空题

1.选取  

2. 交  

3. 相容(或是同类关系)

4. 并  差  笛卡尔积  选择  投影

5. 并  差  交  笛卡尔积

6. 选取  投影  连接

7. σf(R)

8. 关系代数  关系演算

9. 属性

10. 同质

11. 参照完整性

12. 系编号,系名称,电话  办公地点

13. 元组关系   域关系

14. 主键  外部关系键

15. RS没有公共的属性

16. 关系

三、简答题

1.关系模型的完整性规则有哪几类?

关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义的完整性。其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。任何关系数据库系统都应该支持这两类完整性。除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是用户自定义完整性,用户自定义完整性体现了具体领域中的语义约束。

2.举例说明什么是实体完整性和参照完整性。

实体完整性是指主码的值不能为空或部分为空。例如,学生关系中的主码“学号”不能为空,选课关系中的主码“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。

参照完整性是指如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值或者取空值。例如,学生关系S的“系别”属性与系别关系D的主码“系别”相对应,因此,学生关系S的“系别”属性是该关系S的外码,学生关系S是参照关系,系别关系D是被参照关系,学生关系中某个学生(如S1或S2)“系别”的取值,必须在参照的系别关系中主码“系别”的值中能够找到,如果某个学生(如S11)“系别”取空值,则表示该学生尚未分配到任何一个系;否则,它只能取系别关系中某个元组的系别号值。

3.关系的性质主要包括哪些方面?为什么只限用规范化关系?

关系具有如下性质。

(1)列是同质的,即每一列中的分量必须来自同一个域,必须是同一类型的数据。

(2)不同的属性可来自同一个域,但不同的属性必须有不同的名字。

(3)列的顺序可以任意交换。但交换时,应连同属性名一起交换,否则将得到不同的关系。

(4)关系中元组的顺序(即行序)可任意,在一个关系中可以任意交换两行的次序。因为关系是以元组为元素的集合,而集合中的元素是无序的,所以作为集合元素的元组也是无序的。

(5)关系中不允许出现相同的元组。因为数学上集合中没有相同的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。

(6)关系中每一分量必须是不可分的数据项,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,但不可“表中有表”。

由于非规划化关系会导致数据冗余、插入异常、删除异常、更新异常等问题,因此在构建关系时,应使用规范化关系。

4.举例说明等值连接与自然连接的区别与联系。

所谓自然连接就是在等值连接的情况下,当连接属性XY具有相同属性组时,把在连接结果中重复的属性列去掉。

等值连接与自然连接的区别如下:

(1)等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有同名属性才能进行自然连接。如上图R中的C列和S中的D列可进行等值连接,但因为属性名不同,不能进行自然连接。

(2)在连接结果中,等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。如上图R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B

5.解释下列概念:笛卡儿积、关系、同类关系、关系头、关系体、属性、元组、域、关系键、候选键(码)、主键(码)、外部键(码)、关系模式、关系数据库模式、关系数据库、关系数据库的型与值。

笛卡儿积(Cartesian Product)。给定一组域D1,D2,…,Dn(它们可以包含相同的元素,既可以完全不同,也可以部分或全部相同),则D1,D2,…,Dn的笛卡儿积为:

DD2×…×Dn={(d1,d2,…,dn)|diDii=1,2,…,n}。

关系(Relation)。笛卡儿积DD2×…×Dn的任一子集称为定义在域D1,D2,…,Dn上的n元关系(Relation),可用RD1,D2,…,Dn)表示。

具有相同关系框架的关系称为同类关系。

关系头(Heading)。关系头由属性名A1,A2,…,An的集合组成,每个属性Ai对应一个域Dii=1,2,…,n)。关系头(关系框架)是关系的数据结构的描述,它是固定不变的。

关系体(Body)。关系体是指关系结构中的内容或者数据,它随元组的插入、删除或修改而变化。

由于不同域(列)的取值可以相同,为了加以区别,必须对每个域(列)起一个名字,称为属性(Attribute)。

关系中的每个元素是关系中的元组。

域(Domain)。域是一组具有相同数据类型的值的集合,又称为值域(用D表示)。

候选码(Candidate Key)。能唯一标识关系中元组的一个属性或属性集,称为候选码,也称候选关键字或候选键。

关系键是一个表中的一个或几个属性,用来标识该表的每一行或与另一个表产生联系。

主码(Primary Key)。如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主码,或称为主关系键、主键、关系键、关键字等。

如果关系R2的一个或一组属性X不是R2的主码,而是另一关系R1的主码,则该属性或属性组X称为关系R2的外码(Foreign key)或外部关系键。

关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:

RUDDOMF

关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。

在一个给定的应用领域中,所有实体以及实体之间联系所对应的关系的集合构成一个关系数据库。

关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值也称为关系数据库,是这些关系模式在某一时刻对应的关系的集合。

6.以第1章的图1-21所示的教学管理数据库为例,用关系代数表达式表示以下各种查询要求。

(1)查询T1老师所授课程的课程号和课程名。

(2)查询年龄大于18岁的男同学的学号、姓名、系别。

(3)查询“李力”老师所讲授课程的课程号、课程名、课时。

(4)查询学号为S1的同学所选修课的课程号、课程名和成绩。

(5)查询“钱尔”同学所选修课程的课程号、课程名和成绩。

(6)查询至少选修“刘伟”老师所授全部课程的学生姓名。

(7)查询“李思”同学未选修的课程号和课程名。

(8)查询全部学生都选修了的课程的课程号、课程名。

(9)查询选修了课程号为C1和C2的学生的学号和姓名。

(10)查询选修了全部课程的学生的学号和姓名。


相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
目录
相关文章
|
1月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
50 5
Mysql(3)—数据库相关概念及工作原理
|
16天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
34 2
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
51 5
|
1月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
1月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理
|
3月前
|
消息中间件 Kafka 数据库
深入理解Kafka的数据一致性原理及其与传统数据库的对比
【8月更文挑战第24天】在分布式系统中,确保数据一致性至关重要。传统数据库利用ACID原则保障事务完整性;相比之下,Kafka作为高性能消息队列,采用副本机制与日志结构确保数据一致性。通过同步所有副本上的数据、维护消息顺序以及支持生产者的幂等性操作,Kafka在不牺牲性能的前提下实现了高可用性和数据可靠性。这些特性使Kafka成为处理大规模数据流的理想工具。
82 6
|
4月前
|
存储 SQL 关系型数据库
(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!
《索引原理篇》它现在终于来了!但对于索引原理及底层实现,相信大家多多少少都有了解过,毕竟这也是面试过程中出现次数较为频繁的一个技术点。在本文中就来一窥`MySQL`索引底层的神秘面纱!
335 5
|
4月前
|
SQL 存储 安全
SQL数据库:核心原理、应用实践与未来展望
在电子商务领域,SQL数据库用于存储商品信息、用户信息、订单信息等。通过SQL数据库,电商平台可以实现商品的快速检索、用户行为的跟踪分析、订单状态的实时更新等功能,提升用户体验和运营效率。
|
3月前
|
存储 NoSQL 关系型数据库
Web中的数据库:原理、应用与代码实现
Web中的数据库:原理、应用与代码实现
107 0
|
4月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
66 0