The art of SQL

For all the buzz about trendy IT techniques, data processing is still at the core of our systems, especially now that enterprises all over the world are confronted with exploding volumes of data. Database performance has become a major headache, and most IT departments believe that developers shoul...

Descripción completa

Detalles Bibliográficos
Autor principal: Faroult, Stéphane (-)
Otros Autores: Robson, Peter
Formato: Libro electrónico
Idioma:Inglés
Publicado: Sebastopol, California : O'Reilly 2006.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627199906719
Tabla de Contenidos:
  • The Art of SQL; Audience; Assumptions This Book Makes; Contents of This Book; Conventions Used in This Book; Using Code Examples; Comments and Questions; Safari® Enabled; Acknowledgments; 1. Laying Plans; 1.2. The Importance of Being Normal; 1.2.2. Step 2: Check Dependence on the Whole Key; 1.2.3. Step 3: Check Attribute Independence; 1.3. To Be or Not to Be, or to Be Null; 1.4. Qualifying Boolean Columns; 1.5. Understanding Subtypes; 1.6. Stating the Obvious; 1.7. The Dangers of Excess Flexibility; 1.8. The Difficulties of Historical Data; 1.9. Design and Performance; 1.10. Processing Flow
  • 1.11. Centralizing Your Data1.12. System Complexity; 1.13. The Completed Plans; 2. Waging War; 2.2. Stable Database Connections; 2.3. Strategy Before Tactics; 2.4. Problem Definition Before Solution; 2.5. Stable Database Schema; 2.6. Operations Against Actual Data; 2.7. Set Processing in SQL; 2.8. Action-Packed SQL Statements; 2.9. Profitable Database Accesses; 2.10. Closeness to the DBMS Kernel; 2.11. Doing Only What Is Required; 2.12. SQL Statements Mirror Business Logic; 2.13. Program Logic into Queries; 2.14. Multiple Updates at Once; 2.15. Careful Use of User-Written Functions
  • 2.16. Succinct SQL2.17. Offensive Coding with SQL; 2.18. Discerning Use of Exceptions; 3. Tactical Dispositions; 3.2. Indexes and Content Lists; 3.3. Making Indexes Work; 3.4. Indexes with Functions and Conversions; 3.5. Indexes and Foreign Keys; 3.6. Multiple Indexing of the Same Columns; 3.7. System-Generated Keys; 3.8. Variability of Index Accesses; 4. Maneuvering; 4.1.2. SQL and the Optimizer; 4.1.3. Limits of the Optimizer; 4.2. Five Factors Governing the Art of SQL; 4.2.2. Criteria Defining the Result Set; 4.2.3. Size of the Result Set; 4.2.4. Number of Tables
  • 4.2.4.2. Complex queries and complex views4.2.5. Number of Other Users; 4.3. Filtering; 4.3.2. Evaluation of Filtering Conditions; 4.3.2.2. More Batmobile purchases; 4.3.2.3. Lessons to be learned from the Batmobile trade; 4.3.3. Querying Large Quantities of Data; 4.3.4. The Proportions of Retrieved Data; 5. Terrain; 5.2. The Conflicting Goals; 5.3. Considering Indexes as Data Repositories; 5.4. Forcing Row Ordering; 5.5. Automatically Grouping Data; 5.5.2. Data-Driven Partitioning; 5.6. The Double-Edged Sword of Partitioning; 5.7. Partitioning and Data Distribution
  • 5.8. The Best Way to Partition Data5.9. Pre-Joining Tables; 5.10. Holy Simplicity; 6. The Nine Situations; 6.1.2. Query Efficiency and Index Usage; 6.1.3. Data Dispersion; 6.1.4. Criterion Indexability; 6.2. Small Result Set, Indirect Criteria; 6.3. Small Intersection of Broad Criteria; 6.4. Small Intersection, Indirect Broad Criteria; 6.5. Large Result Set; 6.6. Self-Joins on One Table; 6.7. Result Set Obtained by Aggregation; 6.8. Simple or Range Searching on Dates; 6.8.1.2. Using OLAP functions; 6.8.2. Many Historical Values Per Item; 6.8.3. Current Values
  • 6.9. Result Set Predicated on Absence of Data