数据库的存储结构.ppt
《数据库的存储结构.ppt》由会员分享,可在线阅读,更多相关《数据库的存储结构.ppt(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第五章第五章 数据库的存储结构数据库的存储结构5.1 5.1 数据库存储介质的特点数据库存储介质的特点n n采用多级存储器,用的最多的辅存是磁盘。采用多级存储器,用的最多的辅存是磁盘。采用多级存储器,用的最多的辅存是磁盘。采用多级存储器,用的最多的辅存是磁盘。n n光盘由于速度和价格上的原因,近期无法取光盘由于速度和价格上的原因,近期无法取光盘由于速度和价格上的原因,近期无法取光盘由于速度和价格上的原因,近期无法取代硬盘。代硬盘。代硬盘。代硬盘。n n磁带是顺序存取存储器,通常用作后备存储磁带是顺序存取存储器,通常用作后备存储磁带是顺序存取存储器,通常用作后备存储磁带是顺序存取存储器,通常用作
2、后备存储器。器。器。器。数据库是大量、持久数据的集合,在现阶段数据库是大量、持久数据的集合,在现阶段用内存作为数据库的存储介质是不合适的用内存作为数据库的存储介质是不合适的。n活动头磁盘的存取时间由三部分组成:活动头磁盘的存取时间由三部分组成:寻道寻道时间时间、等待时间以及传输时间。、等待时间以及传输时间。n磁盘上的数据划分为大小相等的物理块。磁磁盘上的数据划分为大小相等的物理块。磁盘与内存间的数据交换以物理块为单位。盘与内存间的数据交换以物理块为单位。以物理块为交换单位的优点:以物理块为交换单位的优点:以物理块为交换单位的优点:以物理块为交换单位的优点:1).1).1).1).减少减少减少减
3、少I/OI/OI/OI/O的次数的次数的次数的次数,从而减少寻道和等待的时间。,从而减少寻道和等待的时间。,从而减少寻道和等待的时间。,从而减少寻道和等待的时间。2).2).2).2).减少间隙的数目减少间隙的数目减少间隙的数目减少间隙的数目,提高磁盘空间利用率。,提高磁盘空间利用率。,提高磁盘空间利用率。,提高磁盘空间利用率。物理快的大小由物理快的大小由物理快的大小由物理快的大小由OSOSOSOS决定。决定。决定。决定。n一般,在磁盘和内存之间设立缓冲区以解决一般,在磁盘和内存之间设立缓冲区以解决二者的速度不匹配问题。二者的速度不匹配问题。由于有多个缓冲块可供申请使用,磁盘的读写由于有多个缓
4、冲块可供申请使用,磁盘的读写操作和读写数据的处理可以重叠进行。操作和读写数据的处理可以重叠进行。读出:读出:i块块缓冲块缓冲块A处理:处理:处理处理A中中i块块i+1块块缓冲块缓冲块B i+2块块缓冲块缓冲块A处理处理B中中i+1块块qq OS OS OS OS与与与与DBMSDBMSDBMSDBMS都有各自的缓冲区。都有各自的缓冲区。都有各自的缓冲区。都有各自的缓冲区。qq 不少不少不少不少DBMSDBMSDBMSDBMS采用采用采用采用延迟写延迟写延迟写延迟写与与与与提前读提前读提前读提前读技术,减少技术,减少技术,减少技术,减少I/OI/OI/OI/O,改善性能。改善性能。改善性能。改善
5、性能。5.2 5.2 记录的存储结构记录的存储结构n记录是目前商用数据库的基本数据单元,有定记录是目前商用数据库的基本数据单元,有定长和变长之分。长和变长之分。n记录的存储结构记录的存储结构1.1.1.1.定位法定位法定位法定位法每个字段按其最大可能长度分配定长的每个字段按其最大可能长度分配定长的每个字段按其最大可能长度分配定长的每个字段按其最大可能长度分配定长的 位置位置位置位置LIbbbMINGbbbMALEbb1967512182.2.2.2.相对法相对法相对法相对法每个字段没有固定的长度,而是用特每个字段没有固定的长度,而是用特每个字段没有固定的长度,而是用特每个字段没有固定的长度,而
6、是用特 殊的字符分隔开殊的字符分隔开殊的字符分隔开殊的字符分隔开LI?MING?MALE?1967#问题:问题:字段中也需要用到这些分隔符时,如何进行字段中也需要用到这些分隔符时,如何进行表示?表示?3.3.3.3.计数法计数法计数法计数法每个字段的开始加上表示该字段长度每个字段的开始加上表示该字段长度每个字段的开始加上表示该字段长度每个字段的开始加上表示该字段长度 的字段的字段的字段的字段02LI04MING04MALE041967问题:计数法对问题:计数法对字段的实际长度字段的实际长度有什么要求?有什么要求?记录在物理块上的分配记录在物理块上的分配n n磁盘上,记录必须分配到物理块中。磁盘
7、上,记录必须分配到物理块中。磁盘上,记录必须分配到物理块中。磁盘上,记录必须分配到物理块中。记录跨快存储(记录跨快存储(记录跨快存储(记录跨快存储(spannedspanned)记录不垮块存储(记录不垮块存储(记录不垮块存储(记录不垮块存储(unspannedunspanned)设为物理块的有效空间大小,为固定长记设为物理块的有效空间大小,为固定长记录的大小,若录的大小,若,则每个物理块可容纳的记录,则每个物理块可容纳的记录数为:数为:p=B/Rp称为块因子(称为块因子(Blocking Factor)。)。记录一般不会刚好填满物理块,会留下不用的零头记录一般不会刚好填满物理块,会留下不用的零
8、头空间:空间:BpRR 为了利用这部分空间,可以利用记录的跨块存储组为了利用这部分空间,可以利用记录的跨块存储组织织(spanned organization)。记录记录1记录记录2 2记录记录3 3记录记录4 4n n定长记录(跨块)定长记录(跨块)定长记录(跨块)定长记录(跨块)记录记录1记录记录2 2记录记录3 3记录记录4 4块块i记录记录4(剩余部剩余部分分)记录记录5 5记录记录6 6记录记录7 7块块i i+1n n变长记录(跨块)变长记录(跨块)变长记录(跨块)变长记录(跨块)记录记录1记录记录2 2记录记录3 3块块i记录记录3(剩剩余部分余部分)记录记录4 4记录记录5 5
9、块块i i+1 物理块在磁盘上的分配物理块在磁盘上的分配 早期的早期的早期的早期的DBMSDBMSDBMSDBMS中,通常由操作系统分配数中,通常由操作系统分配数中,通常由操作系统分配数中,通常由操作系统分配数据库所需的物理块,逻辑上相邻的数据可能据库所需的物理块,逻辑上相邻的数据可能据库所需的物理块,逻辑上相邻的数据可能据库所需的物理块,逻辑上相邻的数据可能被分散到磁盘的不同区域。使得访问数据时,被分散到磁盘的不同区域。使得访问数据时,被分散到磁盘的不同区域。使得访问数据时,被分散到磁盘的不同区域。使得访问数据时,性能下降。性能下降。性能下降。性能下降。现代现代现代现代DBMSDBMSDBM
10、SDBMS中,都改由中,都改由中,都改由中,都改由DBMSDBMSDBMSDBMS初始化时向操初始化时向操初始化时向操初始化时向操作系统一次性的申请所需的存储空间。作系统一次性的申请所需的存储空间。作系统一次性的申请所需的存储空间。作系统一次性的申请所需的存储空间。1 1、连续分配法(、连续分配法(contiguous allocationcontiguous allocation)2 2 2 2、链接分配法(、链接分配法(、链接分配法(、链接分配法(linked allocationlinked allocationlinked allocationlinked allocation)物理块
11、未必分配在磁盘的连续存储空间上,物理块未必分配在磁盘的连续存储空间上,物理块未必分配在磁盘的连续存储空间上,物理块未必分配在磁盘的连续存储空间上,各物理块用指针链接,各物理块用指针链接,各物理块用指针链接,各物理块用指针链接,有利于文件的扩展,但有利于文件的扩展,但有利于文件的扩展,但有利于文件的扩展,但效率较差。效率较差。效率较差。效率较差。将一个文件的块分配在磁盘的连续空间上,将一个文件的块分配在磁盘的连续空间上,块的次序就是其存储的次序,块的次序就是其存储的次序,有利于顺序存取有利于顺序存取多块文件,不利于文件的扩充多块文件,不利于文件的扩充。3 3 3 3、簇集分配法(、簇集分配法(、
12、簇集分配法(、簇集分配法(clustered allocationclustered allocationclustered allocationclustered allocation)上述两种方法的结合。上述两种方法的结合。上述两种方法的结合。上述两种方法的结合。4 4 4 4、索引分配法(、索引分配法(、索引分配法(、索引分配法(indexed allocationindexed allocationindexed allocationindexed allocation)每个文件有一个逻辑块号与其物理块地址对每个文件有一个逻辑块号与其物理块地址对照的索引。照的索引。n n数据压缩技术数
13、据压缩技术数据压缩技术数据压缩技术1.1.1.1.消零或空格符法(消零或空格符法(消零或空格符法(消零或空格符法(null suppressionnull suppressionnull suppressionnull suppression)例如,例如,例如,例如,bbbbbbbbbbbbbbbbbbbb可以用可以用可以用可以用#5#5#5#5表示;表示;表示;表示;000000 000000 000000 000000可以用可以用可以用可以用66表示等。表示等。表示等。表示等。2.2.2.2.串型代替法(串型代替法(串型代替法(串型代替法(pattern pattern pattern p
14、attern substitutionsubstitutionsubstitutionsubstitution)对反复出现的字符串,可以用一个对反复出现的字符串,可以用一个对反复出现的字符串,可以用一个对反复出现的字符串,可以用一个省略符代替。省略符代替。省略符代替。省略符代替。例如,串型表如右:例如,串型表如右:例如,串型表如右:例如,串型表如右:IBM PC/XT0000#原始数据原始数据IBM PC/XT 00001IBM PC/XT 00002压缩数据压缩数据#1#23.3.3.3.索引法(索引法(索引法(索引法(indexingindexingindexingindexing)串行代
15、替法的变种,对重复出现的串行,串行代替法的变种,对重复出现的串行,串行代替法的变种,对重复出现的串行,串行代替法的变种,对重复出现的串行,单独存储,在用到这些串行的地方,单独存储,在用到这些串行的地方,单独存储,在用到这些串行的地方,单独存储,在用到这些串行的地方,用指针用指针用指针用指针引用引用引用引用它。它。它。它。索引法示例:索引法示例:BeijingNanjingShanghaiCITYCITY表表SHOP#CITY0001Nanjing0002Nanjing0003Nanjing0004Shanghai原始数据原始数据0005ShanghaiSHOP#CITY000100020003
16、0004压缩数据压缩数据0005问题:问题:问题:问题:索引法对串型的长度有什么要求?索引法对串型的长度有什么要求?索引法对串型的长度有什么要求?索引法对串型的长度有什么要求?5.3 5.3 文件结构和存取路径文件结构和存取路径5.3.1 5.3.1 5.3.1 5.3.1 访问文件的方式访问文件的方式访问文件的方式访问文件的方式 传统的数据模型都以记录为基础,记录的集合构成传统的数据模型都以记录为基础,记录的集合构成传统的数据模型都以记录为基础,记录的集合构成传统的数据模型都以记录为基础,记录的集合构成文件。文件须按一定的结构组织和存储记录,按一定文件。文件须按一定的结构组织和存储记录,按一
17、定文件。文件须按一定的结构组织和存储记录,按一定文件。文件须按一定的结构组织和存储记录,按一定的存取路径访问有关记录。的存取路径访问有关记录。的存取路径访问有关记录。的存取路径访问有关记录。对数据库的操作最终要落实到对文件的操作。对数据库的操作最终要落实到对文件的操作。对数据库的操作最终要落实到对文件的操作。对数据库的操作最终要落实到对文件的操作。文件结构及其所提供的存储路径直接影响数据访问文件结构及其所提供的存储路径直接影响数据访问文件结构及其所提供的存储路径直接影响数据访问文件结构及其所提供的存储路径直接影响数据访问的速度,通常针对不同的数据访问采用不同的文件结的速度,通常针对不同的数据访
18、问采用不同的文件结的速度,通常针对不同的数据访问采用不同的文件结的速度,通常针对不同的数据访问采用不同的文件结构。构。构。构。1.1.1.1.查询文件的全部或相当多的记录(查询文件的全部或相当多的记录(查询文件的全部或相当多的记录(查询文件的全部或相当多的记录(15%15%15%15%)2.2.2.2.查询某一特定记录查询某一特定记录查询某一特定记录查询某一特定记录3.3.3.3.查询某些记录查询某些记录查询某些记录查询某些记录4.4.4.4.范围查询范围查询范围查询范围查询5.5.5.5.记录的更新记录的更新记录的更新记录的更新文件访问方式按设计文件结构的观点分文件访问方式按设计文件结构的观
19、点分文件访问方式按设计文件结构的观点分文件访问方式按设计文件结构的观点分5 5 5 5类类类类5.3.2 5.3.2 5.3.2 5.3.2 数据库对文件的要求数据库对文件的要求数据库对文件的要求数据库对文件的要求 一些一些一些一些DBMSDBMSDBMSDBMS就以就以就以就以OSOSOSOS的的文件管理系统作为的的文件管理系统作为的的文件管理系统作为的的文件管理系统作为其物理层的基础,更多的其物理层的基础,更多的其物理层的基础,更多的其物理层的基础,更多的DBMSDBMSDBMSDBMS不用不用不用不用OSOSOSOS的文件的文件的文件的文件管理系统,而是独立设计其存储结构。原因管理系统,
20、而是独立设计其存储结构。原因管理系统,而是独立设计其存储结构。原因管理系统,而是独立设计其存储结构。原因如下:如下:如下:如下:qq 传统文件系统不能提供实现传统文件系统不能提供实现传统文件系统不能提供实现传统文件系统不能提供实现DBMSDBMSDBMSDBMS功能所需的附功能所需的附功能所需的附功能所需的附加信息。加信息。加信息。加信息。DBMSDBMSDBMSDBMS为了实现其功能,须在文件目录、为了实现其功能,须在文件目录、为了实现其功能,须在文件目录、为了实现其功能,须在文件目录、文件描述块文件描述块文件描述块文件描述块、物理块等部分附加一些信息。物理块等部分附加一些信息。物理块等部分
21、附加一些信息。物理块等部分附加一些信息。qq 传统文件系统主要面向批处理,数据库系统要传统文件系统主要面向批处理,数据库系统要传统文件系统主要面向批处理,数据库系统要传统文件系统主要面向批处理,数据库系统要求即时访问、动态修改。这就要求文件的结构能求即时访问、动态修改。这就要求文件的结构能求即时访问、动态修改。这就要求文件的结构能求即时访问、动态修改。这就要求文件的结构能适应数据的动态变化,提供快速访问路径。适应数据的动态变化,提供快速访问路径。适应数据的动态变化,提供快速访问路径。适应数据的动态变化,提供快速访问路径。qq 传统文件系统服务对象特殊,用途单一,共享传统文件系统服务对象特殊,用
22、途单一,共享传统文件系统服务对象特殊,用途单一,共享传统文件系统服务对象特殊,用途单一,共享度低;数据库中的文件供所有用户共享,有些用度低;数据库中的文件供所有用户共享,有些用度低;数据库中的文件供所有用户共享,有些用度低;数据库中的文件供所有用户共享,有些用途甚至是不可知的。途甚至是不可知的。途甚至是不可知的。途甚至是不可知的。qq 减少减少减少减少DBMSDBMSDBMSDBMS对对对对OSOSOSOS的依赖,提高的依赖,提高的依赖,提高的依赖,提高DBMSDBMSDBMSDBMS的可移植性。的可移植性。的可移植性。的可移植性。qq 传统文件系统一旦建立以后,数据量比较稳定;传统文件系统一
23、旦建立以后,数据量比较稳定;传统文件系统一旦建立以后,数据量比较稳定;传统文件系统一旦建立以后,数据量比较稳定;数据库中文件的数据量变化较大。数据库中文件的数据量变化较大。数据库中文件的数据量变化较大。数据库中文件的数据量变化较大。5.3.3 5.3.3 5.3.3 5.3.3 文件的基本类型文件的基本类型文件的基本类型文件的基本类型 不同类型的访问各有其使用的文件结构和不同类型的访问各有其使用的文件结构和存取路径。存取路径。DBMSDBMS通常提供多种文件结构,供数通常提供多种文件结构,供数据库设计者选用。据库设计者选用。1.1.堆文件(堆文件(heap fileheap file)2.2.
24、直接文件(直接文件(direct filedirect file)3.3.索引文件(索引文件(indexed fileindexed file)n n最简单、最早使用的文最简单、最早使用的文最简单、最早使用的文最简单、最早使用的文件结构。记录按其插入件结构。记录按其插入件结构。记录按其插入件结构。记录按其插入的先后次序存放(的先后次序存放(的先后次序存放(的先后次序存放(所有所有所有所有记录在物理上不一定相记录在物理上不一定相记录在物理上不一定相记录在物理上不一定相邻接邻接邻接邻接)n n堆文件插入容易、查找堆文件插入容易、查找堆文件插入容易、查找堆文件插入容易、查找不方便(不方便(不方便(不
25、方便(所提供的唯一所提供的唯一所提供的唯一所提供的唯一存取路径就是顺序搜索存取路径就是顺序搜索存取路径就是顺序搜索存取路径就是顺序搜索)堆堆文文件件记录记录1 1记录记录6 6记录记录2 2记录记录1 1记录记录2 2记录记录3 3记录记录5 5记录记录6 61.1.1.1.堆文件堆文件堆文件堆文件记录记录4 4n n适于访问全部或相当多的记录,对于其它类访问效率适于访问全部或相当多的记录,对于其它类访问效率适于访问全部或相当多的记录,对于其它类访问效率适于访问全部或相当多的记录,对于其它类访问效率较低。较低。较低。较低。(设文件记录数为(设文件记录数为(设文件记录数为(设文件记录数为N N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 存储 结构
限制150内