Folk, Michael J.

File structures : an object-oriented approach with C++ / Michael J. Folk, Bill Zoellick, Greg Riccardi. - Reading, Massachusetts : Addison-Wesley, c1998. - xxiv, 724 p. : ill. ; 25 cm.

Table of Content

CHAPTER 1: Introduction to the Design and Specification of File Structure

1.1 The Heart of File Structure Design
1.2 A Short History of File Structure Design
1.3 A Conceptual Toolkit: File Structure Literacy
1.4 An Object-Oriented Toolkit: Making File Structure Usable
1.5 Using Objects in C++
Etc.

CHAPTER 2: Fundamental File Processing Operations

2.1 Physical Files and Logical Files
2.2 Opening Files
2.3 Closing Files
2.4 Reading and Writing
2.5 Seeking
Etc.

CHAPTER 3: Secondary Storage and System Software

3.1 The Organization of Disks
3.2 Estimating Capacities and Space Needs
3.3 Organizing Tracks By Sector
3.4 Organizing Tracks by Block
3.5 Nondata Overhead
Etc.

CHAPTER 4: Fundamental File Structure Concept

4.1 Field and Record Organization
4.2 Using Classes to Manipulate Buffers
4.3 Using Inheritance for Record Buffer Classes
4.4 Managing Fixed-Length, Fixed-Field Buffers
4.5 An Object-Oriented Class for Record Files
Etc.

CHAPTER 5: Managing Files of Records

5.1 Record Access
5.2 More about Record Structures
5.3 Encapsulating Record I/O Operations in a Single Class
5.4 File Access and File Organization
5.5 Beyond Record Structures

CHAPTER 6: Organizing Files For Performance

6.1 Data Compression
6.2 Reclaiming Space in Files
6.3 Finding Things Quickly: An Introduction to Internal Sorting and Binary Searching
6.4 Keysorting

CHAPTER 7: Indexing

7.1 What is an Index?
7.2 A Simple Index for Entry-Sequenced Files
7.3 Using Template Classes in C++ FOR oBJECT i/o
7.4 Object-Oriented Support for Indexed, Entry-Sequenced Files of Data Objects
7.5 Indexes that are Too Large to Hold in Memory
Etc.

CHAPTER 8: Consequential Processing and the Sorting of Large Files

8.1 An Object-Oriented Model for Implementing Consequential Processes
8.2 Application of the Model to a General ledger Program
8.3 Extension of the Model to Include Multi-way Merging
8.4 A Second Look at Sorting in Memory
8.5 Merging as a Way of Sorting Large Files on Disk
Etc.

CHAPTER 9: Multilevel Indexing and B-Trees

9.1 Introduction: The Invention of the B-Tree
9.2 Statement of the Problem
9.3 Indexing with Binary Search Trees
9.4 Multilevel Indexing, a Better Approach to Tree Indexes
9.5 B-Trees: Working up from the Bottom
Etc.

CHAPTER 10: Indexed Sequential File Access and Prefix B+ Trees

10.1 Indexed Sequential Access
10.2 Maintaining a Sequence
10.3 Adding a Simple Index to the Sequence Set
10.4 The Content ofthe Index: Seperators Instead of Keys
10.5 The Simple Prefix B+ Tree
Etc.

CHAPTER 11: Hashing

11.1 Introduction
11.2 A Simple Hashing Algorithm
11.3 Hashing Functions and Record Distributions
11.4 How Much Extra Memory Should be Used?
11.5 Collision Resolution by Progressive Overflow
Etc.

CHAPTER 12: Extendible Hashing

12.1 Introduction
12.2 How Extendible Hashing Works
12.3 Implementation
12.4 Deletion
12.5 Extendible Hashing Performance
Etc.


Includes bibliography p. 703-708 ._ . index (p.709-724)




0201874016

97031670


C++ (Computer program language)
File organization (Computer science)

005.741 / FOL