SlideShare a Scribd company logo
1 of 34
B-TREES AND B+-TREES
JayYim
CS 157B
Dr. Lee
Preview
 B-Tree Indexing
 B-Tree
 B-Tree Characteristics
 B-Tree Example
 B+-Tree
 B+-Tree Characteristics
 B+-Tree Example
B-Tree Index
 Standard use index in relational databases in a B-Tree index.
 Allows for rapid tree traversal searching through an upside-
down tree structure
 Reading a single record from a very large table using a B-
Tree index, can often result in a few block reads—even when
the index and table are millions of blocks in size.
 Any index structure other than a B-Tree index is subject to
overflow.
 Overflow is where any changes made to tables will not have records
added into the original index structure, but rather tacked on the end.
What is a B-Tree?
 B-tree is a specialized multiway tree designed
especially for use on disk.
 B-Tree consists of a root node, branch nodes
and leaf nodes containing the indexed field
values in the ending (or leaf) nodes of the
tree.
B-Tree Characteristics
 In a B-tree each node may contain a large number of keys
 B-tree is designed to branch out in a large number of
directions and to contain a lot of keys in each node so that
the height of the tree is relatively small
 Constraints that tree is always balanced
 Space wasted by deletion, if any, never becomes excessive
 Insert and deletions are simple processes
 Complicated only under special circumstances
-Insertion into a node that is already full or a deletion from a node
makes it less then half full
Characteristics of a B-Tree of
Order P
 Within each node, K1 < K2 < .. < Kp-1
 Each node has at most p tree pointer
 Each node, except the root and leaf nodes, has at
least ceil(p/2) tree pointers,The root node has at
least two tree pointers unless it is the only node
in the tree.
 All leaf nodes are at the same level. Leaf node
have the same structure as internal nodes except
that all of their tree pointer Pi are null.
B-Tree Insertion
1) B-tree starts with a single root node (which is also a leaf node) at
level 0.
2) Once the root node is full with p – 1 search key values and when
attempt to insert another entry in the tree, the root node splits
into two nodes at level 1.
3) Only the middle value is kept in the root node, and the rest of the
values are split evenly between the other two nodes.
4) When a nonroot node is full and a new entry is inserted into it, that
node is split into two nodes at the same level, and the middle entry
is moved to the parent node along with two pointers to the new
split nodes.
5) If the parent node is full, it is also split.
6) Splitting can propagate all the way to the root node, creating a
new level if the root is split.
B-Tree Deletion
1) If deletion of a value causes a node to be less
than half full, it is combined with it neighboring
nodes, and this can also propagate all the way
to the root.
- Can reduce the number of tree levels.
*Shown by analysis and simulation that, after numerous random insertions and
deletions on a B-tree, the nodes are approximately 69 percent full when
the number of values in the tree stabilizes. If this happens , node splitting
and combining will occur only rarely, so insertion and deletion become
quite efficient.
B-tree of Order 5 Example
 All internal nodes have at least ceil(5 / 2) = ceil(2.5) = 3 children (and
hence at least 2 keys), other then the root node.
 The maximum number of children that a node can have is 5 (so that 4 is
the maximum number of keys)
 each leaf node must contain at least 2 keys
B-Tree Order 5 Insertion
 Originally we have an empty B-tree of order 5
 Want to insert C N G A H E K Q M FW LT Z D P R XY S
 Order 5 means that a node can have a maximum of 5
children and 4 keys
 All nodes other than the root must have a minimum of 2 keys
 The first 4 letters get inserted into the same node
B-Tree Order 5 Insertion Cont.
 When we try to insert the H, we find no room in this node,
so we split it into 2 nodes, moving the median item G up
into a new root node.
B-Tree Order 5 Insertion Cont.
 Inserting E, K, and Q proceeds without requiring
any splits
B-Tree Order 5 Insertion Cont.
 Inserting M requires a split
B-Tree Order 5 Insertion Cont.
 The letters F,W, L, andT are then added without
needing any split
B-Tree Order 5 Insertion Cont.
 When Z is added, the rightmost leaf must be split.The
median itemT is moved up into the parent node
B-Tree Order 5 Insertion Cont.
 The insertion of D causes the leftmost leaf to be split. D happens to be
the median key and so is the one moved up into the parent node.
 The letters P, R, X, andY are then added without any need of splitting
