<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geek Book &#187; RDBMS</title>
	<atom:link href="http://geekbook.org/archives/category/rdbms/feed" rel="self" type="application/rss+xml" />
	<link>http://geekbook.org</link>
	<description>Books for Geeks</description>
	<lastBuildDate>Wed, 23 Dec 2009 20:23:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SQL in a Nutshell</title>
		<link>http://geekbook.org/archives/139</link>
		<comments>http://geekbook.org/archives/139#comments</comments>
		<pubDate>Mon, 11 May 2009 16:35:02 +0000</pubDate>
		<dc:creator>bookGeek</dc:creator>
				<category><![CDATA[NonFiction]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://geekbook.org/?p=139</guid>
		<description><![CDATA[The cover of SQL in a Nutshell sports a chameleon, the little lizard well known for its ability to blend in just about anywhere. This is a great choice for the Structured Query Language. SQL has been around since the seventies, helping developers interact with the ubiquitous relational database management system. Thirty some years later, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://oreilly.com/catalog/9780596518844/"><img src="http://oreilly.com/catalog/covers/9780596518844_cat.gif"></a><BR>
<p>The cover of <cite>SQL in a Nutshell</cite> sports a chameleon, the little lizard well known for its ability to blend in just about anywhere.  This is a great choice for the Structured Query Language.  SQL has been around since the seventies, helping developers interact with the ubiquitous relational database management system.  Thirty some years later, SQL grinds away in the background of just about any interactive web site and nameless other technologies.  New alternatives are popping up constantly but I&#8217;m going to go out on a limb and say that SQL is going to be around for a long time.  Anyone interacting with an RDBMS is in all likelihood going to need to use SQL at some point.  For those that do, who also want a handy desktop reference available, <cite>SQL in a Nutshell</cite> has been there for the last 9 years.  The SQL language itself has not stood still over those years, and neither have the products that use SQL, and so now the book has is available in a third edition.</p>
<p><span id="more-139"></span>
<p>It&#8217;s pretty easy to sum up what <cite>SQL in a Nutshell</cite> contains.  It covers the entire ANSI SQL2003 standard as well as how that standard is implemented in MySQL 5.1, Oracle Database 11g, PostgreSQL 8.2.1 and Microsoft SQL Server 2008.  There is a new ANSI standard more recent than the 2003 standard, ANSI SQL2006.  This new standard does not change anything covered in the book, but introduced XML and XQuery which are not covered here.  The format for conveying all this information mirrors that of the other &#8220;&#8230;in a Nutshell&#8221; books.  There are four sections.  The first is a very short (15 pages) history of SQL and the second is a summary of foundational concepts.  The vast majority of the book is the third section, &#8220;SQL Statement Commands.&#8221;  These commands are given in alphabetical order.  There is also a table at the very beginning of the chapter listing every command and showing how it is supported by the four platforms.</p>
<p>Each command is presented by starting with a short summary of what it does.  This is followed by a table showing which RDBMS products support the command, the proper syntax for the command, key words, command rules, possible issues that may come up and implementation details and examples for each of the four RDBMS products represented.  A couple of the differences between the second and third edition are that two RDBMS products were dropped and there are more examples.  The products dropped allowed for there to be more examples while also making the book smaller than earlier editions.  Anyone working with Sybase Adaptive Server or DB2 UDB will want to hold onto their second edition copy of this book if they want to have that platform specific content available, because it is not in this third edition.</p>
<p>The book states that the dropped platforms were the least popular of those in earlier editions.  For those wondering why their favorite RDBMS is not in the list, that gives the answer.  To keep length down the number of specific platforms covered was kept to four.  Fortunately the books is still of high value for most readers as most decent RDBMS products will support ANSI SQL standards.  On those occasions they do not, the reader would have to look to another resource for help.  The length issue is easy to understand when looking at the GRANT statement and seeing that it covers over twenty pages.  Most of this space is used to explain the various options available on each platform.</p>
<p>The last section SQL Functions documents all of the standard functions with examples and then contains a list of platform specific extensions, grouped by product.  There is not a table showing platform support like there was for SQL statements.  This section is much smaller, so it really isn&#8217;t an issue.  The single appendix that follows list standard and platform specific key words.</p>
<p>So who would benefit from <cite>SQL in a Nutshell</cite>?  The most obvious to me is the DBA or developer working across more than one of the four platforms presented, especially if they don&#8217;t move from one to the other too often.  Like an Oracle DBA that needs to go do something in MS SQL Server every so often, or the same type of thing between any of the others.  This makes for a quick resource that will sort out forgetting how one or the other does things rather quickly.  But even if one isn&#8217;t moving across multiple platforms, unless the whole standard has been memorized, this is a great help.</p>
<p>The second group I see gaining some real good from this book are those new to working with SQL.  I&#8217;ve worked with all four platforms and others not covered in this book and on every single one of them I&#8217;ve hit error messages that were anything but helpful.  Being able to go directly to a correct statement of syntax and usage is a real help when the system doesn&#8217;t want to tell what is really going on.  It is important to remember that this is a pure reference book.  It is not written with the intent of teaching how to use SQL.  That said, it covers the entire standard.  Much like a dictionary can be used to increase one&#8217;s knowledge of a language, reading through this reference can be a good way to learn more about SQL.  Many introductory texts aren&#8217;t going to cover the whole standard or as many platform specific details.  The student of SQL would get a real jump by working through this book.  It is compact enough that while it wouldn&#8217;t be a thrilling read, it is completely doable.</p>
<p>Who wont like it?  Probably anyone who doesn&#8217;t like any of the other nutshell books from O&#8217;Reilly.  This book is pretty much exactly like my <cite>Unix in a Nutshell</cite>, <cite>Linux in a Nutshell</cite> and <cite>MySQL in a Nutshell</cite> books.  If the format and approach bothers you, don&#8217;t look for any radical departure that will make it more palatable here.  If you are like me and already know you like the format, then this is pretty much a sure thing.  For the vast majority of us that work in the database world, this is the reference.  I say this keeping in mind the scope of the book.  Is this everything one needs to know about SQL?  Obviously not.  There is much more to be said about SQL as evidenced by all the words that have been said and are out there in print.  But when one wants to know quickly about SQL statements and functions, I can&#8217;t think of a better resource.</p>
<p>Title: SQL in a Nutshell, 3rd Edition<BR>Author: Kevin Kline, Daniel Kline, Brand Hunt<BR>Publisher: O&#8217;Reilly Media Inc.<BR>Pages: 590<BR>ISBN: 978-0-596-51884-4<BR>Rating: 10/10</p>
]]></content:encoded>
			<wfw:commentRss>http://geekbook.org/archives/139/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Manga Guide to Databases</title>
		<link>http://geekbook.org/archives/129</link>
		<comments>http://geekbook.org/archives/129#comments</comments>
		<pubDate>Sat, 25 Apr 2009 13:09:28 +0000</pubDate>
		<dc:creator>bookGeek</dc:creator>
				<category><![CDATA[NonFiction]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[manga]]></category>

		<guid isPermaLink="false">http://geekbook.org/?p=129</guid>
		<description><![CDATA[Princess Ruruna, of the Kingdom of Kod, has a problem. Her parents, the King and Queen, have left to travel abroad. Ruruna has been left to manage the nations fruit business. Much is at stake, Kod is known as &#8220;The Country of Fruit.&#8221; Ruruna is not happy though, as she is swamped by paperwork and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nostarch.com/mg_databases.htm"><img src="http://nostarch.com/images/mg_databases_cov.jpg"></a><BR>
<p>Princess Ruruna, of the Kingdom of Kod, has a problem.  Her parents, the King and Queen, have left to travel abroad.  Ruruna has been left to manage the nations fruit business.  Much is at stake, Kod is known as &#8220;The Country of Fruit.&#8221;  Ruruna is not happy though, as she is swamped by paperwork and information overload.  A mysterious book, sent by her father, contains Tico the fairy.  Tico, and the supernatural book are going to help Princess Ruruna solve her problems with the power of the database.  This is the setting for all that takes place in <cite>The Manga Guide to Databases</cite>.  If you are like me and learned things like normalization and set operations from a rather dry text book, you may be quite entertained by the contents of this book.  If you would like to teach others about creating and using relational databases and you want it to be fun, this book may be exactly what you need.</p>
<p><span id="more-129"></span>
<p>I was pleasantly surprised by this book.  It really does do a great job of introducing relational database management systems.  All the SQL is ANSI standard.  (Except for one exception, joins, which I&#8217;ll discuss later.)  There is no mention that I could find of any certain RDBMS product.  Barring any proprietary quirks, everything in here should work on just about anything from Access to Oracle.  Teamed up with PostgreSQL or MySQL, I think that one would have everything they need to teach an extremely inexpensive (materials wise anyway) class on building and using databases.  I think that the manga format would make it especially attractive to younger people.  By younger, I think high school age students would really enjoy it and I think even college students would find it to be fun if they weren&#8217;t too stuffy.  If I were teaching professionals, I might worry that they wouldn&#8217;t take it seriously, but the content is solid and anyone who can lighten up can also learn from this book.</p>
<p>It is an introductory level book.  I wouldn&#8217;t hand this to an entry level dba and turn them loose on a production system.  It teaches what a relational database is, about the entity/relationship model, using standard sql, as well as transactions, recover, indexing and query optimization.  That&#8217;s a pretty decent foundation.  There is also a final chapter that is half manga and half more traditional straight text.  The manga section gives some information on real world uses for databases and wraps up the story.  The second section covers things like multi-tier web applications, stored procedures, triggers, partitioning and replication.  It does this all rather quickly and basically just gives the reader an idea of what the terms mean.  There is no information on actually implementation details.  It wouldn&#8217;t have made sense anyway as this would have necessitated leaving the generic approach taken in the rest of the book to discuss specific RDBMS products.</p>
<p>The art work is well done and the side story of Ruruna, her assistant Cain and the fairy Tico is entertaining if a bit silly.  I thought that it really helped to take what is really dry subject matter and lighten it up.  It also introduces examples of real world situations that are being modeled in the data.  They are a bit contrived as all examples are in these situations, but they still help to reaffirm how the various pieces fit together so that databases can be helpful.  Each chapter picks up with the story and is graphics heavy.  This is followed with a by a review section that reverts to a more text heavy mode and then there are review questions.  The answers to the questions appear immediately following the questions.  I think it would have been nice to have them further removed, so that one wouldn&#8217;t have any opportunity to see the answers on accident.  That said, the review and quiz do a nice job of letting one gauge if they have really picked up the material.  If the quiz is a struggle, it is safe to say that going back over the chapter would not be a bad idea.  The questions are pretty straight forward and apply the material directly.  They are not vague or wishy washy, so not knowing the answers means the reader doesn&#8217;t know the material.</p>
<p>As I mentioned, the books sticks to standard SQL.  I was happy to see this.  The only change I would make is that joins are done in the old style as a part of the where clause.  The book discusses various types of joins but does not give examples of anything but a normal inner join.  This may help someone considering this book to get a good feel for just how far it goes.  I found the information on transactions, locking, and indexing to be very good.  I really didn&#8217;t expect much in this regard, but I&#8217;ve worked with experienced, decent developers that I think would learn some things from this book especially about rolling back transactions and the limits of recovery.  (Of course these are the situations where DBAs and developers are going to have some of their more interesting interaction.  My bonus tip of the day is the developer that calls you in the morning about the database problem, is the one who caused it right before he went home the night before.)  That said the discussion on recovery is vendor agnostic like the rest of the book and so there are not really any implementation details.  The indexing section is also a bit brief and while it does a good job of explaining what an index is, I think there is too much emphasis on them increasing read speed with enough emphasis on how they may not do that at all and how they can hurt writes.  These things are all mentioned, but very briefly.</p>
<p>If I were teaching teenagers or even lower class college students, I wouldn&#8217;t hesitate to build a class around this book.  I think that the amount of fun and heightened interest it could bring to the table would far outweigh the need to supplement the book&#8217;s few shortcomings.  I like that it does not tie the reader to any database product.  I would also not hesitate it to a friend who wanted to learn on their own.  I think someone has much higher odds of making it through this book compared to the textbooks on relational databases that I had to work through in school.  But it is just an introduction.  It gives the readers the tools for basic interactions with a database, and a handle on the basic terminology of database administration.  Assuming that one will get more than that could lead to trouble.  All the way around this is a solid book and I wish there were more like it in the IT world.</p>
<p>Title: The Manga Guide to Databases<br />
Author: Mana Takahashi, Illustrated by Shoko Azuma<br />
Publisher: No Starch Press<br />
Pages: 220<br />
ISBN: 978-1-59327-190-9<br />
Rating: 9/10<br />
Tagline: Unleash the power of the database.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekbook.org/archives/129/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Refactoring SQL Applications</title>
		<link>http://geekbook.org/archives/126</link>
		<comments>http://geekbook.org/archives/126#comments</comments>
		<pubDate>Fri, 06 Mar 2009 17:05:18 +0000</pubDate>
		<dc:creator>bookGeek</dc:creator>
				<category><![CDATA[NonFiction]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://geekbook.org/?p=126</guid>
		<description><![CDATA[My past as a DBA probably makes me a bit biased, but the reaction I&#8217;ve seen the most when a database application isn&#8217;t performing as well as would be liked seems to focus on the database side of things. The search for a solution usually seems to center around tuning db parameters, the building (or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://oreilly.com/catalog/9780596514976/"><img src="http://oreilly.com/catalog/covers/9780596514976_cat.gif"></a><BR>
<p>My past as a DBA probably makes me a bit biased, but the reaction I&#8217;ve seen the most when a database application isn&#8217;t performing as well as would be liked seems to focus on the database side of things.  The search for a solution usually seems to center around tuning db parameters, the building (or removal) of indexes and if the budget allows, throwing hardware at the problem.  In their new work, <cite>Refactoring SQL Applications</cite>, Faroult and L&#8217;Hermite bring a much wider range of options to the table.  There is a lot in this little book for the developer charged with fixing an existing application and I think a lot of good information that could save one from making a number of head-ache inducing mistakes on a new application.</p>
<p><span id="more-126"></span>
<p>The book is divided into eight chapters the first two deal with how to approach a problematic application in general.  In the preface the authors say, &#8220;This book tries to take a realistic and honest view of the improvement of applications with a strong SQL component, and to define a rational framework for tactical maneuvers.&#8221;  I found this to be true throughout the entire book and was impressed by how well the examples, suggestions and problems echoed my real life experience.  This book is first and foremost practical.  There is really almost nothing in the book that does not come immediately to bear upon the problem at hand.  I&#8217;ve seen others do a lot less with many more pages.</p>
<p>The examples and benchmarks are compared across three different popular relational database management systems.  They are MySQL, Oracle RDBMS and Microsoft SQL Server.  I thought that this brought up a couple interesting issues that are not directly addressed in the book.  First is that the authors are talking about how to improve performance, not comparing platforms but the numbers are there and may be of some interest to people who would like to compare them.  Secondly, I&#8217;ve met a number of people over the years who get quite animated about insisting that a good DBA does not need to know any certain solution, but rather just the fundamentals.  I think Faroult and L&#8217;Hermite put this idea to rest, though unintentionally.  In order to discuss how to best understand what exactly is happening and how best remedy issues, they show that it is necessary to have an understanding of platform specific issues and tools.  This is true on two levels.  The first is that the location of use of the built in tools for each platform are different.  The second is that what works for one platform does not necessarily work for another.</p>
<p>For example, Chapter Two &#8220;Sanity Checks&#8221; contains a section on parsing and bind variables.  The authors compare performance when queries are hard coded, with new prepared statements on each iteration (firm coded) and with one prepared statement and changing the parameter value on each iteration in a loop (soft coded).  On Oracle and SQL Server the performance was poorest with hard coded, better with firm coded and best with soft coded.  MySQL did best with soft coded as well but actually took a performance hit moving from hard coded to firm coded.  This had to do with differences in how MySQL server caches statements.  The authors took the time to rewrite their code from java to c in order to ensure that the issue was not related to language or driver issues.  This is not to say that one can ignore RDBMS and SQL fundamentals, but rather that to get top performance requires knowledge of platform specific issues.  This also comes out again when dealing with optimizers.</p>
<p>With that in mind, the authors recommend that readers have a solid understanding of SQL and some programming language.  Most examples are SQL and code is given in Java and PHP.  There are also examples that illustrate SQL extensions showing procedures, functions, etc. written for all three RDBMS products covered.  The authors stick primarily to standard SQL but do make note and at times show examples of how things will look in each of the other databases.  This information is current and reflects the most recent versions of the each product.</p>
<p>The fourth chapter, &#8220;Testing Framework&#8221; is incredibly useful.  The authors cover generating test data and then checking correctness of outcomes through comparison.  This is really useful information for anyone working to improve an application, or writing one for the first time.  I think it also a large part of why this book could really appeal to new and experienced developers as well as the developer working on existing or brand new applications.  I think there is a good chance that only the most extremely experienced developer would find nothing new here, or at least some new way to approach a problem.  New developers can learn quite a bit and avoid some bad habits and assumptions without having to gain that information the hard way.  And then the tools for generating random data, large amounts of data and comparing results will provide excellent opportunities for learning and real world application.</p>
<p>The next three chapters cover dealing with specific types of issues and how to improve performance.  The last chapter then quickly describes a scenario of just how the authors step into real world situations and start to attack a problem.  This is followed  with two appendices.  The first is scripts and samples, the second tools that are available to help in finding issues and resolving them.  Some of the authors tools use SQLite, which is discussed briefly in the chapter on creating test data as some of the tools depend upon it.</p>
<p>I think that it has been a while since I&#8217;ve read a book that could have such a rapid return on investment.  There are many suggestions and insights that should enable anyone to squeeze better performance out of just about any database application.  While the focus is on the application side, there is plenty that requires understanding and work on the database side as well.  There is discussion of the parameters and hardware I mentioned at the start of this review.  But rather than the only options, they are one part in a much larger and systematic approach.</p>
<p>The authors relate that often refactoring for this type of application comes into play when something that used to work does not work any more.  This can often lead to an environment of high pressure and emotion.  The desire for a rapid resolution can lead to casting about in the dark for a quick fix or a feeling that cost is no longer as significant since a fix must be had now.  The authors argue, and I agree, that this is exactly when a rational, disciplined process of tracking down and fixing issues is the most valuable.  I agree.  The issue is of course that someone in a position to do something must have the ability to take that approach.  This book will get one well on the way to being in that place.  Of course it can&#8217;t take a brand new developer or DBA an expert.  Much like a degree it can give them some fundamental tools that will allow them to take full advantage of experience as it comes rather than just crashing and burning.</p>
<p>If I could I&#8217;d have any developer on a database centric application read this, and DBAs as well.  There is a lot here for both sides to learn about just how much they depend upon and impact one another.  This may be an idealistic dream, especially for larger shops where often the relationship between those two groups is adversarial, but I think that such an approach could only make life much better for everyone involved.  For anyone looking to enter this world on either side of the DBA or developer equation, this may make a nice addition to their education.  For that individual wearing both hats this could be a life saver.  In this small book they will learn many things to look out for as well as gain exposure to some of the similarities and differences in what are arguably the top three relational database management systems right now.</p>
<p>Title: Refactoring SQL Applications<BR><br />
Author: Stephane Faroult with Pascal L&#8217;Hermite<BR>Publisher: O&#8217;Reilly Media, Inc.<BR>Pages: 293<BR>ISBN: 978-0-596-51497-6<BR>Rating: 9/10</p>
]]></content:encoded>
			<wfw:commentRss>http://geekbook.org/archives/126/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL in a Nutshell</title>
		<link>http://geekbook.org/archives/65</link>
		<comments>http://geekbook.org/archives/65#comments</comments>
		<pubDate>Sun, 30 Nov 2008 20:22:44 +0000</pubDate>
		<dc:creator>bookGeek</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[Nutshell]]></category>
		<category><![CDATA[O'Reilly]]></category>

		<guid isPermaLink="false">http://geekbook.org/?p=65</guid>
		<description><![CDATA[MySQL is frequently touted as the world&#8217;s most widely used relational database management system. Many of the worlds most well known web applications and web sites use MySQL as their data repository. The popularity of MySQL has continued to grow while at the same time many were taken aback by the lack of many features [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://oreilly.com/catalog/9780596514334/"><img src="http://oreilly.com/catalog/covers/9780596514334_cat.gif"></a><BR>
<p><a href="http://en.wikipedia.org/wiki/MySQL">MySQL</a> is frequently touted as the world&#8217;s most widely used relational database management system.  Many of the worlds most well known web applications and web sites use MySQL as their data repository.  The popularity of MySQL has continued to grow while at the same time many were taken aback by the lack of many features considered to be essential to a &#8216;real&#8217; rdbms.  Such naysayers have done little to impeed the growth or development of MySQL.  The first edition of <cite>MySQL in a Nutshell</cite>, published in 2005 gave users a handy reference to using MySQL.  The second edition published in 2008 with coverage of many new features that MySQL fans proudly proclaim as an answer to all those critics clamoring for a more well rounded rdbms.</p>
<p><span id="more-65"></span>
<p>O&#8217;Reilly&#8217;s Nutshell books normally ecompass two types of content; tutorials and command reference. <cite>MySQL in a Nutshell</cite> is true to that format.  In this book though, the line between the two is not as cut and dried as in some of the other Nutshell books.  The closest to pure reference is probably the documentation of MySQL functions.  But there is always more than just a simple statement of function name and parameters.  There are examples and when appropriate, Dyer explains function behavior beyond the inherently obvious.  A good example would be when Dyer explains the output of Sleep() in the case of a user interupting query execution with crtl-c.</p>
<p>The tutorials cover all of the basics but extend well into the meat of succesfully administering an rdbms.  The book begins with an introduction to MySQL itself, instructions on installation and a brief overview of the basics.  These chapters make up the first section of the book and take up 35 pages.  This means that the book is not an introduction to sql or using an rdbms.  This book is first and foremost a reference for the MySQL user who has already moved past the introductory level.  I don&#8217;t think one needs to be an expert to use the book but there is no extended hand-holding for the novice.  This is a plus in my opinion, rather than the publisher shoving in a bunch of extra material in an attempt to make the book useful to every reader regardless of their level of experience.</p>
<p>The second section, &#8220;SQL Statements and Functions&#8221;, understandably comprises the majority of the text.  This second edition breaks down the categories further, leading to an additional five chapters when compared to the first edition.  This is evident with the first chapter, &#8220;Security and User Statements and Functions&#8221; a chapter that was not in the first edition.  Here again the real strength is that the commands are not just documented but they are explained and illustrated with examples.</p>
<p>For the person already working as a MySQL DBA or aspiring to do so, there is excellent coverage beyond the basics.  There is documentation on essential skills like back-up, recovery and replication.  Another new chapter breaks out database table and schema commands on their own.  The brief, but thorough documentation of these features makes this volume extremely useful to the DBA moving to MySQL from another rdbms.  One struggle for me, coming to MySQL from Oracle has been that sometimes things are just done very differently than I expect.  I don&#8217;t need a lot of background, I just need to know the MySQL method and this book makes that quickly available and gets me running until I have time to dig further into the why.  I would think that this book is a must on the bookshelf of any DBA responsible for the care of MySQL.</p>
<p>Section three further shores up this use with very thorough documentation of MySQL server and client tools.  Chapter 15 covers mysqld and mysql.  Chapter 16 covers command line utilities.  There are roughly 30 utilities coverd and I am sure that this chapter could be a real life saver for many.  The book does not cover the gui tools available for managing and working with MySQL.  This is a strength in my opinion.  The tools are built on top of what is documented here and knowledge of the command line commands should adequately prepare the user to deal with any of the various gui tools available out there.  This may be somewhat disconcerting to anyone coming from a MS SQL Server background.  It&#8217;s been my experience that folks who have only worked with MS SQL Server struggle when they don&#8217;t have gui tools, whatever rdbms they are on.  Fortunately for them there are a lot of options available to manage MySQL with a gui, they just aren&#8217;t covered in this book.</p>
<p>The second group that could benefit the most from this book, beyond database administrators is the devloper.  The documentation of sql statements and functions is of course very useful.  The fourth section covers APIs and connectors.  It documents the c, perl and php APIs.  These chapters follow the same easy flow of mix between documentation and tutorial.  The beginning of the chapter covers the basics of connecting, executing statements against the database and the reference follows with the specifics of commands and accompanying examples.</p>
<p>Section five contains three appenices that cover data types, operators and server/environment variables.  All three are concise but valuable and cover the information fully.  The index does an excellent job of covering not only specific terms but subjects and makes it easy to find what the reader wants, even if they aren&#8217;t sure of the specific command they are looking to read about.</p>
<p>The book is based on MySQL 5.0 and makes note of features that will be availble in 5.1 and 6.0.  This does not include master-master replication, since I mentioned that the book does cover that topic.  But the section on replication will still be of use with that new feature I am sure.  There were some formatting issues in my copy.  I don&#8217;t know if it was isolated or a part of a larger number of copies, I did not see it mentioned on the errata web page for the book.  In the chapter on date and time functions, three of the sql examples have formatting errors.  The last three characters of the last line of the example are repeated as a fourth line.  I&#8217;m not sure how this crept in, and it is pretty easy to see that the characters are a typo as opposed to part of the statement but it did throw me for a moment when I looked at them.  Anyone typing the command verbatim will get an opportunity to see what their client does with incorrect sql.</p>
<p>I think that this is an excellent book that will aid anyone who interacts with MySQL on a regular basis.  There is no fluff, no cuteness and no attempt to do anything beyond providing quick access to key information.  The book hits that sweet spot between providing too much or not enough.  It does not try to be everything to everyone as I mentioned.  It will not do all the lifting necessary to get someone who does not even know what an rdbms is to where they will need to be in order to make good use of this book.  It does not dive deep on internals or more advanced topics.  But what it covers in that wide middle, it covers very well.</p>
<p>Title: MySQL in a Nutshell<br />
Author: Russell J.T. Dyer<br />
Publisher: O&#8217;Reilly Media, Inc.<br />
Pages: 561<br />
ISBN: 978-0-596-51433-4<br />
Rating: 9/10<br />
Tagline: A Desktop Quick Reference</p>
]]></content:encoded>
			<wfw:commentRss>http://geekbook.org/archives/65/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Joomla! A User&#8217;s Guide</title>
		<link>http://geekbook.org/archives/35</link>
		<comments>http://geekbook.org/archives/35#comments</comments>
		<pubDate>Sun, 25 May 2008 04:49:12 +0000</pubDate>
		<dc:creator>bookGeek</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NonFiction]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Joomla!]]></category>

		<guid isPermaLink="false">http://geekbook.org/?p=35</guid>
		<description><![CDATA[It doesn&#8217;t seem like it has been 3 years since the Mambo dev team split and a new content management system, Joomla! was born. Over the last few years Joomla has grown to be very popular and has very strong developer and user communities. Joomla is extremely flexible and a wide array of extensions exist [...]]]></description>
			<content:encoded><![CDATA[<p><A HREF="http://www.informit.com/store/product.aspx?isbn=0136135609"><img src="http://www.informit.com/ShowCover.aspx?isbn=0136135609&#038;type=f"></A></p>
<p>It doesn&#8217;t seem like it has been 3 years since <A HREF="http://developers.slashdot.org/article.pl?sid=05/08/18/1622210">the Mambo dev team split</A> and a new content management system, <A HREF="http://www.joomla.org/content/view/12/26/">Joomla!</A> was born.  Over the last few years Joomla has grown to be very popular and has very strong developer and user communities.  Joomla is extremely flexible and a wide array of extensions exist that allow the system to provide many different capabilities.  In &#8220;Joomla! A User&#8217;s Guide&#8221;, Barrie North provides everything needed to get anyone up and running with a Joomla based site, even if they have little or no experience with creating web sites or applications.</p>
<p><span id="more-35"></span>
<p>The book is written with language and content squarely aimed at someone new to the tech side of building and running a web site.  The language is very simple and even relatively basic terms are explained.  As someone with some amount of experience working with software and the web, I didn&#8217;t find it to be tedious.  North does not go on at length, but just gives the information necessary so that someone without the background will be able to keep up.  He can also be rather sympathetic to the reader, encouraging them with things that he says can be difficult.  That did get a little tiring at times, though I would imagine for his target audience these affirmations could be really assuring.  If you are someone who just wants to get a jump on how Joomla works, I wouldn&#8217;t worry too much about this emphasis on the basic.  The book is not overly verbose and so the more basic content does not seem to stretch on forever.  North covers a lot of ground in what is a thin book in comparison to much of what seems to dominate the tech book market these days.</p>
<p>While North doesn&#8217;t wallow in the most basic material and explanations, he never moves on to the really advanced stuff either.  If you are interested in coding extensions, or working with the core code, you wont find much here.  If you would like a definitive guide with an explanation for every feature and option that exists in Joomla you wont get that either.  What North provides is a guide to the most used and most useful information about how to install, set up and run a Joomla based web site.  Probably the most advanced material in the book deals with building templates for customizing the look of Joomla.  Along with instructions on working with Joomla itself, North also takes some time to also deal with how to generate traffic to a site.  For some that chapter may be a bit uncomfortable, though North does a good job of laying out a basic explanation of how things work, as well as practices to avoid.  There is a matching appendix on SEO, which is a dirty word in some places.  I think that North approaches it with a nice balance between reaching for visibility while avoiding actions that are less than desirable.</p>
<p>The book ends with 3 example sites that the reader can be built as they work through the book.  These cover a nice range of cases with one being for a school, another for a business and the third is a blog.  This gives the reader nice opportunities to play with the software while having guidelines that keep moving things forward and give it all some useful context.  A nice companion to this is an appendix with six case studies on existing sites that use Joomla.  North interviewed someone from each site and gives an introduction to the site, a screen shot of their front page and then the questions and answers about the site.  Together this forms very nice coverage on just what kind of possibilities exist from a real world perspective as opposed to keeping everything purely theoretical.</p>
<p>The book tends to lean towards explaining platform specific items, like installation, from the Windows perspective.  I think the assumption is that Linux users will probably already know how to install what they need and are quite likely to already have all the supporting pieces in place.  North explains the installation of <A HREF="http://www.en.wampserver.com/">WampServer</A> for windows users, to get them started with a local install for working through the book.  Everything is very hands on and while the screen shots are not in color they are clear and easy to understand.  There are also highlighted notes that give the reader reinforcement on what is most necessary to take away from a section.</p>
<p>The support for the book outside of the copy itself is very good.  The book comes with 45 days access through Safari.  North&#8217;s <A HREF="http://www.joomlabook.com/">site for the book</A> has downloads for the associated files from the book as well as sql dumps from the MySQL databases that correspond to the example sites from the book.  Everything necessary to build out the examples in the book, or compare one&#8217;s work to the authors should problems creep up.</p>
<p>I consider myself to be somewhat technically proficient and at times I did find myself skimming over material that I didn&#8217;t need.  But I did want to use Joomla well and gain that skill quickly and this book was very helpful in that regard.  I would think for anyone else who didn&#8217;t want to waste any time hunting around, this could be a useful guide.  Another good use I could see for the book is that it would make an excellent gift to anyone who is not a &#8216;geek&#8217; but is using a joomla based site.  This could be a client that has a new site you just built for them, or a relative or friend who would like to have a site of their own but seem to call you for support a little too often.  I know if I hand off a Joomla site to anyone in the future, unless they are already experience with it, they will be getting a copy of this book.</p>
<p>I&#8217;ve given the book a final rating of 8 on a scale of 10.  I do so for two reasons.  The first is that Joomla is constantly under development and it is more than likely that in a couple more years or less these instructions will need a major over haul.  The second is that while the information on generating traffic was somewhat interesting, I&#8217;d have gladly traded it for more information on Joomla itself.  Those are relatively minor complaints and from what I&#8217;ve seen, this may be the top Joomla book available right now.</p>
<p>Title: Joomla! A User&#8217;s Guide<br />
Author: Barrie M. North<br />
Publisher: Prentice Hall PTR<br />
Pages: 480<br />
ISBN: 0136135609<br />
Rating: 8/10<br />
Tagline: Building a Successful Joomla! Powered Website</p>
]]></content:encoded>
			<wfw:commentRss>http://geekbook.org/archives/35/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.230 seconds -->
