Consider below statements – (I) Each non-leaf node in B⁺ tree has between…
2024
Consider below statements – (I) Each non-leaf node in B⁺ tree has between ⌈n/2⌉ and n children, where n is fixed for a particular tree. (II) The search key of a clustering index is always primary key. (III) Secondary indices must be dense. (IV) In a dense index, an index entry appears for only some of the search-key values. Which of the above statements are true?
- A.
I and IV
- B.
II and III
- C.
I and III
- D.
I and II
- E.
Question not attempted
Attempted by 200 students.
Show answer & explanation
Correct answer: C
In a B⁺ tree of order n, every non-leaf node must have between ⌈n/2⌉ and n children so the tree stays height-balanced. An index is dense when it stores one index entry for every distinct search-key value in the file, and sparse when it stores entries for only some of those values; a sparse index is possible only when the file is physically sorted on that key. A clustering index is the index built on the attribute that fixes this physical ordering — that attribute need not be the primary key — while a secondary index is built on an attribute that does not fix the physical order, so it can never skip entries and must always be dense.
Statement (I): a non-leaf B⁺-tree node's child count is bounded between ⌈n/2⌉ and n by the standard node-fanout rule, so statement (I) is true.
Statement (II): a clustering index's search key is whichever attribute fixes the file's physical order, and that attribute is not required to be the primary key, so statement (II) is false.
Statement (III): a secondary index cannot rely on the file being sorted by its own key, so it must carry an entry for every search-key value — matching the dense-index requirement — so statement (III) is true.
Statement (IV): carrying an entry for only some of the search-key values is the definition of a sparse index, not a dense one, so statement (IV) is false.
Cross-check: among the four offered pairs, only 'I and III' pairs two true statements — 'I and IV' and 'I and II' each pair a true statement with a false one, and 'II and III' pairs a false statement with a true one — so 'I and III' is the only internally consistent pair.
Therefore, statements (I) and (III) are true, and the correct option is 'I and III'.