The Art of SQL and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $9.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading The Art of SQL on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

The Art of SQL [Paperback]

Stephane Faroult , Peter Robson
4.7 out of 5 stars  See all reviews (22 customer reviews)

List Price: $44.99
Price: $29.84 & FREE Shipping. Details
You Save: $15.15 (34%)
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.
Want it Tuesday, May 21? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition $19.79  
Paperback $29.84  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

March 1, 2006

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 should provide simple SQL code to solve immediate problems and let DBAs tune any "bad SQL" later.

In The Art of SQL, author and SQL expert Stephane Faroult argues that this "safe approach" only leads to disaster. His insightful book, named after Art of War by Sun Tzu, contends that writing quick inefficient code is sweeping the dirt under the rug. SQL code may run for 5 to 10 years, surviving several major releases of the database management system and on several generations of hardware. The code must be fast and sound from the start, and that requires a firm understanding of SQL and relational theory.

The Art of SQL offers best practices that teach experienced SQL users to focus on strategy rather than specifics. Faroult's approach takes a page from Sun Tzu's classic treatise by viewing database design as a military campaign. You need knowledge, skills, and talent. Talent can't be taught, but every strategist from Sun Tzu to modern-day generals believed that it can be nurtured through the experience of others. They passed on their experience acquired in the field through basic principles that served as guiding stars amid the sound and fury of battle. This is what Faroult does with SQL.

Like a successful battle plan, good architectural choices are based on contingencies. What if the volume of this or that table increases unexpectedly? What if, following a merger, the number of users doubles? What if you want to keep several years of data online? Faroult's way of looking at SQL performance may be unconventional and unique, but he's deadly serious about writing good SQL and using SQL well. The Art of SQL is not a cookbook, listing problems and giving recipes. The aim is to get you-and your manager-to raise good questions.


Frequently Bought Together

The Art of SQL + SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers) + Joe Celko's SQL for Smarties, Fourth Edition: Advanced SQL Programming (The Morgan Kaufmann Series in Data Management Systems)
Price for all three: $91.76

Buy the selected items together


Editorial Reviews

About the Author

Stephane Faroult first discovered relational databases and the SQL language back in 1983. He joined Oracle France in their early days (after a brief spell with IBM and a bout of teaching at the University of Ottawa) and soon developed an interest in performance and tuning topics. After leaving Oracle in 1988, he briefly tried to reform and did a bit of operational research, but after one year, he succumbed again to relational databases. He has been continuously performing database consultancy since then, and founded RoughSea Ltd in 1998.

Graduated in geology from Durham University (1968), then taught at Edinburgh University, obtaining an M.Phil in geology 1975. Worked in Greece as a geologist (1973,74), and then in University of Newcastle specialising in geological databases. Joined the British Geological Survey 1980, and has steered the organisations' use of database ever since, as data architect and database administrator. Has worked with databases since 1977, relational databases since 1981, and Oracle since 1985. He has lectured widely in the UK on geological aspects of database and has specialised on aspects of the SQL system as well as data modelling from the corporate architecture down to the departmental level. He has presented at various Oracle database conferences both in the UK, Europe and North America. Currently a director on the board of the UK Oracle Users Group.


Product Details

  • Paperback: 372 pages
  • Publisher: O'Reilly Media; 1 edition (March 1, 2006)
  • Language: English
  • ISBN-10: 0596008945
  • ISBN-13: 978-0596008949
  • Product Dimensions: 7 x 0.9 x 9.1 inches
  • Shipping Weight: 1.3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon Best Sellers Rank: #201,262 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

There are also a number of rather complicated real-world examples sprinkled throughout the book. Eric Wuehler  |  5 reviewers made a similar statement
I'm thoroughly enjoying this book. Catherine Devlin  |  6 reviewers made a similar statement
Most Helpful Customer Reviews
35 of 36 people found the following review helpful
5.0 out of 5 stars Clear and straightforward explanations August 25, 2006
Format:Paperback
The Art of SQL is a truly unique book. In sharp contrast to many other database books on the market, this one does not endeavor to provide an exhaustive SQL reference guide, a low-level vendor-specific DBMS implementation description, or a cookbook-style collection of FAQs. Instead it explains, in incredibly straightforward and clear language, how to think about SQL, schema design, and DBMS operation in general and apply that knowledge to real-world situations. It provides simple mental models for the inner workings of most modern database systems along with concrete examples of how these mental models can be used to speed up queries and design better-performing schemas.

