The right of Alex Kuznetsov to be identified as the author of this work has been asserted by him in accordance with the Copyright, Designs and Patents Act 1988. All rights reserved. No part of this publication may be reproduced, stored or introduced into a retrieval system, or transmitted, in any form, or by any means (electronic, mechanical, photocopying, recording or otherwise) without the prior written consent of the publisher. Any person who does any unauthorized act in relation to this publication may be liable to criminal prosecution and civil claims for damages. This book is sold subject to the condition that it shall not, by way of trade or otherwise, be lent, re-sold, hired out, or otherwise circulated without the publisher's prior consent in any form other than that in which it is published and without a similar condition including this condition being imposed on the subsequent publisher. Technical Review by Hugo Kornelis Technical edit by Tony Davis Cover Photography by Paul Vlaar & Photodynamic Typeset & Designed by Matthew Tye & Gower Associates
It was a nice read, but the whole concept of the book isn't very useful.
First of all, the concepts are fairly outdated and there are not a lot of references in what version of SQL Server this erroneous programming is occurring. Developers that support legacy systems, might find this useful.
Also, there are a lot of sparse problems/solutions and not a lot of "good programming logic". This means that only experienced developers can use this book. Developers that have tried to solve these problems and have attempted these erroneous approaches.
I wouldn't suggest this book to inexperienced developers.
I read the first 8 chapters in the free edition on RedGate's website, and definitely found it informative for anyone working with SQL Server. I plan to buy the book to read the last 2 chapters.
I think its value is that it covers topics that you don't find elsewhere. Don't expect the usual topics on normalization, T-SQL syntax, etc. Instead the book contains tips and tricks for the experienced developer, for example how to utilize foreign key constraints to achieve declarative denormalization as opposed to imperative denormalization (eg triggers). Hint: it uses cascading updates! There are lots of other random but worthwhile tips contained in the book.