Best relational databases books according to redditors

We found 43 Reddit comments discussing the best relational databases books. We ranked the 20 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top Reddit comments about Relational Databases:

u/cabbagerat · 9 pointsr/compsci

I'm assuming you are interested in designing schemas for relational databases, and not writing relational databases.

I really like CJ Date's SQL and Relational Theory and Database Design and Relational Theory. Use The Index, Luke is a nice site, too, with generally less formal information than Date's books, but more practical info about day-to-day problems.

If you'd like to dig under the covers, I'd start with Principles of Transaction Processing. Philip Bernstein knows what he is talking about, and is active in database research. Gray and Reuter's Transaction Processing is a classic, but is less approachable.

u/k3rv1n · 6 pointsr/java

Just a few random items....

  • The best way to learn is to just "do". So start a project to solve something on Github. You can even use JHipster to get you started quickly.

  • Well definitely use Sprint Boot. So I would get books on that maybe. I about about 15 books on the various Spring technologies. They're not absolutely needed, but helped me get up to speed back then. If you mentioned what type of application you're building you could get better answers.

  • The hibernate manual is very good. So I'd definitely get familiar with that. In my hibernate library I have Hibernate Cookbook and Harnessing Hibernate. They're ok, but not really needed unless you're stuck with some.

    As you implement you will run into issues. Searching the web for these specific cases will get you to many blogs / Stackoverflow articles on that specific issue.
u/sirtheguy · 6 pointsr/learnprogramming

Database Design for Mere Mortals is an excellent book that simply explains how databases work, what normalization is and why it's important, and how to create good, well-designed databases.

As far as learning SQL, MSDN has a lot of good documentation on it. I also recommend SQL Server Central, as they have some tests that will help you figure it out.

And, as always, almighty Google should have some excellent information.

I hope this helps you!

u/Rodeopants · 6 pointsr/learnpython

Hug looks really interesting, I hadn't heard of it before. My recommendation however is that you use something like Flask or Django with Django-rest-framework. Hug doesn't really have the documentation, tutorials, or blog posts that can be helpful for beginners with web APIs (if you're not a beginner apologies, but that's the impression I got from your post.) The core idea around Hug seems solid, but you're going to be figuring a lot out on your own, which will inevitably lead to first-timer mistakes.

As far as databases go, before coding anything, read Database Design for Mere Mortals. You're not going to become a DBA overnight, but you'll avoid many of the common beginner mistakes.

u/eliseu_videira · 4 pointsr/SQL

If you are the type that doesn't mind reading a book, there's a book called The Art of SQL, it's all about fine tuning queries for performance, it will definitely help you. https://www.amazon.com/Art-SQL-Peter-Robson-ebook/dp/B0028N4WEC

u/tweaqslug · 4 pointsr/Database

Do you expect more than a few thousand people will access this system. If not then definitely stick with an RDBMS. NoSQL is generally only appropriate if you need blindlingly fast reads, tolerably slow writes, and scalability with commodity hardware. RDBMSes give you balance of read and write throughput for a less-than-crazy number of users, and they make it far easier to maintain data integrity.

Working with relational data is as much art as skill. Even for something as simple as an inventory system (the 'Hello World' of databases) there are a number of choices to make and peculiarities to troubleshoot.

In addition to whatever database specific books you may need, I would suggest you pick up
The Art of SQL. It teaches how think about data and relationships declaratively and to understand complex data systems from the outside in.

u/codearoni · 3 pointsr/node

If you own the data, go with RDBMS. Every time. DDDB's are useful when you want to store data from other systems that you don't really give a damn about (in terms of structure or content).

If I were you I'd do some book learning.

You need to come to a consensus on what constitutes a record in your system and use that to design a primary key. I think if you do some research into introductory DB concepts the rest will become obvious over time, FWIW.

u/qtuner · 3 pointsr/programming

