网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章 数据元素的表示.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数据元素的表示

第4章 数据元素的表示 主要内容 数据项的表示(Data Items) 记录的表示(Records) 记录在块中的组织(Block) 记录的修改 块在文件中的组织 缓冲区管理 数据元素的表示层次 一、数据项的表示 数据项 字节序列 表示关系数据库中元组的属性值 1、数据项表示的内容 表示什么? 姓名 年龄 出生日期 照片 …… 用什么表示? Bytes 2、数据项表示方法:SQL数据类型 Integer (short) 2 bytes 例如,35 表示为 Real,Float 4 bytes (32 bits) N bits表示小数,M bits表示指数 2、数据项表示方法:SQL数据类型 Char(n) 或 Character(n) 定长字符串 小于n时使用特殊填充符 例如,若属性类型为Char(5),则属性值’cat’ 表示为 Varchar(n) 变长字符串 NULL终止符,例 Varchar(5) 带长度 定长表示,n+1 bytes Varchar(4): 2、数据项表示方法:SQL数据类型 Boolean TRUE FALSE 枚举类型 {RED,GREEN,YELLOW} 整数表示 RED ? 1,GREEN ? 2,YELLOW ? 3 若用两个字节的短整型来表示,则可以表示 216 个不同值 2、数据项表示方法:SQL数据类型 Date 10字符(SQL92):’YYYY-MM-DD’字符串表示 8字符:’YYYYMMDD’ 7字符:’YYYYDDD’, NOT ‘YYMMDD’! Integer,自1900-01-01以来的天数 Time 8字符(SQL92):’HH:NN:SS’ ——整数秒 Varchar(n):‘HH:NN:SS.FF’——带小数秒 Integer,自00:00:00以来的秒数 2、数据项表示方法:SQL数据类型 Bit 带长度的二进制位串 按字节表示,例如 010111110011 3、两种不同的数据项表示 定长数据项 变长数据项 带长度 (常用!) Null Terminated 数据项表示总结 Where are we? 二、记录的组织 记录 数据项 [字段,Fields] 的集合 1、记录的类型 固定格式 vs. 可变格式 Fixed Format vs. Variable Format 定长 vs. 变长 Fixed Length vs. Variable Length 2、固定格式定长记录 所有记录具有相同的逻辑结构(模式) 记录的模式(Schema) # fields Name of each field Type of each field Order in record Offset of each field in the record E.g. 固定格式定长记录 2、固定格式定长记录 构造 不考虑寻址特点 2、固定格式定长记录 考虑寻址特点 假设记录和字段的开始地址必须是4的倍数 3、记录首部 在记录首部(Head)的描述记录的信息 记录类型(模式信息) 记录长度 时间戳 其它信息 4、可变格式记录 每个记录的格式不同 记录的格式存储于记录中 4、可变格式记录 好处 灵活的记录格式,适合“松散”记录 尽管一个记录可能有大量字段,但某个记录通常只有有限的几个字段 例如,病人的检验结果 适合处理重复字段 适合记录格式演变 缺点 浪费存储空间 6、变长记录表示 首部指针法 定长字段在前,变长字段在后 name、address变长 6、变长记录表示 混合格式:定长记录+变长记录 Where are we? 三、记录在块中的组织 假设 块的大小固定 记录组织成单个文件 三、记录在块中的组织 定长记录的两种块内组织 记录地址rid通常使用块号,槽号表示 三、记录在块中的组织 变长记录在块内的组织 三、记录在块中的组织 其他问题 记录在块中的分隔 (separating records) 记录跨块 vs.记录不跨块 (spanned vs. unspanned) 不同类型的记录聚簇 (mixed record types – clustering) 按序组织 (sequencing) 记录的分裂 (split records) 记录地址 (record address) 记录的修改 1、记录在块内的分隔 定长记录:不需分隔 使用特殊标记 通过块内偏移量 2、跨块 vs. 不跨块 2、跨块 vs. 不跨块 跨块 2、跨块 vs. 不可跨块 比较 unspanned:实现简单,但空间浪费 spanned:有效利用空间,实现更复杂 But …… If record size block size,MUST be spanned 3、不同类型的记录聚

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档