B-Tree Order 5 Insertion Cont.
 Finally, when S is added, the node with N, P, Q, and R splits, sending
the median Q up to the parent.
 The parent node is full, so it splits, sending the median M up to form
a new root node.
B-Tree Order 5 Deletion
 Initial B-Tree
B-Tree Order 5 Deletion Cont.
 Delete H
 Since H is in a leaf and the leaf has more than the
minimum number of keys, we just remove it.
B-Tree Order 5 Deletion Cont.
 DeleteT.
 SinceT is not in a leaf, we find its successor (the next item in ascending order),
which happens to beW.
 Move W up to replace theT.That way, what we really have to do is to deleteW
from the leaf .
B+- Tree Characteristics
 Data records are only stored in the leaves.
 Internal nodes store just keys.
 Keys are used for directing a search to the proper
leaf.
 If a target key is less than a key in an internal node,
then the pointer just to its left is followed.
 If a target key is greater or equal to the key in the
internal node, then the pointer to its right is
followed.
 B+Tree combines features of ISAM (Indexed
Sequential Access Method) and BTrees.
B+- Tree Characteristics
Cont.
 Implemented on disk, it is likely that the
leaves contain key, pointer pairs where the
pointer field points to the record of data
associated with the key.
 allows the data file to exist separately from the B+
tree, which functions as an "index" giving an
ordering to the data in the data file.
B+- Tree Characteristics Cont.
 Very Fast Searching
 Insertion and deletion are expensive.
Formula n-order B+ tree with a height
of h
 Maximum number of keys is nh
 Minimum number of keys is 2(n / 2)h − 1
B+ tree of order 200 Example
 Leaves can each contain up to 199 keys
 Assuming that the root node has at least 100
children
 A 2 level B+ tree that meets these assumptions
can store about 9,900 records, since there are at
least 100 leaves, each containing at least 99
keys.
 A 3 level B+ tree of this type can store about 1
million keys. A 4 level B+ tree can store up to
about 100 million keys.
B+- Tree Structure
B+- Tree order 3 Insertion
 Insert value 5, 8, 1, 7
 Inserting value 5
 Since the node is empty, the value must be
placed in the leaf node.
B+- Tree Insertion Cont.
 Inserting value 8
 Since the node has room, we insert the new value.
B+- Tree Insertion Cont.
 Insert value 1
 Since the node is full, it must be split into two nodes.
 Each node is half full.
B+- Tree Insertion Cont.
 Inserting value 7.
B+- Tree Deletion
 InitialTree
B+- Tree Deletion Cont.
 DeleteValue 9
 Since the node is not less than half full, the tree is
correct.
B+- Tree Deletion Cont.
 Deleting value 8
 The node is less then half full, the values are redistributed
from the node on the left because it is full.
 The parent node is adjusted to reflect the change.
References
 Beginning Database Design By Gavin Powell
 Database System Concepts By Silberschatz,
Korth, Sudarshan
 Fundamentals of Database Systems By Elmasri,
Navathe
 http://dns.mec.ac.in/notes/ds/bp lus.htm
 http://cis.stvincent.edu/swd/btree/btree.html

More Related Content

Similar to 109885098-B-Trees-And-B-Trees in data structure.ppt

Similar to 109885098-B-Trees-And-B-Trees in data structure.ppt (20)

Data structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptxData structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptx
 
Jamal ppt b+tree dbms
Jamal ppt b+tree dbmsJamal ppt b+tree dbms
Jamal ppt b+tree dbms
 
B tree
B treeB tree
B tree
 
Furnish an Index Using the Works of Tree Structures
Furnish an Index Using the Works of Tree StructuresFurnish an Index Using the Works of Tree Structures
Furnish an Index Using the Works of Tree Structures
 
Trees in Data Structure
Trees in Data StructureTrees in Data Structure
Trees in Data Structure
 
Lecture 21_Trees - I.pptx
Lecture 21_Trees - I.pptxLecture 21_Trees - I.pptx
Lecture 21_Trees - I.pptx
 
B+ tree.pptx
B+ tree.pptxB+ tree.pptx
B+ tree.pptx
 
Balance tree. Short overview
Balance tree. Short overviewBalance tree. Short overview
Balance tree. Short overview
 
