数据库系统概念(第六版)习题答案——第一章引言

第一章引言

实践习题

1.1 这一章讲述了数据库系统的几个主要的优点。它有哪两个不足之处?

(1)    建立一个数据库系统需要很多知识、技巧和时间。

(2)    数据库的复杂性可能会导致糟糕的性能

1.2 列出Java或C++之类的语言中的类型说明系统与数据库系统中使用的数据定义语言的5个不同之处。

(1)    在数据库中创建一个对象需要用DDL执行一个操作,但是编程语言类型说明只是编程过程中的一个抽象。

(2)     数据库DDL允许一致性越是,编程语言类型系统一般不允许。包括域约束和参照完整性约束。

(3)     数据库的DDL支持授权给不同的用户不同的访问权限。编程语言类型系统不提供这样的保护(在最好的情况下,在另一个类的方法访问这个类时会保护它的属性)。

(4)     编程语言类型系统通常比SQL类型系统更加丰富。大多数数据库只支持基本类型例如不同类型的数字和字符串,虽然有些数据库支持复杂类型如数组和对象。

(5)     数据库DDL关注指定类型的属性的关系;相比之下,编程语言允许创建对象和对象集合。

1.3 列出为一个企业建立数据库的六个主要步骤。

(1)    全面刻画预期的数据库用户的数据需求,制定出用户需求的规格文档。

(2)    概念设计,设计者选择一个数据模型,并运用该选定的数据模型的概念,将那些需求转换成一个数据库的概念模式。

(3)    定义数据的完整性约束条件

(4)    物理设计阶段

(5)    做应用层,设计应用层软件给应用者使用数据库

(6)    创建/初始化数据库

1.4 除1.6.2节中已经列出的之外,请列出大学要维护的至少3种不同类型的信息。

(1)    大学维护一个学生公寓列表,详细说明公寓单元号,房间号和房间里学生ID。

(2)    大学维护学生班级列表,包含有几级学生,每级学生有几个班级,每个班级属于哪个系,每个班级有多少学生。

(3)    大学需要维护学生图书馆列表,包含有多少图书,图书存放在哪个区,每种图书有几本,有没有被借走,归还时间是什么。

1.5 假设你想要建立一个类似于YouTube的视频节点。考虑1.2节中列出的将数据保存在文件系统中的各个缺点,讨论每一个缺点与存储实际的视频数据和关于视频元数据(诸如标题、上传它的用户、标签、观看它的用户)的关联。

这个题目就借鉴网上查到的答案吧:

数据库系统概念(第六版)习题答案——第一章引言_第1张图片


1.6 在Web查找中使用的关键字查询与数据库查询很不一样。请列出这两者之间在查询表达方式和查询结果是什么方面的主要差异。

       Web关键字查询属于信息检索领域,数据库查询数据数据库查询领域。在查询表达式方面,数据系统是结构化的查询表达式,而文本数据是非结构化的。数据查询重点在于从多个来源收集数据,建立统一模式,供使用者查询,而信息系统重点强调基于关键词的查询,文档与查询的相似度,以及文档的分析、分类与索引。信息检索领域搜出来往往是包含指定内容的片段,而数据库查询领域搜索出来的往往是一个表格。


习题

1.7 列出四个你使用过的很可能使用了数据库来存储持久数据的应用。

(1)    电商平台是一个巨大的数据库应用

(2)    各种视频播放APP

(3)    铁路系统订票网站

(4)    银行后台系统 

1.8 列出文件处理系统和DBMS的四个主要区别

(1)    文件处理系统容易造成数据的冗余和不一致

(2)    文件处理系统数据访问困难

(3)    文件处理系统在原子性方面无法保证

(4)    文件处理系统的安全性也无法保证

1.9 解释物理数据独立性的概念,以及它在数据库系统中的重要性。

       物理模式隐藏在逻辑模式下,通常可以在应用程序丝毫不受影响的情况下被轻易地更改。应用程序如果不依赖于物理模式,它们就被称为是具有物理数据独立性,因此即使物理模式改变了它们也无需重写。

1.10 列出数据库管理系统的五个职责。对每个职责,说明当它不能被履行时会产生什么样的问题。

(1)    权限及完整性管理

(2)    事物管理

(3)    文件管理

(4)    缓冲区管理

(5)    查询管理

1.11 请给出至少两种理由说明为什么数据库系统使用声明性查询语言,如SQL,而不是只提供C或者C++的函数库来执行数据操作。

(1)    数据操作要求其独特性与共性,开发适合他的特有语言,开发起来比较方便。

(2)    上层开发语言现在非常多,如果固定为一种语言,别的语言使用者不好进行移植,所以将较低层的操作模块化,方便移植操作的进行。

1.12 解释用图1-4中的表来设计会导致哪些问题。

       在没有教员的情况下不等单独添加系别,当系别的预算发生改变,需要改动多个地方,当某个系的所有教员都离职了,这个系就不好体现在这个表上。

1.13 数据库管理员的五种主要作用是什么?

(1)    模式定义:模式定义如果不能准确定义,将会使整个数据库系统变得乱七八糟。

(2)    存储结构及存取方法定义:涉及到读取存储效率。

(3)    模式及物理组织的修改:涉及到系统性能问题。

(4)    数据访问授权:权限问题设计到系统安全性

(5)    日常维护:数据丢失、磁盘空间,存储效率均与日常维护操作有关。

1.14 解释两层和三层体系结构之间的区别。对Web应用来说哪一种更合适?为什么?

       在两层体系结构中,应用程序驻留在客户机上,通过查询语言表达式来调用服务器上的数据库系统功能。在三层体系结构中,客户机只作为一个前端并且不包含任何直接的数据库调用。客户端通常通过一个表单界面与应用服务器进行通信。而应用服务器与数据库系统通信以访问数据。

       Web更适合三层结构,因为访问量很大,对于数据库的访问操作被分布在多个客户机上不太好。

1.15 描述可能被用于存储一个社会网络系统如Facebook中的信息的至少3个表。

(1)    注册用户维护表,包含注册用户的ID,用户的资料,用户的好友,用户的博客信息。

(2)    群组讨论表,包含群组的名称,群组的创建信息以及群组的参与人。

(3)    公共信息表,包含公共信息的更新时间以及更新内容。

 

你可能感兴趣的:(数据库系统概念(第六版)习题答案——第一章引言)