Automotive Deals Best Books of the Month Shop Women's Clothing Learn more Discover it Look Park Fire TV Stick Happy Belly Coffee Handmade school supplies Shop-by-Room Amazon Cash Back Offer TarantinoCollection TarantinoCollection TarantinoCollection  Amazon Echo  Echo Dot  Amazon Tap  Echo Dot  Amazon Tap  Amazon Echo Introducing new colors All-New Kindle Oasis STEM Water Sports

Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

on September 30, 1998
This book provides the definitive approach for the cross-tabulation/row positioning problem. The techniques presented in this book will stimulate new and innovative approaches to improve performance. This is not a How-To Cookbook. Every time I re-read this book, I find ideas and inspiration to help me solve today's programming challenge. If you develop stored procedures, you must have this book.
0Comment| 15 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 27, 2000
I have been developing SQL for quite a long time but never had looked at the "Characteristc" functions from the angle as this book depicts. The book is not for faint hearted, and even though it looks a very small book, it takes a lot longer to read and digest. Almost all the pivoting technics in the book are now made kinda obsolete because of the support of "CASE" statements, but still it's worth reading as it uses the normal functions like index to do something which you didn't expect. This is not a beginners book nor does it teach you how to optimize by tweaking SQLServer. The title of the book is not right as it talks about Transact-SQL, the technics are applicable in any RDBMS (I am using Teradata for instance).
Give this book more than one try to understand what it is saying, then only you will appreciate it's value.
0Comment| 9 people found this helpful. Was this review helpful to you?YesNoReport abuse
on July 7, 2001
Read all the reviews. I've read all of the public articles that Rozenshtein wrote. Those of you who read the book and did not value the content, I wonder about you. "Impossible" "Skip this one" "Esoterica" Did you miss the most important point of the book? Think differently and you just might find a simple elegant solution to your data access problem.
I can hear the groanings now, "cross table joins, elegant"? What you do not know is that when Rozenshtein proposed the solutions you read about, the companies he worked with set down expectations under which Rozenshtein worked. He was to find a one-pass method of solving the data access problems of a company who had poorly designed very large databases and a limited time to assemble the data needed for daily reporting. Rozenshtein only had enough time to make one-pass through all the databases at once to collect the data for these daily reports.
What you read in this book is about brilliant problem solving that produces results businesses value. Rozenshtein is a mathmatician sought out by large companies to solve data access problems that their staff could not solve.
This book is about data access problem solving to produce results. I believe most everyone could stand to improve their results.
0Comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 3, 1999
The idea of "characteristic function" (or more commonly know as delta function with function value equals to 1 at a specified input value and 0 elsewhere) is interesting. But with the new SQL "CASE" statement, one can do away with this delta function. The book also presented the "power of product join" where one can use self product join to achieve results (such as finding the median) with one SQL pass as opposed to traditional multiple passes approaches. While the idea is interesting and innovative, the implementation may not be practical for large tables. If fact, it is much more efficient to find the median by multiple passes than self product join realizing that product join creates N square temporary rows. Unless one have unlimited time and computer resources (or extremely small table), the implementation of proeuct join is just not practical.
In sum, the book does present some interesting ideas. But a lot of the ideas may be either out of date or inpractical. On top of that, the book is over priced.
0Comment| 12 people found this helpful. Was this review helpful to you?YesNoReport abuse
on September 1, 2000
This thing is really too small to be called a book. I noticed that before I bought it, but went ahead with the purchase because I thought that perhaps it would be REALLY concentrated. Much to my disappointment, that wasn't the case. This book is as bad as they come. First, the chapters are really just old magazine article reprints. Second, the techniques are obsolete -- why would I want to write a characteristic function when I can just use CASE? Self joins and cartesian products are also counter-intuitive, generally slow techniques. Maybe they work okay with 10 record tables, but what about 10,000? I think not. Don't be the fool that I was and waste your money on this book!
0Comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on November 2, 2000
Using functions that are nearly impossible to read to do what CASE can do for you is pretty darn silly. I bought the book without realizing how old it is -- it's circa 1994. A lot has changed since then, including the support of ANSI SQL '92's CASE function by most of the major DBMS vendors. Also, the code in this book trades efficiency for code paucity. Who cares whether you do something with a single SELECT? Isn't the idea to use the database as efficiently as possible? Cartesian products don't add up to efficiency. They add up to code that appears to run well against small data sets, but that will choke badly when faced with real data.
0Comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on August 3, 2000
You don't have to read the whole book, just first three chapters of this book will more than pay for itself. It seems complicated in the beginning with new notations, and their notations hide the simplicity and elegance of characteristic functions. However, once you get the concept of characteristic functions, it can help you enormously. I can't say enough about how good this is, it is such a simple and elegant idea for set-based db-engine, wonder why nobody else had thought of it sooner. I find myself deriving different characteristic functions for all kinds of tasks, and that in it of itself is fun. A must read for anybody using set-based db-engine such as Sybase and MS-SQL server ( despite their claims to the contrary for their latest versions ). Not much help in using this concept in ORACLE, since ORACLE seems to create implicit cursors anyway. I have improved speed in stored procedures by more than ten-fold by using the characteristic functions. Hooorrray!!!!!!!!!!
0Comment| 8 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 2, 2000
The techniques presented in this book are little more than attempts at showing how smart the authors are. They are not practical techniques. Following them will produce unreadable code. "Characteristic functions" should be used very sparingly and only when a more readable technique is not available. One more thing: the authors didn't discover these "functions" -- people have been using them since the birth of SQL Server, albeit with a good dose of prudence. The ANSI-92 inclusion of CASE makes these types of nonsensical brain teasers all but obsolete. I regret wasting my money on this book.
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on February 19, 1998
Best of its kind. Understanding charecteristic functions made easy.
0Comment| 3 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 5, 2000
My first problem with this book is its rather dry prose. It puts me to sleep often, and that's saying something for a 100+ page book.
Second, the code examples are not usuable in the real world. They're difficult to read, slow, and unnecessary. CASE is a much better approach than characteristic functions. It's faster and more readable.
The techniques this book shows will perform poorly against large tables. You can't cross join two huge tables and expect it to magically run fast. It won't.
These techniques created a bit of buzz when they were first published way back in '92, but their value now is really only one of historical interest. Since CASE was added to Transact-SQL (an ANSI '92 addition), there's little need for characteristic functions. Moreover, other authors have introduced means of solving positional problems that don't involve cross joins. Essentially, the techniques presented in this book are obsolete, so a book written for the sole purpose of documenting them is of little value to the modern T-SQL developer.
0Comment| 3 people found this helpful. Was this review helpful to you?YesNoReport abuse