Hacker News new | past | comments | ask | show | jobs | submit login

It's tricky because most database writing is about SQL and OLTP and other practical things, but studying those things without first understanding the basic concepts of set theory and predicate logic is kind of like studying C and pointers without first learning about computer hardware. If you learn about pointers first they're confusing, but if you learn about hardware first they're obvious.

Ted Codd's big idea is fairly simple: "we can store data in logical, rather than physical, structures and then use logic statements, rather than algorithms, to retrieve the data."

Wikipedia can often end being more confusing than enlightening but the "informal introduction" on this page is a place to start:

http://en.wikipedia.org/wiki/Relation_(mathematics)

Here's a page I just found about predicate/first-order logic:

http://www.rbjones.com/rbjpub/logic/log019.htm

This book by Chris Date covers a lot of basic relational database ideas, but his writing is a bit tedious:

http://www.amazon.com/dp/159059746X

After that the main mental challenge is just learning to think in sets. Joe Celko has some writings specifically about that in his various books.

After that, the best book I've seen for SQL and practical issues is The Art of SQL:

http://oreilly.com/catalog/9780596008949/

Hope that helps. There's a lot of really bad writing about relational databases out there.




Celko used to post on usenet. I was looking to see if had anything useful to say and someone asked what books he recommended. He replied:

"The real trick is to spend some time with a good theory book first (I like my DATA & DATABASES), so you have an overview of RDBMS concepts. It makes the language much easier. Can you imagine trying to larn Fortran without knowing algebra?

I like Rick van der Lans book for a language reference and intro. Then move on to Hernandez and Viescas. And finish up with my stuff."

Rick has a book specifically for MySQL:

http://www.amazon.com/dp/0131497359/


Oh! These might be interesting. Charles Peirce was Tedd Codd's teacher and clearly had a big influence on his thinking:

http://en.wikipedia.org/wiki/Charles_Peirce#Mathematics

And, in the beginning there were 2 different teams at IBM trying to implement Ted Codds ideas. The ISBL team stuck faithfully to Codds ideas and the Sequel team kind of bastardized them. But SQL won in the marketplace. Hugh Darwen is still bitter:

http://www.dcs.warwick.ac.uk/~hugh/TTM/HAVING-A-Blunderful-T...




Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: