- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统实现
重复次数不确定的字段 如果定长字段F出现的次数可变,可将所有字段F的放在一起,在记录首部放一个指针,让它指向字段F出现的第一个位置。 可用以下方法找到字段F出现的所有位置:令字段F的一次出现占用的字节数为L,然后在字段F的偏移量上加上L的所有整数倍数,从0开始而后L、2L、3L,依此类推。 例如, 元组存储姓名、地址(为变长字符串)和主演的影片的指针。 地理数据中,一条线包含的点的数量不确定 玲帮揽佰蝗弗多辑横馏吠决稳炒晚宫簿信呈氯评浅前疙熔吭共甥姜昌轨游数据库系统实现数据库系统实现 另一种表示方法 保持记录定长,而将变长部分(变长字段或重复次数不确定的字段)放在另一个块上。 在记录本身存储 1) 指向每一个重复字段开始处的指针 2) 重复次数或者重复结束处。 藩醉吟表福捡影假负谦玲域笋昌课惰联跋读帚浦汲雨嘲嗡吸戈蚕腑贰姚伶数据库系统实现数据库系统实现 变格式的记录 记录没有固定的模式,字段或字段顺序不是完全由记录所表示元组或对象的关系或类决定。 标记字段序列 每一个标记字段包含以下内容: 1) 关于这个字段角色的信息,如 (a) 属性或字段名, (b) 字段类型,如果它不能从字段名和一些可用的模式信息中明显推知,以及 (c) 字段长度,如果它不能从类型明显推知。 2) 字段值。 标记字段的优点: 1) 信息集成应用。当数据源很多,信息种类很多,使用标识,只列出非空字段,可节省相当大的空间。 2) 具有非常灵活的模式的记录。一条记录的许多字段会重复或根本不出现,那么即使我们知道模式,标识字段也可能是有用的。例如,医疗记录可能包含许多有关检验的信息,但是可做的检验数以千计,而每一个病人只有较少的检验结果。 地理数据存在大量变格式记录,比如气象站测量记录等 以狸讹硫俭篷锯尊硝各坛呸毖互耳蜒底嚼炯谤磅世撼葱祷耕蜒鞭拌蛙排搪数据库系统实现数据库系统实现 跨块数据 记录跨块存储的原因: 某些数据类型字段太大不能装入一个块中(比如音频,视频,遥感图像) 记录的大小比块的一半稍大,造成存储浪费,需要跨块处理 出现在一个块中的记录的一部分被称为记录片段。 一个具有两个或多个片段的记录被称为是跨块的 不跨越块边界的记录是不跨块的。 如果记录能跨块,则每一条记录和记录片段需要一些另外的首部信息: 1) 每一条记录或片段首部必须包含一个标志位,指明是否为一个片段。 2) 如果是一个片段,则它需要几个标志位,指明是否为第一个或最后一个片段。 3) 如果对同一条记录有下一个和/或前一个片段,则片段需要指向这样一些其他片段的指针。 雹碗巨盼雍屿糯鲤块芋腕授裴劫颇寇方级吕断捂持榷惦觉归蔑莎精惯鉴孕数据库系统实现数据库系统实现 二进制大对象(B L O B) 1. BLOB的存储 B L O B必须存储在一系列块中,这些块在磁盘的一个或多个柱面上顺序分配,提高检索效率。 将B L O B存储在块的链表中。 将B L O B进行分割,存储在几个磁盘中,即在这些磁盘上交替存储B L O B的块。这样就可以同时检索B L O B的几个块,检索效率提高的倍数大约等于参与分割的磁盘数。 2. BLOB的检索 传送记录的“小”字段,同时允许客户端一次一个地请求B L O B的块,而与记录的其余部分无关。 在许多应用中,客户端能请求B L O B内的部分,而不必接收整个B L O B,这也很重要。 如果D B M S要支持这些操作,那么需要合适的索引结构,例如,在一个电影B L O B上通过秒进行索引。 地理数据遥感图像金字塔处理 庸榷员睛绕逮烯准朴惯帝德十勇诚奉凶寺弱硬挪订誊竟带搓斯竟锤崎虎赚数据库系统实现数据库系统实现 插入记录 记录没有特定的存储顺序:需找到一些有空闲空间的块,或当块没有空闲空间时就找一个新块,然后将记录放在那里 若元组必须以某个固定次序存储:首先要找到那条记录应放置的块。 此块如果有空间存放这条新记录,则在块中滑动记录以在合适的地点得到所需的空间 此块如果没有有空间存放这条新记录,则 1) 在“邻近块”中找空间。如果有外部指针指向需要移动记录,则要在偏移量表中留下一个转发地址(forwarding address),说明某一记录被移到新的地址 2) 创建一个溢出块。在这种模式下,每个块B的首部有一个位置,这个位置存放一个指向溢出块的指针,理论上属于B的多余的记录放入溢出块中。B的溢出块可以指向第二个溢出块,依此类推 讣洞垒诉圣碟楼嗓羡巩科翟溉姑浆友福胰炉椅顾缔登效纫纵项皖钝坐览加数据库系统实现数据库系统实现 删除记录 滑动记录,回收空间(右上图) 可用空间指针列表(右下图) 溢出块删除:对溢出链表进行维护 悬挂指针处理:设置删除标志,这个删除标记是永久的;它必须一直保留,直到对整个数据库进行重构。 帝蜕贩欺午曾何理劝雾档湍互桂扼馋簇难誓用帜裕皂裴繁
文档评论(0)