Showing posts with label best practices. Show all posts
Showing posts with label best practices. Show all posts

7/29/2012

Designing Effective Database Systems (Addison-Wesley Microsoft Technology Series) Review

Designing Effective Database Systems (Addison-Wesley Microsoft Technology Series)
Average Reviews:

(More customer reviews)
This book gives you a points-to-points look-in on various core aspects ie: component parts & pieces, which earmark & characterizes the design of an effective database system
i'd say, this is a good (first,introductory db design book). it will endow you with the vision or skills to look at/objectively qualify ,the items you need to take into consideration all along the way to designing an effective database system from the beginning of the db design lifecycle to its watershed
This book is...
- Is a good, first birds-eye view of core aspects of the database design terrain from 5,000 feet.
- It's like circling at a high altitude of the database terrain first, whilst still practically clearly seeing the individual trees from the forest.
Its a 319 page read . the detail level is just about right to serve as a quick review of items to consider.
If its sorta your first dip into data & database design , its a good place to start but i'd recommend you take this book, couple it & digest it together with a read of :"Database Design" by Sams; ISBN:0672317583 -(a terrific book!) subsequently after ;
and you'll have a really good,full 20:20 vision of the database system design domain/aspect.
digesting these together gives you a brilliant foundation.
Value: The second book(ie: the Sams book), will patch-up on areas like relationships & give you more meat on all the core checklist of items to objectively consider straight away, if say tomorrow you found yourself commencing with/starting a db design effort. it's a better cookbook.
Riordan's book then would seem a very nice starter/introduction
At this new knowledge point/vantage, you are now equipped with a greater, squarer view of the terrain at some 7,000 feet. ie: at this point, if you were interested in doing the sql-server design exam: 70-229, or the Oracle fundamentals I equivalent: 1Z0-031, everything would make so much more sense re: triggers, sprocs, functions, cursors, Business rules + Constraints, RAID Backup , Indexing, Views, the SQL angle etc. if you pick up an ExamCram2 book + Transcender, Testking or whatever you select as your exam study guide of preference, you'll be able to finally see & understand how things -(aspects of the puzzle), actually all fit together and be able to translate almost effortlessly from conceptual design aspects to the necessary logical design-blueprint , to the physical implementation aspects.
And that which you understand... you won't forget
After digesting the Riordan book followed by the Sams book, you are now ready for intermediate to proficient level. 10,000 to 12,000 feet - design proficiency.
as a 3rd level book , i'd recommend you move on to reading the following 4 (ordered here by: most-entailed to least-entailed):
(1.) Database Modelling Essentials; ISBN:0126445516 ;
Value:(brings you a solid handle on building a database model to support a businesses activities)
(2.) Database Solutions; ISBN:0321173503 ;
Value: (clarity in cruising comfortably between d relational model and a good, solid, logical design...[a great book])
(3.) Database Design for Mere Mortals; ISBN: 0201752840 ;
Value: (great for reviewing Table Relationships -(setting-up joins) and reading the ERD -[Entity Relationship Diagrams])
AND
(4.) Databases Demystified; ISBN:0072253649 ;
Value: (great for stepping you linearly through the database lifecycle again, with good explanations about what you should be sure you are doing & obtaining from each stage/step of the lifecycle)..ie: that which will be expected of you at each step/stage chunk
To cap things up, Read :
- "Beginning Relational database design" ; ISBN:1590594630 ;
Value: (pulls all your data modelling personal resource skills together and reconstitutes them for you by casting you in a role where you practice modelling a complete system from scratch ie: -[from gathering the requirements specification, to the end of the detailed conceptual database design effort for the system]);
And you'll have all the core skills you need to build/design one mean database, enterprise-oriented or otherwise or reverse-engineer one.
if you are already in the thick of a project and are really pressed to find a db design solution -[(logical) + (implementation in SQL code)] right now, maybe consider buying or looking into purchasing the pricey: "Data Model Resource CD_ROM" ;ISBN:0471388289;
Value: it boasts a library of proven: tried and tested Universal Data Models, for all Enterprise types.
So, all you'll need do is adapt or borrow a design solution/model or architecture that applies closely to what you're trying to accomplish modelling for your database project ,and adapt & implement it as a solution for the database system you are designing. it's Magic!
Though i rated d Riordan book 4 stars for the depth of its content matter, the book rates more like a 4.5 for sheer readability & clarity of explanations for such an often notoriously complex technical subject area.
I'd talk about core books that translate to laying-out a solid physical database implementation & tuning for performance, but thats gonna have to wait till maybe a future book review
cheers.
-------

Click Here to see more reviews about: Designing Effective Database Systems (Addison-Wesley Microsoft Technology Series)

