Joe Celko's trees and hierarchies in SQL for smarties
The demand for SQL information and training continues to grow with the need for a database behind every website capable of offering web-based information queries. SQL is the de facto standard for database retrieval, and if you need to access, update, or utilize data in a modern database management...
Autor principal: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Waltham, MA :
Morgan Kaufmann
c2012.
|
Edición: | 2nd ed |
Colección: | The Morgan Kaufmann Series in Data Management Systems
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628015706719 |
Tabla de Contenidos:
- Front Cover; Joe Celko's: Trees and Hierarchies in Sql for Smarties; Copyright; Dedication; Contents; Introduction; Chapter 1: Graphs, Trees, and Hierarchies; 1.1 Defining Tree and Hierarchies; 1.1.1 Trees; 1.1.2 Properties of Hierarchies; 1.1.3 Types of Hierarchies; 1.2 Network Databases; 1.3 Modeling a Graph in a Program; 1.4 The Great Debate; 1.5 Note on Recursion; Graph Theory References; Chapter 2: Adjacency List Model; 2.1 The Simple Adjacency List Model; 2.2 The Simple Adjacency List Model Is Not Normalized; 2.2.1 UPDATE Anomalies; 2.2.2 INSERT Anomalies; 2.2.3 DELETE Anomalies
- 2.2.4 Structural Anomalies2.3 Fixing the Adjacency List Model; 2.3.1 Concerning the Use of NULLs; 2.4 Navigation in Adjacency List Model; 2.4.1 Cursors and Procedural Code; 2.4.2 Self-joins; 2.4.3 Finding a Subtree with Recursive CTE; 2.4.4 Finding a Subtree with Iterations; 2.4.5 Finding Ancestors; 2.5 Inserting Nodes in the Adjacency List Model; 2.6 Deleting Nodes in the Adjacency List Model; 2.6.1 Deleting an Entire Subtree; 2.6.2 Promoting a Subordinate after Deletion; 2.6.3 Promoting an Entire Subtree after Deletion; 2.7 Leveled Adjacency List Model; 2.7.1 Numbering Levels
- 2.7.2 Aggregation in the HierarchyChapter 3: Path Enumeration Models; 3.1 Finding the Depth of the Tree; 3.2 Searching for Subordinates; 3.3 Searching for Superiors; 3.4 Deleting a Subtree; 3.5 Deleting a Single Node; 3.6 Inserting a New Node; 3.7 Splitting up a Path String; 3.8 Microsoft SQL Server's HIERARCHYID; 3.9 Edge Enumeration Model; 3.10 XPath and XML; Chapter 4: Nested Sets Model of Hierarchies; 4.1 Finding Root and Leaf Nodes; 4.2 Finding Subtrees; 4.3 Finding Levels and Paths in a Tree; 4.3.1 Finding the Height of a Tree; 4.3.2 Finding Levels of Subordinates
- 4.3.3 Finding Oldest and Youngest Subordinates4.3.4 Finding a Path; 4.3.5 Finding Relative Position; 4.4 Functions in the Nested Sets Model; 4.5 Deleting Nodes and Subtrees; 4.5.1 Deleting Subtrees; 4.5.2 Deleting a Single Node; 4.5.3 Pruning a Set of Nodes from a Tree; 4.6 Closing Gaps in the Tree; 4.7 Summary Functions on Trees; 4.7.1 Iterative Parts Update; 4.7.2 Recursive Parts Update; 4.8 Inserting and Updating Trees; 4.8.1 Moving a Subtree within a Tree; 4.8.2 MoveSubtree Second Version; 4.8.3 Insertion of an Immediate Subtree; 4.8.4 Subtree Duplication; 4.8.5 Swapping Siblings
- 4.9 Converting Nested Sets Model to Adjacency List Model4.10 Converting Adjacency List Model to Nested Sets Model; 4.10.1 Stack Algorithm; 4.10.2 Ben-Gan's Recursive Common Table Expression (CTE); 4.11 Separation of Edges and Nodes; 4.11.1 Multiple Structures; 4.11.2 Multiple Nodes; 4.12 Comparing Nodes and Structure; 4.13 Nested Sets Code in Other Languages; Chapter 5: Frequent Insertion Trees; 5.1 The Data Type of (lft, rgt); 5.1.1 Exploiting the Full Range of Integers; 5.1.2 FLOAT , REAL, or Double Precision Numbers; 5.1.3 Numeric(p,s) or DECIMAL(p,s) Numbers
- 5.2 Computing the Spread to Use