Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Kindle Edition
Read instantly on your iPad, PC or Mac, no Kindle required
Buy Price: $16.17
Rent From: $8.91
 
 
   
Buy Used
Used - Good See details
$13.50 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $0.96 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems)
 
 

Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) [Paperback]

Joe Celko (Author)
2.7 out of 5 stars  See all reviews (7 customer reviews)

List Price: $29.95
Price: $20.36 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $9.59 (32%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 11 left in stock--order soon (more on the way).
Want it delivered Thursday, February 2? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition
Rent from
$16.17
$8.91
 
Paperback $20.36  

Book Description

0123741378 978-0123741370 February 5, 2008 1
Perfectly intelligent programmers often struggle when forced to work with SQL. Why? Joe Celko believes the problem lies with their procedural programming mindset, which keeps them from taking full advantage of the power of declarative languages. The result is overly complex and inefficient code, not to mention lost productivity.

This book will change the way you think about the problems you solve with SQL programs.. Focusing on three key table-based techniques, Celko reveals their power through detailed examples and clear explanations. As you master these techniques, you'll find you are able to conceptualize problems as rooted in sets and solvable through declarative programming. Before long, you'll be coding more quickly, writing more efficient code, and applying the full power of SQL

. Filled with the insights of one of the world's leading SQL authorities - noted for his knowledge and his ability to teach what he knows.

. Focuses on auxiliary tables (for computing functions and other values by joins), temporal tables (for temporal queries, historical data, and audit information), and virtual tables (for improved performance).

. Presents clear guidance for selecting and correctly applying the right table technique.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) + Joe Celko's SQL for Smarties, Fourth Edition: Advanced SQL Programming (The Morgan Kaufmann Series in Data Management Systems) + Joe Celko's Trees and Hierarchies in SQL for Smarties, (The Morgan Kaufmann Series in Data Management Systems)
Price For All Three: $102.21

Show availability and shipping details

Buy the selected items together


Editorial Reviews

About the Author

Joe Celko served 10 years on ANSI/ISO SQL Standards Committee and contributed to the SQL-89 and SQL-92 Standards. He has written over 900 columns in the computer trade and academic press, mostly dealing with data and databases. Joe has authored eight books on SQL for Morgan Kaufmann.


Product Details

  • Paperback: 384 pages
  • Publisher: Morgan Kaufmann; 1 edition (February 5, 2008)
  • Language: English
  • ISBN-10: 0123741378
  • ISBN-13: 978-0123741370
  • Product Dimensions: 9.1 x 7.5 x 0.9 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 2.7 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #551,714 in Books (See Top 100 in Books)

More About the Author

I was a member of the ANSI X3H2 Database Standards Committee from 1987 to 1997 and helped write the ANSI/ISO SQL-89 and SQL-92 Standards. I have eight books and have written over 800 columns in the computer trade and academic press, mostly dealing with data and databases.

I live in Austin,TX. When I am not writing, I am consulting, speaking at conferences, teaching SQL training classes anywhere on Earth or beating up newbies in SQL Newsgroups.

The rumor that I own only one black suit that I have worn for 30 years is false; I own six identical black suits that I have worn for 30 years.

 

Customer Reviews

7 Reviews
5 star:
 (1)
4 star:
 (1)
3 star:
 (2)
2 star:
 (1)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