"Riordan covers core skills for any developer--database design and development--in a perfect amount of detail. This book should be on every professional developer's reading list."--Duncan Mackenzie, developer, Microsoft (MSDN)"Designing a database is not a trivial subject. Riordan brings experience and clear explanations to a fundamental part of software development."--Patrick Birch, database and technical writing consultant"If you buy only one book on database design, make it this one. Riordan has a talent for explaining technical issues in simple language, without over simplifying."--Brendan Reynolds, developer, Dataset IT Systems and Microsoft Access MVP"A book that will expertly guide you in how to develop a database for a client-- and how to do it right the first time!"--Kenneth D. Snell, Ph.D., ACCESS developer and Microsoft Access MVP "Riordan has produced a unique book that brings together a formal, yet commonsense, approach to relational database design...and then goes further! Many database designers will find immense value in the steps to developing practical data warehouse designs.If you are seeking a framework for designing transactional databases, or want to step out into the world of analytical databases, Riordan's book excels at bridging both worlds."--Paul Irvine, vice president, engineering, Via Training"Riordan takes a complex subject and makes it easy. If you're over your head on a database design project, this book will help bail you out!"--Mike Gunderloy, contributing editor, Application Development Trends"This book covers a wide range of database design and data modeling topics in a well-organized, easy to understand format."--Amy Sticksel, Sticksel Data Systems, Inc."In Designing Effective Database Systems, Riordan's style, wit, and attention to detail are outstanding."--Sandra Daigle, Microsoft Access MVP The Software Developer's Step-by-Step Guide to Database Design World-renowned expert Rebecca M. Riordan has written the definitive database design book for working developers who aren't database experts. No matter how messy or complex your data challenge, Designing Effective Database Systems shows you how to design an effective, high-performance database to solve it.Riordan begins by thoroughly demystifying the principles of relational design, making them accessible to every professional developer.Next, she offers the field's clearest introduction to dimensional database modeling--practical insight for designing today's increasingly important analytical applications. One task at a time, the author illuminates every facet of database analysis and design for both traditional databases and the dimensional databases used for data warehousing, showing how to avoid common architectural pitfalls that complicate development and reduce extensibility. The book concludes with comprehensive, expert guidance on designing databases for maximum usability.This book will teach you to *Understand relational database models, structures, relationships, and data integrity principles *Define database system goals, criteria, scope, and work processes *Construct accurate conceptual models: relationships, entities, domain analysis, and normalization *Build efficient, secure database schema *Master the elements of online analytical processing (OLAP) design: fact tables, dimension tables, snowflaking, and more *Architect and construct easy, efficient interfaces for querying and reporting *Learn from practice examples based on Microsoft's Northwind sample databaseRiordan has helped thousands of professionals master database design and development, earning Microsoft's coveted MVP honor for her exceptional contributions.Nobody is more qualified to help you master database design and apply it in your real-world environment.

Buy NowGet 78% OFF

Click here for more information about Designing Effective Database Systems (Addison-Wesley Microsoft Technology Series)

Read More...

7/09/2012

NHibernate 3.0 Cookbook Review

NHibernate 3.0 Cookbook
Average Reviews:

(More customer reviews)
My first impressions are good - it starts out with creating a model and the usual XML-mapping stuff, and then it dives directly into modeling an inheritance hierarchy. I think this is pretty cool, because it is a sign that the book has a fairly high level of ambition: It is not just about stuffing away rows in the db, it's about persisting an actual model!
It covers Fluent NHibernate and Fabio's ConfORM as well, so it provides a really good foundation to anyone interested in learning the intricacies of configuring NHibernate. And it is pretty true to the model-first approach, which is how I like it.
Then it goes on with a chapter on how to manage sessions and transactions including - among other things - an example on how to manage the session from an ASP.NET MVC action filter (which is not "best practice" from an ASP.NET MVC perspective IMO, as it relies on static gateways, but I digress... the book is not about ASP.NET MVC :) )
The query chapter is great, because it covers everything I can think of: Criteria, QueryOver, HQL, both in their normal and multi forms, futures, LINQ to NHibernate, detached criteria, and the new HQL bulk operations, insert and update. If I must put my finger on something, I think that the different areas are covered a little too lightly, but hey - there's plenty of information on this stuff on the internet, and you could probably write an entire book entirely about how to put HQL to use.
The testing chapter is great as well, as it touches on nice-to-know stuff and some of "the new developments" in the area: NHibernate Profiler, Fluent NHibernate automatic persistence testing, using in-memory SQLite for persistence testing, + more.
The chapter on implementing a data access layer shows a typical data access object and a repository implementation which will probably look familiar to a lot of people, implemented with NHibernate. They both have the ability to automatically perform their operations withing transactions, if one is not already active. This makes the implementations pretty flexible, as they can be used either "by themselves", or they can implicitly enlist in an ongoing unit of work. Moreover, a pretty nifty named query implementation is shown, complete with automated test that checks whether all implemented named query classes have corresponding named queries in an HBM XML file.
The rest of the book shows how various common tasks can be achieved using NHibernate or some of the many NHContrib projects, like e.g. creating an audit trail by listening to events, creating an IUserType to encrypt strings, using Burrows to manage session, putting NHibernate Search to use, etc... As you can probably imagine, this stuff is covered pretty lightly, but it's sufficient to give an impression on the huge ecosystem that surrounds NHibernate, which is great.
Conclusion
It strikes me that the book is definitely a "no BS-book" - there's plenty of code, which is mostly high quality and sufficiently best practice-compliant, and recommendations throughout when there are decisions to be made. If I should criticize something, I think the sheer amount of code makes for an exhausting casual read it does, however, claim to be a "cookbook", so I guess that's just the way it is.
The book is probably great for developers, who are either new to or semi-experienced in using NHibernate, but have a general high level of experience and skills.
All-in-all a good read, and it's great that it touches on so many things in and around this huge framework!

Click Here to see more reviews about: NHibernate 3.0 Cookbook

This book contains quick-paced self-explanatory recipes organized in progressive skill levels and functional areas. Each recipe contains step-by-step instructions about everything necessary to execute a particular task. The book is designed so that you can read it from start to end or just open up any chapter and start following the recipes. In short this book is meant to be the ultimate "how-to" reference for NHibernate 3.0, covering every major feature of NHibernate for all experience levels. This book is written for NHibernate users at all levels of experience. Examples are written in C# and XML. Some basic knowledge of SQL is assumed.

Buy NowGet 14% OFF

Click here for more information about NHibernate 3.0 Cookbook

Read More...