Joe Celko's thinking in sets auxiliary, temporal, and virtual tables in SQL
Joe Celko has looked deep into the code of novice SQL programmers and found a consistent and troubling pattern. These programmers have not changed their approach from writing code for a procedural language, like C, to a declarative language, like SQL. As a result they are not fully using the power a...
Autor principal: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Amsterdam ; Boston :
Elsevier / Morgan Kaufmann
c2008.
|
Edición: | 1st edition |
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/alma991009626933606719 |
Tabla de Contenidos:
- Front Cover; Joe Celko's Thinking in Sets; Copyright Page; CONTENTS; Preface; Chapter 1. SQL is Declarative, Not Procedural; 1.1 Different Programming Models; 1.2 Different Data Models; 1.3 Tables as Entities; 1.4 Tables as Relationships; 1.5 Statements Are Not Procedures; 1.6 Molecular, Atomic, and Subatomic Data Elements; Chapter 2. Hardware, Data Volume, and Maintaining Databases; 2.1 Parallelism; 2.2 Cheap Main Storage; 2.3 Solid-State Disk; 2.4 Cheaper Secondary and Tertiary Storage; 2.5 The Data Changed; 2.6 The Mindset Has Not Changed; Chapter 3. Data Access and Records
- 3.1 Sequential Access3.2 Indexes; 3.3 Hashing; 3.4 Bit Vector Indexes; 3.5 Parallel Access; 3.6 Row and Column Storage; 3.7 JOIN Algorithms; Chapter 4. Lookup Tables; 4.1 Data Element Names; 4.2 Multiparameter Lookup Tables; 4.3 Constants Table; 4.4 OTLT or MUCK Table Problems; 4.5 Definition of a Proper Table; Chapter 5. Auxiliary Tables; 5.1 Sequence Table; 5.2 Permutations; 5.3 Functions; 5.4 Encryption via Tables; 5.5 Random Numbers; 5.6 Interpolation; Chapter 6. Views; 6.1 Mullins VIEW Usage Rules; 6.2 Updatable and Read-Only VIEWs; 6.3 Types of VIEWs; 6.4 Modeling Classes with Tables
- 6.5 How VIEWs Are Handled in the Database System6.6 In-Line Text Expansion; 6.7 WITH CHECK OPTION Clause; 6.8 Dropping VIEWs; 6.9 Outdated Uses for VIEWs; Chapter 7. Virtual Tables; 7.1 Derived Tables; 7.2 Common Table Expressions; 7.3 Temporary Tables; 7.4 The Information Schema; Chapter 8. Complicated Functions via Tables; 8.1 Functions without a Simple Formula; 8.2 Check Digits via Tables; 8.3 Classes of Algorithms; 8.4 Declarations, Not Functions, Not Procedures; 8.5 Data Mining for Auxiliary Tables; Chapter 9. Temporal Tables; 9.1 The Nature of Time; 9.2 The ISO Half-Open Interval Model
- 9.3 State Transition Tables9.4 Consolidating Intervals; 9.5 Calendar Tables; 9.6 History Tables; Chapter 10. Scrubbing Data with Non-1NF Tables; 10.1 Repeated Groups; 10.2 Designing Scrubbing Tables; 10.3 Scrubbing Constraints; 10.4 Calendar Scrubs; 10.5 String Scrubbing; 10.6 Sharing SQL Data; 10.7 Extract, Transform, and Load Products; Chapter 11. Thinking in SQL; 11.1 Warm-up Exercises; 11.2 Heuristics; 11.3 Do Not Use BIT or BOOLEAN Flags in SQL; Chapter 12. Group Characteristics; 12.1 Grouping Is Not Equality; 12.2 Using Groups without Looking Inside; 12.3 Grouping over Time
- 12.4 Other Tricks with HAVING Clauses12.5 Groupings, Rollups, and Cubes; 12.6 The WINDOW Clause; Chapter 13. Turning Specifications into Code; 13.1 Signs of Bad SQL; 13.2 Methods of Attack; 13.3 Translating Vague Specifications; Chapter 14. Using Procedure and Function Calls; 14.1 Clearing out Spaces in a String; 14.2 The PRD( ) Aggregate Function; 14.3 Long Parameter Lists in Procedures and Functions; Chapter 15. Numbering Rows; 15.1 Procedural Solutions; 15.2 OLAP Functions; 15.3 Sections; Chapter 16. Keeping Computed Data; 16.1 Procedural Solution; 16.2 Relational Solution
- 16.3 Other Kinds of Computed Data