2.7 out of 5 stars (7 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

12 of 12 people found the following review helpful:
4.0 out of 5 stars Relational database is based on set theory, December 1, 2008
This review is from: Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
Mr. Celko has written many books on SQL and how set theory is the basis for SQL programming. His tone has gotten more ironic as more programmers without the proper training continue to rely on various forms of cursors, loops and temporary tables to manipulate data using SQL. And with the passing of EF Codd, no one quite remember any more that relational database was built on set theory.

Celko is a purist in terms of writing one-pass SQL statement. More programmers should take the same approach. Java & C# programmers think that SQL tables are either streams or files -- holders of data inside their objects. Relational-Object mapping issues are left to Hibernate or DAO. Database tuning is left to DBAs and their tuning wizards. With 2008 server processing power, inefficient sql program are hard to detect and multi-pass SQL statements are now the norm.

It's good to read Celko and get one's mind back to the basics of relational technology. I bought this book for my SQL programming team.

TN
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


40 of 48 people found the following review helpful:
3.0 out of 5 stars Emperor Ming strikes back, May 3, 2008
By 
Michael Schuerig (Bonn, Deutschland) - See all my reviews
(REAL NAME)   
This review is from: Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
I have (read) copies of five earlier of Celko's books on my shelf, still I am again amazed by the cultural distance. Most of my programming life I have spent with object-oriented programming languages and associated technologies. Thus, when Celko starts the present book with a discussion of the differences between flat files and relational databases, it could hardly be more distant than if he had extolled the virtues of the gasoline engine over its steam predecessor.

Celko likes to refer to his informers as "Mr. So-and-so, working for company X" this again moves the cultural differences to the front, and I can't avoid a slight chuckle when he reverently cites "Dr. E.F. Codd" for the umpteenth time. It all decidedly feels like a tale from an imaginary 1950s. I certainly envision people in lab coats.

The tone moves from enjoyably quaint to annoying, when Celko (again and again) ridicules the many failings of database novices and sophomores. He might not realize that those who share in the joke have no need to read his book -- and that those who bought the book to learn something from it may feel a wee bit offended. After all, we are already aware that there's something we don't know yet and want to learn, there's really no need to rub it in.

So much for the atmospheric stuff. But, of course, I didn't buy this book to make me feel good, but to learn something, come rain or shine. And, yes, there is a lot useful stuff in this book. More in the bits and pieces than in some generalized approach. And by far more in line with the subtitle, "Auxiliary, Temporal and Virtual Tables in SQL" than with "Thinking in Sets", the main title. Regarding the latter, I found the most worthwhile part of the book to be the discussion of why boolean flags are bad (ch. 11, Thinking in SQL).

Celko's effort to distance the relational, set-based approach from earlier practices crops up all over the book. I had expected -- and hoped! -- that Celko would put considerably energy into comparing, contrasting, and hopefully complementing set-based thinking with current object-oriented approaches. Alas, he's completely preoccupied with his own tradition and doesn't wander into OO-land at all.

I would have been very interested in reading a knowledgable discussion of where to draw the line between procedural and set-based approaches. And, as most practical programs will employ both of these approaches, how to interface the respective parts. On the latter issue, there's not a single word in this book. The treatment of the former issue is interesting, in a twisted sense. Celko demonstrates some string processing in SQL and concedes that this would be much easier in languages such as ICON or SNOBOL, those stalwarts of 1970s era dataprocessing (does he even know Perl?). Well, why then try to abuse SQL to do something for which it is ill-suited and results in bloated code? Why anyone would want to solve Sudoku puzzles in SQL I cannot fathom, either. Celko doesn't tell, and neither does he present the whole (repetitive) code, nor explain how the set-based approach works in any sufficient detail.

The overarching mindset exemplified in this book is to push as much into the database as possible, even if it hurts at times. I don't mean to denigrade the intention, namely application-independent, consistent data storage. However, the reality in current software engineering is that a shared database is but one solution among others. For instance, SOA (Service Oriented Architecture) is specifically about connecting applications through services they provide, not by tying them to a shared database.

Celko likes to style himself in the image of Ming the Merciless. The semblance is indeed uncanny and as I hinted already, he tries to live up to the role as his author persona. Unfortunately, he doesn't seem to realize that there's one thing that can't be tolerated in an arch-villain (as well as in his henchmen and henchwomen): sloppiness. The book has more than its fair share of typos and grammatical accidents. A particularly amusing case in point -- due to his belligerent character, a deeper insight, or simply search-and-replace gone awry -- is an example that consistently refers to "martial status".

For the good parts I'd doled out 4 stars. For The many detractions I deduct 1 star.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


10 of 11 people found the following review helpful:
3.0 out of 5 stars A Lot of Work, An Ok Payoff, July 29, 2008
This review is from: Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
I picked this up at a bookstore because it was the only mildly intriguing title I saw, and because I don't spend much time thinking about databases. As another reviewer mentions, there is an amusing old-school style, and a humorous example or two of SQL code tortured into doing something "right" and, of course, doing everything in the database. There are numerous typos, too, but not of the type that would put me off.

Maybe I'm not so annoyed by the suboptimal organization of the book and the scattered but useful insights as I should be. But where I found useful things, the payoff was deep. I don't mind Celko's tunnel-vision on the database. He advocates but does not evangelize his position. He knows what his chosen tools can do but betrays no hint, at least to me, of being a Golden Hammer type.

I could also care less whether Joe Celko is a hipster with cool office sneakers who twitters heartfelt one-liners on fresh tech. I know this is hard to fathom, but people over 40 are still alive and do produce useful things. I suspect Joe wears three-piece suits to the office now and always will. He also seems authentic; that goes a long way. I got a good deal of useful information from this book, but it was an uphill read at times.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews





Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
different data models, derived tables, common table expressions, schema information tables, nested sets model, underlying base tables, declarative code, declarative referential integrity, correlation name, range clause, join algorithms, auxiliary tables, calendar table
Key Phrases - Capitalized Phrases (CAPs): (learn more)
United States, Half-Open Interval Model, Inventory Costs, Programming Style, Britney Spears, Complex Constraints, Repeated Groups, The Information Schema, Jim Gray, Database Standards Committee, Moore's Law, Classes of Algorithms, Subatomic Data Elements, Two Approaches, Table Problems, Daylight Saving Time, International Standard Book Number, Erik Lennart, First Normal Form, Load Products, Financial Periods, Long Parameter Lists, Bell Labs, Database Systems, Check Option
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(4)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject