Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

B-tree index structure in DBMS Theory - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a B-tree index structure in databases?
A B-tree index is a balanced tree data structure that helps databases find data quickly by keeping data sorted and allowing fast searches, insertions, and deletions.
Click to reveal answer
beginner
Why is a B-tree index called 'balanced'?
Because all leaf nodes are at the same depth, ensuring that the time to find any data is similar, which keeps search times fast and predictable.
Click to reveal answer
intermediate
How does a B-tree index improve database search performance?
It reduces the number of disk reads by organizing data in a tree where each node can have many children, so the database can skip large parts of data and find the target quickly.
Click to reveal answer
intermediate
What happens when a node in a B-tree index becomes full?
The node splits into two nodes and the middle key moves up to the parent node, keeping the tree balanced and maintaining efficient search times.
Click to reveal answer
beginner
Name two advantages of using a B-tree index in a database.
1. Fast data retrieval even with large datasets. 2. Maintains balance automatically to keep operations efficient.
Click to reveal answer
What does the 'B' in B-tree stand for?
ABinary
BBalanced
CBlock
DBasic
In a B-tree, what happens when a node is full and a new key needs to be inserted?
AThe node splits and the middle key moves up
BThe node is deleted
CThe tree becomes unbalanced
DThe key is ignored
Which of the following is a key benefit of using a B-tree index?
AFaster random data access
BSlower insertions
CFaster sequential scans
DNo need for disk storage
How are keys stored in a B-tree node?
AIn random order
BOnly the largest key
CSorted order
DOnly the smallest key
What is the main reason B-trees are used in databases instead of binary trees?
AB-trees use less memory
BB-trees are easier to implement
CBinary trees are unbalanced by design
DB-trees handle large blocks of data efficiently
Explain how a B-tree index keeps data balanced and why this is important for database performance.
Think about how the tree structure affects search time.
You got /4 concepts.
    Describe the process that occurs when inserting a new key into a full node in a B-tree index.
    Focus on how the tree adjusts to keep balance.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a B-tree index in a database?
      easy
      A. To speed up data searching by organizing data in a balanced tree
      B. To store data in a flat file for easy access
      C. To encrypt data for security
      D. To backup data automatically

      Solution

      1. Step 1: Understand what a B-tree index does

        A B-tree index organizes data in a balanced tree structure to make searching faster.
      2. Step 2: Compare options with B-tree purpose

        Only To speed up data searching by organizing data in a balanced tree describes speeding up search using a balanced tree, which matches B-tree index use.
      3. Final Answer:

        To speed up data searching by organizing data in a balanced tree -> Option A
      4. Quick Check:

        B-tree index = speed up search [OK]
      Hint: B-tree indexes speed up search by balanced tree structure [OK]
      Common Mistakes:
      • Confusing B-tree with encryption or backup
      • Thinking B-tree stores data flatly
      • Assuming B-tree slows down all operations
      2. Which of the following is the correct way to create a B-tree index on column name in SQL?
      easy
      A. CREATE INDEX idx_name BY BTREE ON table_name (name);
      B. CREATE BTREE INDEX idx_name ON table_name (name);
      C. CREATE INDEX idx_name ON table_name (name);
      D. CREATE INDEX idx_name USING BTREE ON table_name (name);

      Solution

      1. Step 1: Recall SQL syntax for B-tree index creation

        The standard syntax to specify B-tree index is using USING BTREE clause.
      2. Step 2: Check each option's syntax

        CREATE INDEX idx_name USING BTREE ON table_name (name); uses CREATE INDEX idx_name USING BTREE ON table_name (name); which is correct. CREATE INDEX idx_name ON table_name (name); creates an index but does not specify B-tree explicitly. Options B and D have invalid syntax.
      3. Final Answer:

        CREATE INDEX idx_name USING BTREE ON table_name (name); -> Option D
      4. Quick Check:

        Correct syntax includes USING BTREE [OK]
      Hint: Use 'USING BTREE' clause to specify B-tree index in SQL [OK]
      Common Mistakes:
      • Omitting USING BTREE when required
      • Using BY or incorrect keywords
      • Assuming default index is always B-tree
      3. Given a B-tree index on column age, what will be the result of the query:
      SELECT * FROM users WHERE age BETWEEN 20 AND 30;?
      medium
      A. The query will scan the entire table without using the index
      B. The query will use the B-tree index to quickly find rows with age between 20 and 30
      C. The query will return an error because BETWEEN is not supported with B-tree
      D. The query will only return rows where age is exactly 20 or 30

      Solution

      1. Step 1: Understand B-tree index support for range queries

        B-tree indexes support range queries efficiently, such as BETWEEN.
      2. Step 2: Analyze query behavior with B-tree index

        The query uses BETWEEN 20 AND 30, so the B-tree index will help find all rows in that range quickly.
      3. Final Answer:

        The query will use the B-tree index to quickly find rows with age between 20 and 30 -> Option B
      4. Quick Check:

        B-tree supports range queries = fast search [OK]
      Hint: B-tree indexes speed up range queries like BETWEEN [OK]
      Common Mistakes:
      • Thinking B-tree only supports exact matches
      • Assuming BETWEEN causes errors
      • Believing full table scan always happens
      4. A developer created a B-tree index on column salary but notices queries using salary are still slow. Which of the following is a likely cause?
      medium
      A. The index was created but the column has many NULL values and queries filter on NULL
      B. The B-tree index automatically speeds up all queries regardless of conditions
      C. The database does not support B-tree indexes
      D. The index was created on a different column by mistake

      Solution

      1. Step 1: Identify why B-tree index might not help

        If the column has many NULL values and queries filter on NULL, B-tree index may not be used effectively.
      2. Step 2: Evaluate other options

        The B-tree index automatically speeds up all queries regardless of conditions is false because indexes don't speed up all queries automatically. The database does not support B-tree indexes is unlikely if B-tree index was created. The index was created on a different column by mistake is possible but less likely than D given the scenario.
      3. Final Answer:

        The index was created but the column has many NULL values and queries filter on NULL -> Option A
      4. Quick Check:

        NULL values can reduce B-tree index effectiveness [OK]
      Hint: NULL values can prevent B-tree index use in queries [OK]
      Common Mistakes:
      • Assuming index always speeds up queries
      • Ignoring NULL value impact
      • Believing database lacks B-tree support without checking
      5. You have a large table with millions of rows and want to optimize queries that search for customers by last name prefix (e.g., names starting with 'Sm'). How can a B-tree index help, and what is a limitation you must consider?
      hard
      A. B-tree index cannot help prefix searches; use hash index instead
      B. B-tree index speeds up prefix searches and has no impact on insert speed
      C. B-tree index can speed up prefix searches, but it may slow down insert operations
      D. B-tree index only works for numeric columns, so it cannot help here

      Solution

      1. Step 1: Understand B-tree index support for prefix searches

        B-tree indexes support prefix searches efficiently by traversing the tree to matching keys.
      2. Step 2: Consider performance trade-offs

        While B-tree indexes speed up reads, they can slow down insert and update operations because the tree must be maintained.
      3. Final Answer:

        B-tree index can speed up prefix searches, but it may slow down insert operations -> Option C
      4. Quick Check:

        B-tree = fast prefix search + slower inserts [OK]
      Hint: B-tree helps prefix search but slows inserts due to tree maintenance [OK]
      Common Mistakes:
      • Thinking B-tree can't do prefix searches
      • Ignoring insert/update slowdown
      • Believing B-tree only works on numbers