
Ask HN: Best Databases book? - redxblood
I&#x27;m preparing a website, and i need to create a database to hold data for when users &quot;register&quot; on the site. 
What&#x27;s the best book (or video maybe?) to learn databases from scratch?
======
tjr
Assuming a standard relational database, you might find interest in the
relevant portions of:

[http://philip.greenspun.com/sql/](http://philip.greenspun.com/sql/)

and

[http://philip.greenspun.com/seia/](http://philip.greenspun.com/seia/)

------
ScottWhigham
I think there's a difference between "someone who wants to learn databases"
and "someone who has a specific project to implement in a specific time
frame". If you are in the former, then stay at the high level - learn what SQL
is, what RDBMS' are, and then learn a little about logical database design.
If, though, you want to build a product, you need to (a) pick the product, and
(b) start with books/videos on that subject matter. You can pick up the basics
along the way.

------
brudgers
Why do you think you need a database to hold user registration information?

Why won't CSV, XML, JSON or text files formatted some other way work?

Keep in mind that "learning databases" is not like "learning wordprocessors"
or "learning spreadsheets", but if your serious this self paced course from
Coursera might be a place to start.

[https://www.coursera.org/course/db](https://www.coursera.org/course/db)

~~~
lazyfunctor
I'd also suggest the course along with sections of
[http://www.amazon.com/Database-Systems-Complete-Book-
Edition...](http://www.amazon.com/Database-Systems-Complete-Book-
Edition/dp/0131873253)

------
taf2
Hacking in WordPress code base is a great way to learn MySQL IMO... it does a
very nice job of neatly organizing content using and tags being polymorphic to
represent categories and tags. Really helps to have code samples... otherwise,
reference manuals are great for answering questions about how some specific
syntax works...

------
akg_67
Are you trying to write user registration from scratch? There are already
these components available with most frameworks in Python, PHP. You don't need
to reinvent. These framework come with appropriate DB tables, primarily in
MySQL or PostgreSQL.

Most books on database driven website will give you enough to get started.

------
mfruhling
I really like Joe Celko. "Thinking in Sets" opened my mind up quite a bit.

[http://www.amazon.com/Joe-Celkos-Thinking-Sets-
Management/dp...](http://www.amazon.com/Joe-Celkos-Thinking-Sets-
Management/dp/0123741378)

------
RollAHardSix
[http://www.amazon.com/Beginning-SQL-Paul-
Wilton/dp/076457732...](http://www.amazon.com/Beginning-SQL-Paul-
Wilton/dp/0764577328)

My favorite SQL book period.

