Ask HN: Best resources on database design

28 points by toutouast ↗ HN
what are the best resources on database design for hackers?

10 comments

[ 3.0 ms ] story [ 32.7 ms ] thread
I am sharing online https://shoppingtshirts.com T-Shirts, crop tops ,hoodies, long sleeve shirt, shopping t shirts, sweatshirts, tank tops Our Values We are committed to providing all of our customers with a positive online buying experience. We also firmly believe that ethical integrity comes before profit. We, therefore, encourage and assist the entire supply chain to adopt environmentally sustainable and ethical production methods. Shipping speeds and pricing Shoppingtshirts.com is an exciting contemporary brand which focuses on high-quality products .We know how important it is to trust shipping service, to know they’ll always deliver a high-quality product, and never lose an order. We also know how important it is to have the process as automated as possible. The less time you spend worrying about shipping. The shoppingtshirts.com delivery promise is one of the best in the marketplace offering great customer service and a hassle-free returns policy. https://shoppingtshirts.com/shipping/
Could you be a bit more clear in the question? Do you want to know how to actually write a database system? Or how to design a good schema? Or how to write classes that implement a schema for you using a framework? Or something else?

In any case there are books on these topics. And there’s open source software that probably does something similar or close to what you want to do. Look at its code and learn from it.

He is a hacker. All of them!

Sorry, cant take this serious.

This is real? That is how you learned your operating system too? By looking at its source code?
"Best" is tricky, but Vertabelo have been doing practical data model design walkthroughs for various scenarios over the past year or two: http://www.vertabelo.com/blog .. things as diverse as data models for a 3D chess set, parking system, pet care company, office leasing, etc.
If you work with mySQL, follow Percona's blog. It's full of awesome stuff.
Start reading about the relational model.

Then read about normalization and denormalization of tables.

You must take on mind this: MODEL. Is just a way to MODEL data. SQL is just a specific language for interact with RDBMS, and them constrain how express the MODEL similar how C++ is not the best way to express the OO MODEL but that is what you get when pick a specific implementation.

The key here is how organize data. The best designs on databases are just well-modeled data, and understand that queries that are costly benefit from using indexes OR (sometimes forgotten!) remodel the tables (or add more tables with a different projection of it).

With this idea firm on mind, you can use any RDBMS in the world and be very good.

You need to spice all this with the knowledge on how use a RDBMS for full effect, so you not get the idea that is "wrong" to use views or stored procedures or any of the tools are you disposal, similar you will use all the power you can get from C++ or Python or whatever. But at the end of the day, is just data organized in tables and how relate all of this.

P.D: And use Postgress for study all of this (and using on production too!). Why? because PG is the one closer to implement the SQL standard, is solid and have a very good tooling and implementation. Any other could work but after using more than a dozen I think PG is the best overall pick for this...

I got a lot out of Jennifer Widom's "Introduction to Databases" MOOC from Stanford. Particularly the normalization concepts. (Don't take them too far, though, as they say "Normalize until it hurts, denormalize until it works"!)