Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL: 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 and capability inherent in SQL and that translates into writing more code than they need to write, more complex code than is needed, and ultimately lower productivity.
Thinking in sets reveals the conceptual shift these programmers need to make. Through detailed examples and clear explanations, Joe enables readers to conceptualize database problems as rooted in sets and solvable through declarative programming techniques. The book focuses on three table-based SQL techniques that not only demonstrate this set characteristic of SQL, but also dramatically simplify application development. For each table type--auxiliary, temporal and virtual--Joe teaches not only the new kind of thinking required to use them effectively but also how to choose the right table technique to apply and why.
* Joe brings you comprehensive treatment of SQL programming techniques that make use of tables rather than procedural code.
* The focus on real world examples and Joe's creative teaching style enable SQL programmers to conquer a common weak spot, while learning these new tools.
* A unique contribution, many techniques which are novel and unavailable elsewhere.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Chapter 1 SQL is Declarative Not Procedural
Chapter 2 Hardware Data Volume and Maintaining Databases
Chapter 3 Data Access and Records
Chapter 4 Lookup Tables
Chapter 5 Auxiliary Tables
Chapter 6 Views
Chapter 7 Virtual Tables
Chapter 8 Complicated Functions via Tables
Chapter 11 Thinking in SQL
Chapter 12 Group Characteristics
Chapter 13 Turning Specifications into Code
Chapter 14 Using Procedure and Function Calls
Chapter 15 Numbering Rows
Chapter 16 Keeping Computed Data
Chapter 17 Triggers for Constraints
Chapter 18 Procedural and Data Driven Solutions
Other editions - View all
algorithm base table CASCADE CHAR(l CHECK constraint check digit CHECK OPTION clause COBOL col_x compute constraints CREATE TABLE CREATE VIEW cursor data element data type data warehouse database DECLARE DEFAULT deﬁned deﬁnition DELETE derived table disk Don Quixote Dorothy Gale end_date error example EXISTS SELECT ﬁeld ﬁle ﬁle system ﬁnd ﬁrst ﬁve Foobar FOREIGN KEY GROUP gtin guest_name Identiﬁes INSERT INTEGER NOT NULL INTERVAL look lookup table media_type Mediumpay nested NULL CHECK NULL PRIMARY KEY OLAP OLTP parameter partition perfect hashing function Personnel physical predicate problem procedural code programming language proprietary query RDBMS recursive REPLACE result rules schema SELECT DISTINCT seq_nbr Sequence sequential set-oriented simple skill_code4 speciﬁcation SQL engine SQL product SQL programmer SQL Server Standard SQL start_date statement storage string syntax table expression tape temporal temporary tables TIMESTAMP trigger unique UPDATE user_id VARCHAR zero