Throughout the book many commonly encountered design patterns query requirements are discussed, such as tree or hierarchy-based data structures, name/value pair tables and various common types of selection filtering and aggregation. For each of these, multiple implementation options are described and evaluated, with the pros and cons of each approach explained. This book assumes the reader is proficient at forming SQL statements, and thus spends its time exploring how restructuring tables and indexes or reforming queries can affect performance. There is a stronger focus on schema design considerations rather than query structure optimization, which I really appreciated because many SQL references focus almost exclusively on the latter.

There are also a number of rather complicated real-world examples sprinkled throughout the book. These are carefully analyzed using the concepts presented in their respective chapters. The idea here isn't that the reader might encounter these exact problems in their projects, but rather to illustrate the process of applying the book's concepts to a concrete problem.

This book is for the most part database vendor agnostic, but still manages to do a great job of explaining the inner workings of databases in a clear, concise manner. In my opinion, it goes to just the right level of detail in explaining things like physical table structure, indexing implementations, locking and the query optimizer. The explanations are simple enough and general enough for mere mortals to internalize, yet still provide a powerful framework for thinking about and improving database performance. Chapter Four, which discussed relational theory and how it relates to SQL, was one of my favorite chapters and serves as a perfect example of this book's ability to provide easily understandable theoretical concepts and tie it in to database implementation and its consequences on query performance against an example table structure.

The Art of SQL is not a beginner's book, and is not an Oracle reference. What is does, however, is provides a conceptual underpinning between these two extremes that will enable database administrators to effectively formulate battle plans against whatever challenges lie in their path. I wish this book had been around when I was learning databases!
Comment | 
Was this review helpful to you?
31 of 32 people found the following review helpful
5.0 out of 5 stars This is your graduate level course in SQL - how and why September 14, 2006
By MGMcd
Format:Paperback|Amazon Verified Purchase
Probably most database solution developers and DBAs have picked up their knowledge of the subject as they have needed it, rather than in a formal and structured (so to speak) method. And even those that have had a structured education probably learned a lot more while in the field. And so there are always gaps. Gaps in technique, but also gaps in the why of many things that I, for example, took for granted about large DBMS's and SQL.

This book handily fills in those gaps. It assumes a moderate to advanced foundation in SQL and DBMS, and then takes off from there.

It is mostly prose with some code and SQL sprinkled throughout, but if you have a foundation, you can flesh out the technique. It is like listening to a graduate level lecture. It is distilled wisdom more than How To, and the more you bring to the material, the more you will get from it. And every page is rich with information. I don't feel like I have wasted my time on any one page, as I often do in the how to manuals.

Definitely an advanced piece.
Comment | 
Was this review helpful to you?
30 of 31 people found the following review helpful
5.0 out of 5 stars Thinking in SQL- A definitive guide August 5, 2006
Format:Paperback
SQL being a declarative style language is intuitive in simplicity, and yet, the instincts are not enough when you enter the labyrinth of complex problems. From an application developer's prospect, I'm familiar with different mindsets of programmers. Those who despise writing SQL beside CRUD statements and consider it a lowly languages, to those who religiously believe the business logic should reside in business objects (hence the name) and the lingua franca of database should not contain any of the rules despite the performance gains. Then there is SQL zealots who prefer to write virtually everything in SQL and would like to use high level algorithmically sophisticated languages as sheer callers. Nevertheless, SQL is ubiquitously essential part of a developer's everyday life and "The Art of SQL" by Stephane's Farlout the best thing after SUN-TZU's "Art of War" in the SQL warfare.

"The Art of SQL" is theory and practice blended; once you start reading it, it becomes something in between Knuth's Art of Computer Science with C++ annotated reference manual. This 350 page book is divided into twelve chapters and written as a pseudo war-manual. The topics of chapters are as follows.

* Laying Plans (Designing Databases for Performance)