If you want to be good at sql, you have to think in sets. Also you need to pic a platform to learn on because even tho SQL is a standard, the sql will look different on different platforms.

  1. documentation of sql implementation. (ie books online for sql server)

  2. http://www.amazon.com/Database-Depth-Relational-Theory-Practitioners/dp/0596100124/ref=sr_1_fkmr0_1?ie=UTF8&qid=1269299550&sr=1-1-fkmr0

  3. http://www.amazon.com/Art-SQL-Stephane-Faroult/dp/0596008945/ref=sr_1_5?ie=UTF8&s=books&qid=1269299574&sr=1-5

    these books balance each other out. Start with Date first. Celko can get you into trouble in places.

    edit: i just realized that the author wanted to learn sql, not how start out designing databases. Whoops. Syntax can be learned anywhere. The previous books will discuss how to build properly built databases. However poorly built databases will stress you SQL-fu
u/DS11012017 · 3 pointsr/datascience

PostgreSQL and MySQL are your open source go tos.

If you are going enterprise stick with MSSQL over Oracle.

For Database design how far do you want to dig into theory?
https://www.amazon.com/Database-Design-Relational-Theory-Practice/dp/1449328016 dives pretty deep but stays useful.

But, you could get away with just the intuitive understanding of what a 'Star Schema' and 'Snow Flake' schema is for a project like yours.

u/jwfergus · 3 pointsr/dataengineering

Re-iterating what the previous posters said: the fundamentals are the same regardless of system. Learning how to get data out of a SQL system is all about learning how to write SQL.

