File Structures 21IS742
Course Code: 21IS742
Credits: 03
CIE Marks: 50
SEE Marks: 50
Total Marks: 100
Exam Hours: 03
Total Hours of Pedagogy: 40H
Teaching Hours/Weeks: [L:T:P:S] 3:0:0:0
Introduction: File Structures: The Heart of the file structure Design, A Short History of File Structure Design, A Conceptual Toolkit; Fundamental File Operations: Physical Files and Logical Files, Opening
Files, Closing Files, Reading and Writing, Seeking, Special Characters, The Unix Directory Structure,
Physical devices and Logical Files, File-related Header Files, UNIX file System Commands; Secondary
Storage and System Software: Disks
Fundamental File Structure Concepts, Managing Files of Records: Field and Record Organization, Using Classes to Manipulate Buffers, Using Inheritance for Record Buffer Classes, Managing Fixed Length, Fixed Field Buffers, An Object-Oriented Class for Record Files, Record Access, more about Record Structures, Encapsulating Record Operations in a Single Class, File Access and File Organization.
Organization of Files for Performance, Indexing: Data Compression, Reclaiming Space in files, Internal Sorting and Binary Searching, Key sorting; What is an Index? A Simple Index for Entry-Sequenced File, Using Template Classes in C++ for Object I/O, Object-Oriented support for Indexed, Entry-Sequenced Files of Data Objects, Indexes that are too large to hold in Memory, Indexing to provide access by Multiple keys, Retrieval Using Combinations of Secondary Keys, Improving the Secondary Index structure: Inverted Lists, Selective indexes, Binding.
Co-sequential Processing and the Sorting of Large Files: A Model for Implementing Co-Sequential
Processes, Application of the Model to a General Ledger Program, Extension of the Model to include
Multiway Merging, A Second Look at Sorting in Memory, Merging as a Way of Sorting Large Files on Disk.
Multi-Level Indexing and B-Trees: The invention of B-Tree, Statement of the problem, Indexing with Binary Search Trees; Multi-Level Indexing.
Multi-Level Indexing and B-Trees: B-Trees, Example of Creating a B-Tree, An Object-Oriented
Representation of B-Trees, B-Tree Methods; Nomenclature, Formal Definition of B-Tree Properties,
Worst-case Search Depth, Deletion, Merging and Redistribution, Redistribution during insertion; B*
Trees, Buffering of pages; Virtual B-Trees; Variable-length Records and keys.
Indexed Sequential File Access and Prefix B + Trees: Indexed Sequential Access, maintaining a
Sequence Set, adding a Simple Index to the Sequence Set, The Content of the Index: Separators Instead of
Keys, The Simple Prefix B+ Tree and its maintenance, Index Set Block Size, Internal Structure of Index Set
Blocks: A Variable-order B- Tree, Loading a Simple Prefix B+ Trees, B-Trees, B+ Trees and Simple Prefix
B+ Trees in Perspective.
Hashing: Introduction, A Simple Hashing Algorithm, Hashing Functions and Record Distribution, how
much Extra Memory should be used? Collision resolution by progressive overflow, Buckets, Making
deletions, Other collision resolution techniques, Patterns of record access.
Extendible Hashing: How Extendible Hashing Works, Implementation, Deletion, Extendible Hashing
Performance, Alternative Approaches.