* Waging War (Accessing Databases Efficiently)

* Tactical Dispositions (Indexing)

* Maneuvering (Thinking SQL Statements)

* Terrain (Understanding Physical Implementation)

* The Nine Situations (Recognizing Classic SQL Patterns)

* Variations in Tactics (Dealing with Hierarchical Data)

* Weaknesses and Strengths (Recognizing and Handling Difficult Cases)

* Multiple Fronts (Tackling Concurrency)

* Assembly of Forces (Coping with Large Volumes of Data)

* Stratagems (Trying to Salvage Response Times)

* Employment of Spies (Monitoring Performance)

Like said in the book, "A skillful developer should aim for response times proportional to the number of rows returned." the author emphasizes on performance, discusses tackling bad SQL code, how to do analysis on problem at hand and then how to think it out in SQL way. The discussion varies from indexes, query optimization, concurrency and physical schema representation. SQL examples in the book are more of analogies than real world examples, they are focused encouraging the reader to think and map these to his or hers real life development experience.

Like author says in one of its notes "Much of the difficulty of good SQL programming lies in seeing how a problem can translate, not into succession of queries to a database but into very few queries.", the core theme of the book is to talk about SQL, not about any particular database. Therefore please don't buy it as a art of SQL Server or Oracle but as a pure SQL (not T-SQL or PL/SQL either) guide. The book is clearly written and easy to understand however, mind you, it's not a freshman's cookbook guide to structured query language. You have to be in trenches to understand Stephane metaphors and they kind of grow on you. For instance, the note "Maximize each visit to the database to complete as much as can reasonably be achieved by each visit." Will remind you of the times when you didn't follow this practice because of reason X, here is your personal guidance counselor.

The Art of SQL is a great way to advance the way you think about the problems in database and query design and their translation into code. I recommend this book to fellow mere mortal developers out there who are looking for a decent, theoretical, not-so-cook-booky-style guide to SQL.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Solid coverage of indices and partitioning
This book really explains concepts I knew about but did not fully understand. It can be applied to any of the major databases out there. Read more
Published 12 days ago by T. Maly
4.0 out of 5 stars Lots of food for thought
I haven't yet put any of this book's ideas into practice, but they address real problems I've run into. Read more
Published 2 months ago by offby1
5.0 out of 5 stars Sun Tzu Meets E. F. Codd; Wonderful!
Stephane Faroult has written perhaps one of the most important books on SQL and Relational Databases since the magisterial work of Dr. E.F. Codd. Read more
Published 12 months ago by Michael Tozer
5.0 out of 5 stars A gem
The rare book on SQL that goes beyond what we've already figured out by hard knocks. The author has a wonderful mix of theory and practice, and shows how procedural realities... Read more
Published 17 months ago by JonShops
5.0 out of 5 stars Good for rookies, too
I know just enough SQL to be dangerous, but I still found the book to be immensely useful. I have a data set in plain text that's become completely unwieldy, and I want to move it... Read more
Published on May 11, 2011 by Karl Vogel
4.0 out of 5 stars Overall, well done
Very well written; examples are a bit goofy, perhaps, but the author is undeniably knowledgeable and has much to say both on commonly referenced mistakes - insufficient indexing -... Read more
Published on November 23, 2008 by David Berube
5.0 out of 5 stars If Sun Tzu Wrote SQL...
...he might write a book like "The Art of SQL". There are a lot of SQL books on the market - some of them very good. Read more
Published on November 14, 2008 by Data Guy
5.0 out of 5 stars An excellent book to read after you think you know databases
This is a book in a somewhat-similar vein to Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (Addison-Wesley Professional Computing Series): it... Read more
Published on July 14, 2008 by Matthew Weigel
5.0 out of 5 stars Excellent
This book is very well written and goes into depth on the practical reasons behind best-practices as well as real-world examples.
Published on January 19, 2008 by James M. Schorr
5.0 out of 5 stars This is the book to have if you want to discover better practices for...
This book review was submitted by a Roanoke Valley SQL Server Users Group member as part of the Book Review Program. Read more
Published on March 13, 2007 by RVSSUG
Search Customer Reviews
Only search this product's reviews


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category