A41001011
A41001011A41001011
A41001011
 
Unit 3.ppt
Unit 3.pptUnit 3.ppt
Unit 3.ppt
 
Nikhat b+ trees ppt
Nikhat b+ trees pptNikhat b+ trees ppt
Nikhat b+ trees ppt
 
Makalah if2091-2011-020
Makalah if2091-2011-020Makalah if2091-2011-020
Makalah if2091-2011-020
 
Multiway Trees.ppt
Multiway Trees.pptMultiway Trees.ppt
Multiway Trees.ppt
 
chapter 6.1.pptx
chapter 6.1.pptxchapter 6.1.pptx
chapter 6.1.pptx
 
Tree.pptx
Tree.pptxTree.pptx
Tree.pptx
 
VCE Unit 05.pptx
VCE Unit 05.pptxVCE Unit 05.pptx
VCE Unit 05.pptx
 
Unit 6 tree
Unit   6 treeUnit   6 tree
Unit 6 tree
 
Trees
TreesTrees
Trees
 
Btree
BtreeBtree
Btree
 
Trees in data structure
Trees in data structureTrees in data structure
Trees in data structure
 

Recently uploaded

High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 

Recently uploaded (20)

High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 

109885098-B-Trees-And-B-Trees in data structure.ppt

  • 2. Preview  B-Tree Indexing  B-Tree  B-Tree Characteristics  B-Tree Example  B+-Tree  B+-Tree Characteristics  B+-Tree Example
  • 3. B-Tree Index  Standard use index in relational databases in a B-Tree index.  Allows for rapid tree traversal searching through an upside- down tree structure  Reading a single record from a very large table using a B- Tree index, can often result in a few block reads—even when the index and table are millions of blocks in size.  Any index structure other than a B-Tree index is subject to overflow.  Overflow is where any changes made to tables will not have records added into the original index structure, but rather tacked on the end.
  • 4. What is a B-Tree?  B-tree is a specialized multiway tree designed especially for use on disk.  B-Tree consists of a root node, branch nodes and leaf nodes containing the indexed field values in the ending (or leaf) nodes of the tree.
  • 5. B-Tree Characteristics  In a B-tree each node may contain a large number of keys  B-tree is designed to branch out in a large number of directions and to contain a lot of keys in each node so that the height of the tree is relatively small  Constraints that tree is always balanced  Space wasted by deletion, if any, never becomes excessive  Insert and deletions are simple processes  Complicated only under special circumstances -Insertion into a node that is already full or a deletion from a node makes it less then half full
  • 6. Characteristics of a B-Tree of Order P  Within each node, K1 < K2 < .. < Kp-1  Each node has at most p tree pointer  Each node, except the root and leaf nodes, has at least ceil(p/2) tree pointers,The root node has at least two tree pointers unless it is the only node in the tree.  All leaf nodes are at the same level. Leaf node have the same structure as internal nodes except that all of their tree pointer Pi are null.
  • 7. B-Tree Insertion 1) B-tree starts with a single root node (which is also a leaf node) at level 0. 2) Once the root node is full with p – 1 search key values and when attempt to insert another entry in the tree, the root node splits into two nodes at level 1. 3) Only the middle value is kept in the root node, and the rest of the values are split evenly between the other two nodes. 4) When a nonroot node is full and a new entry is inserted into it, that node is split into two nodes at the same level, and the middle entry is moved to the parent node along with two pointers to the new split nodes. 5) If the parent node is full, it is also split. 6) Splitting can propagate all the way to the root node, creating a new level if the root is split.
  • 8. B-Tree Deletion 1) If deletion of a value causes a node to be less than half full, it is combined with it neighboring nodes, and this can also propagate all the way to the root. - Can reduce the number of tree levels. *Shown by analysis and simulation that, after numerous random insertions and deletions on a B-tree, the nodes are approximately 69 percent full when the number of values in the tree stabilizes. If this happens , node splitting and combining will occur only rarely, so insertion and deletion become quite efficient.
  • 9. B-tree of Order 5 Example  All internal nodes have at least ceil(5 / 2) = ceil(2.5) = 3 children (and hence at least 2 keys), other then the root node.  The maximum number of children that a node can have is 5 (so that 4 is the maximum number of keys)  each leaf node must contain at least 2 keys
  • 10. B-Tree Order 5 Insertion  Originally we have an empty B-tree of order 5  Want to insert C N G A H E K Q M FW LT Z D P R XY S  Order 5 means that a node can have a maximum of 5 children and 4 keys  All nodes other than the root must have a minimum of 2 keys  The first 4 letters get inserted into the same node
  • 11. B-Tree Order 5 Insertion Cont.  When we try to insert the H, we find no room in this node, so we split it into 2 nodes, moving the median item G up into a new root node.
  • 12. B-Tree Order 5 Insertion Cont.  Inserting E, K, and Q proceeds without requiring any splits
  • 13. B-Tree Order 5 Insertion Cont.  Inserting M requires a split
  • 14. B-Tree Order 5 Insertion Cont.  The letters F,W, L, andT are then added without needing any split
  • 15. B-Tree Order 5 Insertion Cont.  When Z is added, the rightmost leaf must be split.The median itemT is moved up into the parent node
  • 16. B-Tree Order 5 Insertion Cont.  The insertion of D causes the leftmost leaf to be split. D happens to be the median key and so is the one moved up into the parent node.  The letters P, R, X, andY are then added without any need of splitting
  • 17. B-Tree Order 5 Insertion Cont.  Finally, when S is added, the node with N, P, Q, and R splits, sending the median Q up to the parent.  The parent node is full, so it splits, sending the median M up to form a new root node.
  • 18. B-Tree Order 5 Deletion  Initial B-Tree
  • 19. B-Tree Order 5 Deletion Cont.  Delete H  Since H is in a leaf and the leaf has more than the minimum number of keys, we just remove it.
  • 20. B-Tree Order 5 Deletion Cont.  DeleteT.  SinceT is not in a leaf, we find its successor (the next item in ascending order), which happens to beW.  Move W up to replace theT.That way, what we really have to do is to deleteW from the leaf .
  • 21. B+- Tree Characteristics  Data records are only stored in the leaves.  Internal nodes store just keys.  Keys are used for directing a search to the proper leaf.  If a target key is less than a key in an internal node, then the pointer just to its left is followed.  If a target key is greater or equal to the key in the internal node, then the pointer to its right is followed.  B+Tree combines features of ISAM (Indexed Sequential Access Method) and BTrees.
  • 22. B+- Tree Characteristics Cont.  Implemented on disk, it is likely that the leaves contain key, pointer pairs where the pointer field points to the record of data associated with the key.  allows the data file to exist separately from the B+ tree, which functions as an "index" giving an ordering to the data in the data file.
  • 23. B+- Tree Characteristics Cont.  Very Fast Searching  Insertion and deletion are expensive.
  • 24. Formula n-order B+ tree with a height of h  Maximum number of keys is nh  Minimum number of keys is 2(n / 2)h − 1
  • 25. B+ tree of order 200 Example  Leaves can each contain up to 199 keys  Assuming that the root node has at least 100 children  A 2 level B+ tree that meets these assumptions can store about 9,900 records, since there are at least 100 leaves, each containing at least 99 keys.  A 3 level B+ tree of this type can store about 1 million keys. A 4 level B+ tree can store up to about 100 million keys.
  • 27. B+- Tree order 3 Insertion  Insert value 5, 8, 1, 7  Inserting value 5  Since the node is empty, the value must be placed in the leaf node.
  • 28. B+- Tree Insertion Cont.  Inserting value 8  Since the node has room, we insert the new value.
  • 29. B+- Tree Insertion Cont.  Insert value 1  Since the node is full, it must be split into two nodes.  Each node is half full.
  • 30. B+- Tree Insertion Cont.  Inserting value 7.
  • 31. B+- Tree Deletion  InitialTree
  • 32. B+- Tree Deletion Cont.  DeleteValue 9  Since the node is not less than half full, the tree is correct.
  • 33. B+- Tree Deletion Cont.  Deleting value 8  The node is less then half full, the values are redistributed from the node on the left because it is full.  The parent node is adjusted to reflect the change.
  • 34. References  Beginning Database Design By Gavin Powell  Database System Concepts By Silberschatz, Korth, Sudarshan  Fundamentals of Database Systems By Elmasri, Navathe  http://dns.mec.ac.in/notes/ds/bp lus.htm  http://cis.stvincent.edu/swd/btree/btree.html