Showing posts with label dealing with data in sets. Show all posts
Showing posts with label dealing with data in sets. Show all posts

Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems) Review

Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)
Average Reviews:

(More customer reviews)
Are you looking to buy Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems) ReviewEveryone needs this book. Read more to find out why:
If you intend to create genuinely useful business applications without first creating an accurate conceptual data model and deriving the database schema from the model, then I hope your projects have very large budgets and flexible deadlines, because you'll need both. Accurate conceptual data models are not an academic curiousity, they are a practical necessity. Well designed databases are the heart of every business application, and accurate conceptual data models are the foundation of every well designed database.
This book presents a method for data modeling called Object Role Modeling (ORM). If you've never created a data model before, you might as well learn the best method from the start. If you've used E-R (Entity Relationship) modeling before, this is your chance to learn a method that overcomes the limitations of E-R, while building on the knowledge you already have.
ORM is based on facts (assertions about the business sphere you are modeling), not entities and attributes. Business users understand facts much better than they understand data modeling abstractions. By using ORM facts, you create your data model in a language that business users can understand and validate. Poor communication with business users and inadequate understanding of requirements are major causes of design deficiencies. ORM solves these issues through its fact based approach.
ORM is also much more expressive than any other popular data modeling notation, ncluding UML and all major flavors of E-R. Many business rules should be expressed as data constraints, but traditional data modeling languages don't do well at capturing these constraints. By capturing the constraints in an ORM model and validating with the users, you make the construction of a good application much easier.
Halpin is an excellent writer, and this book is very easy to read. The many examples and crisp writing style mean that you'll actually understand what the author intends, a refreshing change from most computer books. If you've read the previous edition of this book, this update is very worthwhile. There is a lot of expanded and new material, and you'll be happy you purchased the new edition.Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems) OverviewInformation Modeling and Relational Databases, second edition, provides an introduction to ORM (Object-Role Modeling)and much more. In fact, it is the only book to go beyond introductory coverage and provide all of the in-depth instruction you need to transform knowledge from domain experts into a sound database design. This book is intended for anyone with a stake in the accuracy and efficacy of databases: systems analysts, information modelers, database designers and administrators, and programmers. Terry Halpin, a pioneer in the development of ORM, blends conceptual information with practical instruction that will let you begin using ORM effectively as soon as possible. Supported by examples, exercises, and useful background information, his step-by-step approach teaches you to develop a natural-language-based ORM model, and then, where needed, abstract ER and UML models from it. This book will quickly make you proficient in the modeling technique that is proving vital to the development of accurate and efficient databases that best meet real business objectives. *Presents the most indepth coverage of Object-Role Modeling available anywhere, including a thorough update of the book for ORM2, as well as UML2 and E-R (Entity-Relationship) modeling. *Includes clear coverage of relational database concepts, and the latest developments in SQL and XML, including a new chapter on the impact of XML on information modeling, exchange and transformation. * New and improved case studies and exercises are provided for many topics. * The book's associated web site provides answers to exercises, appendices, advanced SQL queries, and links to downloadable ORM tools.

Want to learn more information about Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

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

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

(More customer reviews)
Are you looking to buy Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) ReviewI 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.Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) OverviewPerfectly 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 findyou 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 forselecting and correctly applying the right table technique.

Want to learn more information about Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...