To effectively learn how to write SQL for data engineering, I highly recommend grabbing a book like one of these*:

  1. SQL Quickstart Guide
  2. SQL Queries
  3. If you're an experience programmer maybe T-SQL Fundamentals (Microsoft flavor SQL)

    and grabbing a sample database for the system of your choice:

  4. MySQL sample Employee db
  5. PostgreSQL sample dbs
  6. SQL Server - stackoverflow db

    and then practice some of your chosen book on the sample db.

    Notes and words of warning:

  • Writing SQL for data engineering or programming is really different than "database administration." A lot of resources on the web are geared towards DBAs and it probably won't help you out much.
  • University courses on databases tend to be more theoretical than practical, for the sake of learning how to write SQL. University isn't a super efficient method of learning to write SQL.

    ^((*I'm not affiliated w/ any of those books))
u/matthra · 3 pointsr/SQLServer

If it's something you might want to learn more on (as back end dev work can be very lucrative), I'd recommend a book, "The art of SQL". It's more than a simple text book or cookbook, it teaches you how to think about sql problems in the context of real world applications.

https://www.amazon.com/Art-SQL-Stephane-Faroult/dp/0596008945

edit Also pinal dave of SQL authority is a life saver, check out his blog at:
https://blog.sqlauthority.com/

u/hnice · 3 pointsr/bioinformatics

The camel book has been (if i'm not being presumptuous) the go-to for most people for as long as I've been coding.

Also, i highly recommend a book that may still exist called data munging for perl. Has like a wizard on it, which is fan-tastic. Actually, he might just be some guy from another culture, and i'm an ignorant racist, though I don't know how presuming you're a wizard is really offensive.

Yeah, here: http://www.amazon.com/Data-Munging-Perl-David-Cross/dp/1930110006

That's really good from a conceptual point of view.

Also, there was this thing called the perl cookbook that you may want at some point, it's o'reilly. Good for not reinventing the wheel.

u/HawkeyeGK · 3 pointsr/Database

You're thinking like a java developer. Stop thinking open source and retrain your mind to think in sets. Once you've got the basics of set-based computing down, the particular DBMS you end up working with is just a matter of learning server config and eventually the nuances of particular execution plan creation and management.

Try something like this that is totally independent of RDMS. Learn the fundamentals of the SQL language, thinking in terms of sets, and basic performance management through indexing and you'll be miles ahead of the game.

u/Korollary · 2 pointsr/compsci

For the theory aspects:
Foundations of Databases: The Logical Level by Serge Abiteboul, Richard Hull, and Victor Vianu
(quite heavy).

A lighter alternative would be A Guided Tour of Relational Databases and Beyond by Mark Levene and George Loizou.

If you can tolerate his endless ranting, CJ Date's books are also good.

u/begriffs · 2 pointsr/haskell

I found the best way to think about relational data in general is to start with an old book, one that covers the subject in a pure way without reference to any particular system. Then you can translate the concepts into a nice modern system like PostgreSQL. http://www.amazon.com/Handbook-Relational-Database-Candace-Fleming/dp/0201114348

If you just want to jump in and try stuff out here are some tutorials and docs.

Here are some tutorials about triggers
http://www.postgresqltutorial.com/postgresql-triggers/

Managing roles (the "official" docs are actually pretty good)
http://www.postgresql.org/docs/9.4/static/user-manag.html
http://www.postgresql.org/docs/9.4/static/sql-grant.html
http://www.postgresqltutorial.com/postgresql-roles/

Creating schemas and using the search path
http://www.postgresql.org/docs/9.4/static/ddl-schemas.html

u/quintios · 2 pointsr/learnprogramming

This is a FANTASTIC book. If I had three thumbs they would all be, ahem, up. ;)

It is platform-agnostic. It's not about learning how to use SQL Server, or Access. It teaches you database design without confusing you with textbook-type instruction.

u/doublenns · 2 pointsr/Database

https://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp/0201752840

I read that book back in college for my Databases class and thought it was a pretty easy read. It's long, but can also surprisingly be a quick read, esp if you just go thru it w/ a highlighter and don't take much notes beyond that.

There's also a newer version of the book available.

Are there any specific questions you have about databases tho, or any specific topics that confuse you? What database software are you guys working with? MySQL? MariaDB? Microsoft Access? PostgreSQL? MongoDB?

u/rbatra · 2 pointsr/SQL
u/abattle · 2 pointsr/programming

A well-thumbed book sitting on my desk. Yet, the post in question wasn't addressing optimization as such. It was more of an overview of models and design with optimization considerations.

(Another favorite of mine is The art of SQL.)

u/Smithman · 2 pointsr/learnprogramming

There's plenty of online courses such as codeacademy to learn SQL. I found the book Inside Relational Databases to be very good too. It uses MS Access and the latest edition is from 2007. I emailed the author with concerns that the content might be too out of date but he told me that the basics around relational db's really hasn't changed in all the years and you can use any relational db (MySQL, etc.) while studying the book. Very helpful guy.

Jersey is a popular JAX-RS API implementation that will give you a very good grounding in RESTful programming in Java. It's actually very easy to use once you understand the concept.

Most web development involving Java these days seems to gear towards some sort of Javascript framework on the client side with a RESTful Java service (e.g. Jersey) on the server side.

u/meppum · 2 pointsr/cscareerquestions

Read "The Object Primer" by Scott Ambler (chapters 1, 2, 4, 5 and 8). And if you want to really kill it "Building Object Applications That Work" also by Scott Ambler (chapters 1-4).

u/__villanelle__ · 2 pointsr/learnprogramming

I found this book: https://www.amazon.com/Data-Management-Organizations-Richard-Watson/dp/0471715360 incredibly friendly for beginners.

I especially liked the exercises. They are similar enough to the things he covers in the chapters that a beginner wouldn't be lost, but just different enough to force you to learn. To check if you did them right, there's an answer key somewhere online. If I remember correctly, there are tables you create and populate with data to help you practice, as well as a database project near the end that gives you just an entity-relationship diagram and then you have to make it and query it.

In the beginning, I just used the command line + text editor (on Linux), because I wanted to be able to look at a blank piece of paper and know how to code it from scratch - it helped me memorize things better. Later I also used MySQL Workbench for convenience, which is free, but I don't know how it performs on a Mac.

u/i_love_sql · 1 pointr/todayilearned

Totally kidding by the way. What database back ends do you have odbc/oledb access to? If it is SQL server...I was mentored (3 jobs ago) by the author of this book. This might give you a good start, even if it is just to understand what is possible with SQL

http://www.amazon.com/Transact-SQL-Programming-Covers-Microsoft-Adaptive/dp/1565924010

u/jinglebells · 1 pointr/programming

The best book I found was the Dummies guide to SQL

Really good as a reference manual as well as a how-to.

And don't worry about being rubbish, I've been doing SQL daily at a professional level for 13 years and it's still quite hard. SQL is very powerful but the syntax is a bit lacking.

Good luck.

u/uname7865 · 1 pointr/sysadmin
u/castor--troy · 1 pointr/SQL

I found this book to be really good:

https://www.amazon.com/Art-SQL-Peter-Robson-ebook-dp-B0028N4WEC/dp/B0028N4WEC/ref=mt_kindle?_encoding=UTF8&me=&qid=1568905015

If you are doing BI with MS SQL I would also start learning DAX.

u/[deleted] · 1 pointr/AskReddit

I liked the learn T SQL in 10 minutes book. It covers the basic stuff. Sign up for tek-tips.com and also mysql. There is a hige difference between learning the basics and understanding the complex stuff so get ready to ask a lot of questions.

u/Snaketruck · 1 pointr/learnprogramming

If you're talking about a publicly available dataset, it will probably be in a delimited format, like .csv or .tsv. Go get MySQL or even the Microsoft SQL Server free version and then you'll just import your dataset into your server and then you can start querying. It's been a while since I've looked, but you might still be able to pick up a free copy of AdventureWorks here, which is a nice starter database w/ several tables so you can figure out how joins work. As for books, I like the Murach books. A nice one for conceptual stuff (first few chapters) is The Art of SQL

u/datadude · 1 pointr/SQL

I wouldn't go that far, but the book has little practical value. Date is very knowledgeable, but he writes like an academic - he can take any piece of prose and suck the life out of it.
The Art of SQL is a much better book.

u/Xdes · 1 pointr/webdev

Database Management. You WILL need a database and knowing SQL isn't enough.

My advice is to pick up Data Management by Richard T. Watson. Yes it is expensive, but it covers through post-graduate material (and also what I used for my intro to databases last semester).

u/katarh · 1 pointr/personalfinance

I'm a business analyst here too - do you have any experience with SQL at all? I'm not creating databases wholesale or even writing the insert statements - our development team does that - but the main reason most places ask for that is because you'll need to be able to write basic queries in order to pull reports. I took a class during my master's degree. This was the textbook we used.

If you put in your cover letter something to the effect of "While I don't have two years of SQL experience yet, I am familiar enough with MySQL to be able to run basic queries for reports as necessary" -- then most places you apply to will overlook the missing experience. They just want to know you can grab data and manipulate it.

u/CowboyProgrammer · 1 pointr/AskReddit

Whether you use MYSQL or other db engines, I always recommend Database Design for Mere Mortals by Michael J. Hernandez.

u/einhverfr · 1 pointr/nosql

Agreed.

BTW, you'd probably find this interesting. I was reading a book and found this quote from 12 years ago:

> "Regrettably, much of the considerable energy of the OODBMS community has
> been expended relearning the lessons of twenty years ago.
> First, OODBMS vendors have rediscovered the difficulties of tying
> database design too closely to application design. Maintaining and
> evolving an OODBMS-based information system is an arduous undertaking.
> Second, they relearned that declarative languages such as
> SQL-92 bring such tremendous productivity gains that organizations
> will pay for the additional computational resources they require. You
> can always buy hardware, but not time. Third, they re-discovered the
> fact that a lack of a standard data model leads to design errors and
> inconsistencies."

The book was http://www.amazon.com/Object-Relational-Database-Development-Plumbers-CD-ROM/dp/0130194603, authored in 2000.

My immediate thought was "just like NoSQL."

u/zbignew · 1 pointr/SQL

I've been a DBA for like 10 years and I don't have a great recommendation for a book on relational database design and concepts. The textbook for my database course in college was terrible, but the lectures explaining a few of the normal forms and their various characteristics were totally invaluable.

Does anyone have a suggestion for a introductory, but in-depth book on RDBMSs? Not interested in SQL-specific. Like, this book is the subject material I would want, but it sounds terrible to me: Relational Database Design and Implementation by Jan Harrington

That's definitely what should be the next step in your education, but I still don't have a good suggestion.

u/theBlackDragon · 0 pointsr/java

I'd personally add
The Art of SQL

Not really suitable as a reference work though, but the information contained herein should be taught in school (but as evidenced by most developers' SQL skills, obviously isn't)