The GATE Grind

GATE 2023 CS – Question 62

Databases · File Organization and Indexing (B and B+ Trees) · 2 marks · Numerical answer

Consider a database of fixed-length records, stored as an ordered file. The database has 25,000 records, with each record being 100 bytes, of which the primary key occupies 15 bytes. The data file is block-aligned in that each data record is fully contained within a block. The database is indexed by a primary index file, which is also stored as a block-aligned ordered file. Suppose the block size of the file system is 1024 bytes, and a pointer to a block occupies 5 bytes. The system uses binary search on the index file to search for a record with a given key. You may assume that a binary search on an index file of b blocks takes $\log_2 b$ block accesses in the worst case. Given a key, the number of block accesses required to identify the block in the data file that may contain a record with the key, in the worst case, is ______.

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: 6

Explanation

Records per block = ⌊1024/100⌋ = 10, so the data file has 2500 blocks. Each index entry is 15+5 = 20 bytes, so a block holds 51 entries, and the index needs ⌈2500/51⌉ = 50 blocks. Binary search takes ⌈log₂50⌉ = 6 accesses.