计算机教程 第3章数据元素的表示.pdfVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第3章 数据元素的表示 本章将我们在 2 . 3节所讲的二级存储器的块模型与数据库管理系统的要求联系起来。首先, 我们看一下关系或对象集在二级存储器中的表示方法。 • 属性需要用定长或变长的字节序列表示,称作“字段”。 • 而后,字段被组装成定长或变长的集合,称为“记录”,记录对应于元组或对象。 • 记录需要存储在物理块中。多种不同的数据结构是有用的,特别是当修改数据库需要重新 组织记录块时。 • 构成一个关系或类外延的记录集存储为块的集合,称为文件 ,为支持对这些集合的有效 查询和修改,我们在文件上添加许多索引结构中的一种;这些结构是第 4章和第5章讨论的 内容。 3.1 数据元素和字段 我们首先研究最基本的数据元素的表示,即关系或面向对象数据库系统中的属性值的表示。 这是用“字段”来表示的。然后我们考查字段如何组装成存储系统中更大的元素:记录、块和 文件。 3.1.1 关系型数据库元素的表示 假设我们用图3 - 1所示的CREATE TABLE 语句在S Q L系统中声明一个关系。D B M S 负责表 示和存储由这个定义描述的关系。既然关系是元组集合,元组与记录或“结构”(C或C + +术语) 相似,我们可以设想每一个元组在磁盘中作为一条记录来存储。记录会占据某个磁盘块(或其 一部分),在记录内部,对应于关系的每一个属性有一个字段。 图3-1 一个SQL表的声明 数据库中“文件”的概念比操作系统中“文件”的含义更广泛一些。数据库文件可以是一个无结构的字节流,但 更经常的情况是由块的一个集合构成。这些块按某种有用的方式组织在一起,具有索引或其它专门的访问方式。 我们在第4章讨论这些结构。 第3章 数据元素的表示使用 61 下载 尽管总的想法看起来简单,但“可怕的是实现细节”,我们必须讨论很多问题: 1) 如何将S Q L数据类型表示成字段? 2) 如何将元组表示成记录? 3) 如何在存储块中表示记录或元组的集合? 4) 如何用块的集合表示和存储关系? 5) 如果不同的元组可能具有不同的记录大小,或者记录大小不能整除块大小,或二者兼而 有之,这时我们如何处理记录大小? 6) 如果因为修改一些字段而导致记录大小发生改变,那么将会发生什么情况?我们如何在 记录所在的块内找到存储空间,特别是当记录增大时? 第一个问题是本节要讨论的,下边两个问题在 3 . 2节讨论。我们将分别在 3 . 4节和3 . 5节讨论最 后两个问题。第四个问题,即如何表示关系以有效存取其元组,将在第 4章中研究。 此外,我们需要考虑如何表示现代对象关系或面向对象系统中存在的某些数据类型,如对 象标识(或其他指向记录的指针)和“ B L O B S ”(二进制的大对象,如 2 GB 的M P E G视频) 。这 些问题将在3 . 3节和3 . 4节讨论。 3.1.2 对象的表示 现在,许多数据库系统支持“对象”。这样的系统包括纯面向对象的D B M S ,它们用一种面向 对象的查询语言如OQL 对面向对象的语言如C++进行扩展,扩展后的语言被用作查询和宿主语言。 这样的系统还包括对典型关系系统进行的对象—关系扩展,它们支持将对象作为关系中的属性值。 大致上讲,一个对象就是一个元组,而它的字段或“实例变量”就是属性。但是它们有两 个重要差异: 1) 对象可以有与其相关的方法或专用的函数,这些函数代码是对象类模式的一部分。 2) 对象可以有对象标识 (O I D ),它在某个全局地址空间中唯一地指代该对象的地址。另外, 对象可以与其他对象有联系,这些联系由指针或指针序列表示。关系数据没有把地址作 为值,尽管我们将看到关系的“幕后”实现要求以多种方式操纵地址或指针。对大关系 和具有大外延的的类来说,地址表示是复杂的,我们将在 3. 3 节中讨论这一点。 例 3 . 1

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档