Head First SQL
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.
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.
why does this reads so much like an add for the book ?
Just saying it like it are.
I'll be cooking Simone. Would you like some?
SQL, spread that sexy back-end.. yea.. I'm going in HEAD FIRST!!!!
(think beavis)
Apostrophes are cheap! Use them liberally!
This sounds like a good intro book but nothing of use to a seasoned DBA. It reads as though you gain basic knowledge of the subject of SQL and some basic mySQL syntax but the day-to-day operations of a database are probably not covered since those are very version specific and generally done with odd T-SQL statements or GUI interface.
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.
Ask not what you can do for your country. Ask what your country did to you
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.
AccountKiller
"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."
Sounds like your aversage Slashdotter, doesn't it?
Apply directly to forehead!
Apply directly to forehead!
My UID is prime... is yours?
How does one go about just getting technical books mailed to their home for review?
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
another person that learned database work from a book. Just what we needed.
The Kruger Dunning explains most post on
Prior to opening the couriered package, I had no knowledge of SQL ... Now, I can design and create databases
As a database designer/developer who occasionally does DBA duties as well I initially found this quote terrifying in the extreme. But as long as this experimenting about is done on your own PC for at least the next few months, it's great that you're getting a start on a new (to you) class of software tools. Way too many people plough on using spreadsheets where they should be using at least Access. I encourage anyone with accountant or small business owning friends to pass on this review.
>> who's photo's
Whose idea was it not to proofread this?
[pedantic mode: on]
Had a hard time with the blurb for that matter. if you are going to mention the name of a product several times, please learn how it's written!
MySQL
Not mySQL. For that matter, not mySQL, MYSQL, MY-SQL, or mSQL (that's another program actually)
It's all over their website. Something that simple will help keep you from sounding amateurish as a reviewer.
[pedantic mode: off]
The reviewer clearly states numerous times that this is a good book for an absolute beginner. Nowhere does she state that the book is to be used as a reference for a DBA.
Me, knowing nothing of databases, would probably benefit tremendously from this book.
Apparently all of you, would not. This book wasn't written for you. It was written for me.
Advertising for a vaguely sex act describing book? ('Head first', c'mon!). Slashdot is dangerously close to being spam.
They got both Female AND male ones!
Obama likes poor people so much, he wants to make more of them.
It's a Slashvertisement.
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.
This is my sig. There are many like it but this one is mine.
Basically, it covers some basics of normalization, but no real background about the concepts or RDBMS's. IMO, one needs to cover, at very least, the fundamental concepts of relational math, and the mathematical definitions of SVD, FD's, MVD's, and the normal forms. Otherwise the book is actually teaching people to use RDBMS's wrong (MySQL is great at doing this too, so it is no surprise).
LedgerSMB: Open source Accounting/ERP
If we got head first before writing SQL, maybe the quality would increase. No on second thoughts scratch that. Who'd give a shit about coding SQL if they just gotten head.
These posts express my own personal views, not those of my employer
...until your carefully crafted union of two huge tables fails, taking down a mysql server common to over 400 sites and incurring the wrath of your previously friendly hosting company.
Mental note - test locally first.
biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
Boy, that review sure does sound like a shameless o'reilly sponsored plug for the book. And all the negative banter is so very /.. If it's directed towards beginners, /. will roast it. All that aside, I've actually read and enjoyed this book.
I took some DB classes in college and used SQL quite a bit (albeit nothing that complex) in my work for a few years afterwards at a software company. I wasn't a dev or a dba or anything like that so my rudimentary skills were good enough for the job. Several months ago I decided that I wanted to firm-up on the SQL fundamentals that had grown rusty since college before I tackled a more intense book/online learning method. I'd had great experience with another book in the HeadFirst series so I picked this one up too.
Let me tell you, this book is gold. Though as other posters have said, it isn't anywhere near a comprehensive book that a DBA or SQL coder would be even remotely interested in, but that's not the point. The point of the book is to help newbies (or rusty-people) (re)establish their SQL fundamentals so that they can move on to more complex/cooler stuff. This book does that job very, very well. The examples are fun and they way they engage the reader keeps even the most un-techy person involved while at the same time not insulting the intelligence of any who does consider themselves tech saavy, just SQL ignorant. Granted, anyone who thinks they're a SQL master after reading this book really has no idea what they're talking about and probably has never really looked at a production DB and the code behind it.
If you or anyone you know is looking for a good entry level SQL book, then this would be a great place to start.
So far, I have almost always found heavily normalized designs are almost always a technical win when looking at future needs etc.
Note I am talking about normalization as a mathematical process based on data domains, functional dependencies, etc. This means building a database which is mathematically and semantically solid rather than working on program requirements (i.e. the structure of the data in the db should *not* be based on the program's data structures but rather on the inherent internal structure of the information).
LedgerSMB: Open source Accounting/ERP
I hope it never ends! Keep those "database expert in 24 hours" books coming, they're the locomotive to my gravy train.
Run and catch, run and catch, the lamb is caught in the blackberry patch.
We learn by doing but we can't do unless we understand the syntax.
Additionally, I would highly recommend Codd's Papers, and CJ Date's books on the subject. These will help to provide a theoretical framework for understanding what an RDBMS is all about.
LedgerSMB: Open source Accounting/ERP
I personaly loved Head first Java when first starting with java programming. These books are not "The in depth" kind of books nore are they any good as reference literature. But stil they push the information through in an humorous way. Meaning you learn not knowing that you are learning!
As an introduction to a given topic, I've been pretty satisfied with the quality of O'Reilly's 'Head First' series. They're not meant to be an exhaustive reference for seasoned pro's, but they do a good job of conveying the fundamentals. If this book is on par in quality with the rest of the series, it's probably not a bad place to start if you're approaching it with zero background in databases.
I wonder if this book covers what's really importent. How to design systems that use databases. I've seen way to many system designs where the DBMS is grossly abused. For example to self-educated programer did not know about "joins" so he searches one table, holds the value in a variable andthen looks it up in a related table. Of corce he also does not think about locks, deadlocaks and transactions. You be surprized to see how common this is. I've seen tables design be people who must have never read about "normalization".
What I wonder what I see a review done by some one who knows nothing of the subject is if the reviewer knows what he does not know. Would be know that a book as just teaching surface level syntax and avoiding the more importent issues?
However, as a DBA and DB dev myself, I know one person that I am personally going to buy this book for, maybe as a Christmas present.
My boss, of course! I spend hours per week trying to explain to him why I do things certain ways. This is because he has a slight technical background in SAP, and has just enough knowledge to be dangerous. I would love for him to read this book, it may save me some agro.
I'm in to sadism, bestiality and necrophilia. Am I flogging a dead horse?
Head First! Apply directly to the SQL!
Head First! Apply directly to the SQL!
HEAD FIRST! APPLY DIRECTLY TO THE SQL!
Okay, I didn't say it was a good ad for the book...
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
Comment removed based on user account deletion
JMHO.
...". This suited me better. Direct, to the point.
I bought Head First Design Patterns a while ago as my introduction to design patterns. It must be me by I thought the writing a bit condescending. It seemed to presume I had a learning disability of some sort that they had to take extraordinary steps to over come. I found it difficult to get by the verbosity and reiterative style. I've browsed others in the series with the same impression.
After giving up on Head First Design Patterns, I acquired Gamma, et al, "Design Patterns
Do others perceive the Head First books as I did? Am I over reacting to the authors' intent to address different learning styles?
Apply directly to the forehead!
Ask me about repetitive DNA
Yes people will be able to use a database quickly, but do we want them to?
Most people I have seen using a database have not had any understanding of what they where doing and it was basically and advanced filepointer. I have seen a lot of people using MySQL with MyISAM and happily thinking they got a consistent dataset. I have seen people using databases for communication between servers and using stuff like a time stamp for identifying a row (time stamp generated on local server).
Leave databases to people who understands them!
....troll/insightful/informative/flamebait
AKA, 'trollsiformabait'
I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
seriously, buy me now. you know you want to. c'mon. do it or you will never be what you want to be. buy me.
just because you didn't "pick it up" in 3 days doesn't disqualify everyone else.
;)
as long as keep those bloated dbs running you'll have a job, just don''t tell anyone, just say what they don't know won[t hurt them as long as they have you and you'll be the "magic dba" that drives in your porsche at 2 p.m.
do you guys have offices with a window yet? i bet you do.
I saw this book a Borders and have recommended it to the Network Support Technicians at my company. These guys run our helpdesk and often refer basic questions about network performance to me. I've created a bunch of systems that store data for reports in mysql (current status, roundtrip response time, throughput, usage etc.). People are often amazed that I'm able to produce ad-hoc charts and tables about all sorts of aspects of the network's well-being. All I'm doing is simple queries on simple data and if this book helps others in my organization to query the data in even the most basic way, it will have been well worthwhile.
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.
Nullius in verba
Well Normalization is fine for OLTP DB's but if is more OLAP style then Normalization is less of an issue in the design.
,RMDB design and all the other stuff with the rest of the herd.
As someone who has been thrown in at the deep end of DB design in the past Normalization only becomes an issue when you have to build something big and complex from scratch - small stuff ( a few K's worth of records ) aren't an issue; you can rebuild, you have the technology. Adding to something already exisitng you should tend to follow the conventions of the system - even if they are awful.
Expecting a newbie to be perfect from reading a 'intro' book is daft. Yes they can build and design databases , but they never said they would be future proofed or perfect .
They do give someone the confidence thats its not beyond them and with time and experience they'll be on here banging on about normalization , keys
Comment removed based on user account deletion
...are generally aimed at those new to { insert book's technology topic } and not seasoned programmers / developers / architects.
Many of the comments so far are negative, doubting how someone can become a data architect / DBA from the book... which is not the target audience... IMHO
As one who has seen quite a few programmers use unstructured text files, excel spreadsheets and access (as if it were a spreadsheet) for data storage, I welcome a resource that offers a painless introduction to the "magic" of using a database and the various features it offers. This introduction to the "proper" way to manage data may be the stepping stone to spur further learning...
"Hatred is the coward's revenge for being intimidated"
Comment removed based on user account deletion
IMHO Creating a database is one thing, Designing is another entirely! Making DDL scripts to run in the database is easy once you learn the syntax. Knowing their interaction...and planning their future growth is a completely different set of skills that's only gained with experience with your data.
I'm thinking of creating the Ass First series of books. Motto: When you need to fake it really fast!
Table-ized A.I.
[stick figures] They got both Female AND male ones!
Don't laugh, there's also Lego porn. (Hmmm. My Lego set never had that long part.)
Table-ized A.I.
Why work with SQL when you can work directly with objects?
When writing, she just hovers over the keyboard (like a diviner) and waits to see what results - usually poetry, short stories, a short play, and occasionally, a film script.
And the occasional high quality, commercial grade database I presume.
Man, isn't this way *beyond* rapid app dev? This chick is far out! Or working at IBM on Notes?
It would be helpful to include your own background when doing a review. While I know not everyone works with SQL every day, it might help to put the review into context if we knew what level of technical or development experience the reviewer had. It would make it easier to possibly recommend the book to others if we knew what background the reviewer had in relation to those we might possibly recommend the book to.
If you don't understand anything I post, please accept that I ate paste as a small boy...
USE slashdot;
SELECT string FROM head_first_sql_book_review
WHERE string = 'databases';
START TRANSACTION;
UPDATE head_first_sql_book_review
SET string = 'an instance of a database using the MySQL CREATE DATABASE command'
WHERE string = 'databases';
COMMIT;
Especially the ones above third, they are very, very useful and are all vital to a good database design.
Note: This post might contain sarcasm, you decide.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
What about learning SQL online?
wish they had a head first python book, that would help.
Of course, my department decided that they were too cheap to pay $5K for another Informix license for my project, much less the $10K or $20K that Sybase cost, so I ended up rebuilding the project out of the old Unix join, sort, and look commands.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
If the goal is to make people competent consumers of database applications, and users of predesigned databases, the book cannot do any harm and will certainly do some good.
"I read one book and now I can design databases for paying customers" is a very different issue.
LedgerSMB: Open source Accounting/ERP
Why are you starting a transaction for a single update statement? Normally transactions are required for grouping multiple insert/update/deletes so that they succeed/fail as a unit or for grouping SELECT ... FOR UPDATE; with the related update so you know your information is current.
Also, I would *highly* suggest getting a good book on db design. Chris Date's "An Introduction to Database Systems" may be too heavy for you, so I would start with some reading on relational algebra and the mathematical (rather than dictionary) definitions of the normal forms.
LedgerSMB: Open source Accounting/ERP
And x-rays, and radio waves, and element formation in stars. Her name was G. R. Caughlin and she worked with nobel laureates in areas relating to astrophysics.
:-)
And she could probably program Fortran better than you could
LedgerSMB: Open source Accounting/ERP
SQL-Ledger used the brilliant process of fetching (sometimes thousands) of rows from the db in order to generate aggregates in Perl, in the CGI app....
LedgerSMB: Open source Accounting/ERP
There is a parse error here. Maybe he meant:
who || 's photo' || s
Or maybe something else....
Never forget your concatenation operators....
LedgerSMB: Open source Accounting/ERP
Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
It seems like every book reviewed gets an 8 or a 9. Why?
ghnghnghnghnghn