Head First SQL 210
Anita Kuno writes "On a Sunday, a fellow user-group member suggested I learn SQL. The next day, an opportunity to review Head First SQL arrived in my email.
Who was I to question? Prior to opening the couriered package, I had no knowledge of SQL, I knew databases were important, and I had seen the Head First website
once or twice. Now, I can design and create databases, use mySQL databases, and understand questions and accompanying code posted to forums. The credit goes to Head First SQL's style, which introduces
small bits of information, supported through multiple channels (such as photos with humorous dialogue, stick-men and stick-women, and input from critical
personalities whose photos and input pop up throughout the book) regular tests and exercises so the new bit of data can find a home and settle into
your memory. The regularly tested pieces of information are now in my brain so I don't have to look up
the basic stuff." Read below for the rest of Anita's review.
Head First SQL: A Brain-Friendly Guide | |
author | Lynn Beighley |
pages | xxxv & 571 |
publisher | O'Reilly Media, Inc. |
rating | 9 |
reviewer | Anita Kuno |
ISBN | 0-596-52684-9 |
summary | A beginners foundation for SQL |
Head First SQL is about RDBMS (databases) specifically mySQL (version 5.0 or newer) and includes features of other databases. The book defines a database, demonstrates how to navigate an existing database, and teaches how to create simple and complex databases, as well as how to let a database grow from simple to complex.
Foundational understanding of database construction and navigation is the focus. The target audience is those brand-new to the topic as well as those with an acquaintance with the subject and the need for a greater conceptual understanding of databases.
It focuses on the basics of databases, so the main information should remain pertinent until RMDBS get re-conceived. I think revisions, such as the reprint due out in December, will add to the strength of the book as typos and coding errors will be addressed.
The title accurately describes the contents and the subtitle "A Brain-Friendly Guide" describes the goal of the approach. The only requirements for working with the material are: a computer or access to one, the ability to identify your operating system, familiarity with downloading from the internet (links and instructions are provided in the book and the program mySQL community release is free (download instructions are given for Mac and Windows users, I believe that instructions for Linux are not included with the assumption Linux users can access the mySQL community release page and download the program without a play-by-play)), and the courage to learn a command line window user interface if you don't already know this.
Head First SQL is most useful to those who, like myself, have heard passing references to databases and other than knowing they are important have no grasp of what it is, means, or can do. Also, this will be a helpful tool for those who have some of the verbiage, enough to pass at a cocktail party, but who would feel the cold chill of horror if expected to design, construct, and implement a database in conjunction with any of their paid responsibilities.
This is the first book that I have read on the subject of databases and the first computer book that I have been able to finish. So much of the educational information about program x, language y, or application z, depends on a working knowledge of the other two variables. This is a great book for beginners. It talks about data types, it explains null, and then has null explain himself. It tells me the importance of the semicolon at the end. All basic stuff. All stuff that other books take for granted. Many times when I believed I wasn't absorbing anything, along came questions I could answer, a crossword I could complete and match-column-A-with-column-B exercises that demonstrated that I was actually learning much more than than I was giving myself credit for.
It includes illustrations, photos, clean layout, and bite sized pieces of information. All this comes from the goal of allowing both sides of the brain access to the information. It's exactly the kind of approach that I need to reinforce the terms and concepts as well as provide encouraging feedback to keep me progressing through the material. I'm also grateful that it entertains me and keeps me going back to finish the whole thing long after the first blush of excitement has worn away.
Links, to the mySQL program necessary to work with the material, are included in the book as well as a few other links in the appendices. The Head First website is a must in order to link to the forums, newsletter, blog and downloadable files to create various tables used in the book. Head First came out with a web app called Hands On SQL which I would encourage you to try. It won't work with all of the book's material but it is a good-looking tool.
You are welcome to read my submissions on the Head First SQL forum. My user name is anita. Also, the reprint that I mentioned above is due to be in stock as of December 3rd. I'm told by O'Reilly that it includes corrections for errata submitted thus far. Take a look at the Head First SQL homepage to download a sample chapter.
You can purchase Head First SQL from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Strange (Score:4, Insightful)
who benifits? (Score:4, Insightful)
It sounds like a learn SQL in 24 hours book more than a SQL cookbook type resource, may be good for a developer who is starting out in the relational database world but I don't think DBAs will get much. At least, not from what the reviewer says.
Don't get in over your head... (Score:5, Insightful)
On a Sunday, a fellow user-group member suggested I learn SQL...
Now, I can design and create databases
Database design and creation isn't something you pick up over 3 days. Sure, you can make something that works very quickly, but that doesn't mean it's a good design and isn't flawed. Designing a good database structure takes experience with the tradeoffs between full normalazation and added complexity, forseeing future needs, etc.
Re:Don't get in over your head... (Score:4, Insightful)
Making DDL scripts to run in the database is easy once you learn the syntax. Knowing their interaction with each other using Foreign keys, Indexes, and planning their future growth is a completely different set of skills that's only gained with experience with your data.
Re:who benifits? (Score:3, Insightful)
And a book good for a seasoned DBA will be way over the head of a newbie. Not everyone is at the same level. Not every book should be written for 'everyone'.
Having said that...reading one book in a couple of days does not a SQL developer make.
Because it is. (Score:1, Insightful)
Normalization? Keys? (Score:4, Insightful)
Personally, I stand by 'Database Systems' by Connolly and Begg. Not simple, not for newbies but it coveres everything you need to know including doing ER diagrams for your structure... something every DB admin needs to do more of.
Re:who benifits? (Score:2, Insightful)
Re:Don't get in over your head... (Score:1, Insightful)
Re:overnight experts, sigh (Score:2, Insightful)
Re:Don't get in over your head... (Score:1, Insightful)
Re:Strange (Score:4, Insightful)
Note for GP: Understand what you are buying when you pick up a Head First book and why or else the wealth of useful information which they contain will be lost upon you simply because you cannot get past a pre-conceived notion about the presentation.
empowering (Score:2, Insightful)
I find that more rigorous books sit on the shelf and never get read. These guys don't want to be DBAs or to design a database, they just want to be able to find out simple information.
I want to encourage them to at least start into this field, not just because it's career-expanding for them, but also because the more these tools get accepted, the less grief I'll get from management for implementing in-house the things we needed in the first place.
Re:I have a question (Score:2, Insightful)
Re:I noticed the lack of theory in the ToC (Score:4, Insightful)
In general, I have found that every hour of planning time spent tends to eliminate up to 10 hours of coding, and often as much as 100 hours of pre- and post-release re-engineering and bug fixing.
The goal ought to be to optimize time and expenses across the entire software lifecycle rather than cutting down on the most important places where time gets spent (on the design). This generally means spending more time on design, less on buzzword-compliance, and less on actual coding. If you do it right, testing and debugging effort go *down* as well.
Instead people end up with bloated monstrosities when better-designed products could have been built with less time an money.
Re:who benifits? (Score:3, Insightful)
People, unless you have more experience with databases than "my little php page with mysql", don't touch "real" databases. You will go in with a grand idea that was avoided before by real DBAs that knew where locks, indexes, replications, transactions. backups and failovers matter. Newbies come in, create a shiny little script that makes the rest of server cough blood and die in agony. If they are lucky, the annoying ignorant selfish DBA will come in and rescue the world or they'll just quit.
And the parent comment is not trolling, he's still correct. MySQL is way behind PostgreSQL and other rdbms-es. It did a good jump forward with 5.x releases, but it's still not quite there, and since the old generation DBAs are not going to move to it, MySQL will have to wait until its users catch up to get all the features and fixes in place. DB world is not a place where things happen over night.
Just knowing how to make a select or insert or left join makes you no king in real databases. It's experience, logic, control and flow that matters there.