Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
I would like to learn something more about NoSQL databases, so I've chosen to create a new project from scratch to handle football results. In my traditional relational database, I have tournaments, teams, results and class tables. All are obviously related.
What might be a good approach for designing a project like this, using a NoSQL approach instead?
Which type of NOSQL database? I suggest you read up a bit on the different types before asking this question. Some are schemaless, and some are just key-value databases (and a whole range between the two).
First, there are clearly defined usecases for using NoSQL over a traditionnal RDBMS. Make sure your system meets one or more of these criteria before jumping into NoSQL, or else you could run into problems.
This youtube video has been a real eye-opener for me. It is about MongoDB and data modeling. You can read more about MongoDB on their website.
Use the right tool for a particular job. By asking this, it's clear you don't know when NoSQL is appropriate for data storage. A lot of people are using NoSQL just because it is the "thing of the moment". Usually NoSQL databases have no schema and should be used when the data is better represented by its model. You should not use a NoSQL database to store data that is typically relational; a relational database should be used in that case. I know that when there is a need to scale the application to be capable of handling millions of transactions then NoSQL model works better (even when the data is relational), but I think that is not your case.
When you say there is no schema @nohros, do you mean NoSQL is basically just key:value system ? ie { key1: value1, key2: value2, ... } ? Or can there be some more complicated schemas in NoSQL ?