Relational databases and the current SQL standard are poorly suited to retrieval of hierarchical data. After demonstrating the problem, this chapter describes how two approaches to data denormalization can facilitate hierarchical data retrieval. Both approaches solve the problem of data retrieval, but as expected, come at the cost of difficult and potentially inconsistent data updates. This chapter then describes how we can address these update-related shortcomings via back-end (triggers) logic. Using a proper combination of denormalized data structure and back-end logic, we can have the best of both worlds: easy data retrieval and simple, consistent data updates.