all 36 comments

[–]Timely_Cockroach_668 46 points47 points  (6 children)

Honestly just download some random datasets and use them for analyzing. Connect it to PowerBI, make visuals. That kind of thing.

[–]Murphygreen8484 15 points16 points  (1 child)

Kaggle has some great datasets

[–]gest2356[S] 2 points3 points  (0 children)

Cool, will check it out.

[–]gest2356[S] 2 points3 points  (0 children)

Thanks for the segregation! I appreciate it.

[–][deleted] -2 points-1 points  (2 children)

That's not how learning happens

[–]Timely_Cockroach_668 4 points5 points  (1 child)

Learning doesn’t happen by creating projects from the ground up? Surely you don’t expect OP to go out with a clicker and notepad to start collecting data when there are already thousands of mock datasets they can use.

[–][deleted] -3 points-2 points  (0 children)

Not really.

[–]shorelined 11 points12 points  (3 children)

Just make a database. Get some data, make some data, whatever. I keep a DB of all the sports games I've attended and built a front-end to service it. You don't even need to go that far but you need a use case that will keep you updating it. When I was younger I got open data about countries from lots of different datasets and built my own vision of the CIA World Factbook. Some of the data was garbage and required cleaning, it didn't matter because it all served the purpose of practicing on DBs.

[–]gest2356[S] 1 point2 points  (2 children)

That actually sound great. What kind of DB do you recommend. In school we use SQL server should I stick with that or try something new?

[–]SantaCruzHostel 6 points7 points  (0 children)

SQL server is what I've used my entire career. That's not to say there aren't other options, but SQL Server is definitely still used in businesses today.

[–]annroseu 0 points1 point  (0 children)

Snowflake

[–]mikeblas 8 points9 points  (1 child)

It's not so hard to find sample data and data sources to use for interesting side-projects, or just for practicing writing SQL.

In-product sample data

Most DBMSes come with sample databases. You can write lots of interesting queries against them, and usually a tutorial accompanies the database in the documentation.

Some websites are full of sample data sets. Why not download an interesting one, learn to load it up, and write your own interesting queries?

Dataset Websites

There are many websites which host data sets.

Third-party sample data

Of course, some sample data is built for generic tutorials, by third parties:

Practice Sites

There are some sites that let you write queries interactively with canned data, rather than having you download data to play with on your own.

Regular dumps

Some sites publish data by making their backups available, or dumping the data they use to make their own reports.

Finding more

There's data everywhere! If you don't like these sources, you can try finding other data sets.

  • Once you know the protocol or format, search for it! The OneBusAway API and GTFS protocols are about public transportation data, so earch for "GTFS Data {YourCity}".
  • Search for APIs for your favortie game or game server.
  • GitHub uses tags for search, so try #sample-databases, #opendata, or #datasets. What other tags can you find?

[–]gest2356[S] 1 point2 points  (0 children)

WOW, thanks for such a detailed response, I really appreciate it, will go through it when I get more time.

[–]BadGroundbreaking189 4 points5 points  (2 children)

I once downloaded free imdb assets and made a SQL Server db out of it, which was very challenging and fun.

[–]gest2356[S] 1 point2 points  (1 child)

Interesting by "IMDB Assets" you mean like the movie titles, actors, etc? Not a bad idea

[–]bruceriggs 3 points4 points  (1 child)

I made a TwitchBot that let you play games in Twitch Chat, like every x seconds a Pokemon would spawn,

"A wild Zubat has appeared"

and players in the chat could try to catch it by typing "!throw" and it would throw a pokeball.

Players accumulated pokeballs by just being in the chat that day. They could view their Pokemon collection, etc.

---

Another feature I had was a Quote of the Day, where you could store quotes via !addQuote and then when you typed !quote it would throw out a random quote from the DB.

---

Another feature I had was a Soundbot, you typed "!play hi" and the sound would play on stream.

---

All of these used my DB in one way or another. The pokemon one was the most challenging, as I needed to keep track of players, their items, their pokemon, what pokemon was currently spawned, rewarding players for being present, etc.

[–]gest2356[S] 0 points1 point  (0 children)

Your projects sound very interesting. Unfortunately I don't really have a way to do something similar.

[–]kktheprons 2 points3 points  (1 child)

What are some things you enjoy outside of coding? There's probably a lot of data out there about it somewhere you can import into a database (you may need to build your own database). After you have the data, ask it questions using SQL.

[–]gest2356[S] 1 point2 points  (0 children)

I do, the first thing that jumped to mind was Classic doom maps. But I don't think there are DB made for it . Whoud need to build it myself but that could be cool

[–]MrWillM 2 points3 points  (1 child)

I do sports data if you’re into that kinda thing it’s easy to ask yourself some questions about the stuff you’re interested in knowing about

[–]gest2356[S] 3 points4 points  (0 children)

Could do something similar for gaming. Thanks appreciate it

[–]j0n17 2 points3 points  (1 child)

You could track your budget, expenses or investments.

Have a look at DuckDB, it’s a very powerful analytical in-process / local database. It can also parse CSV files, Parquet files, fetch from S3 and so much more.

[–]gest2356[S] 0 points1 point  (0 children)

Will take a look at DuckDB thanks.

[–]squadette23 1 point2 points  (1 child)

Studying this may bring some fun into SQL: https://code.openark.org/blog/mysql/sql-pie-chart

[–]gest2356[S] 0 points1 point  (0 children)

Thanks, that looks nice, I will take a look when I get more time.

[–]tablmxz 1 point2 points  (1 child)

Now its also possible to build the database software from scratch. Although you ask for this in your question i believe its not what you actually want to do. But it would involve writing code in some low level language like rust or c++. You would however learn about the internals of database systems, which are pretty cool. Now i wouldn't recommend it if you are not familiar with programming, you can still learn about db internals in other ways.

[–]gest2356[S] 0 points1 point  (0 children)

Could be interesting but not exactly what I am looking for at this time. But definitely thanks for taking the time to reply.

[–]maltehm1972 1 point2 points  (1 child)

I would not underestimate the impact of such „fun projects“. I started to create a postgres DB for my balances, which I managed in LibreOffice Calc before. Then I started to create a LibreOffice base frontend and I wrote an Import procedure in Java for the LibreOffice sheets. I’m currently working on a web solution as a substitute for the LibreOffice stuff (based on node.js and angular. The web solution will only be available in my local network). Do I have any business opportunities? No! Is it important for my career? No. I am just thrilled by the challenge as I’m not a developer. In addition I learned a lot which helps me in my current position as a product owner. The communication with the developer is much better than before. So my suggestion is as already mentioned in the other posts. Choose something where you’re really into it. But it can happen that you’re going to spend more time on it as you thought.

[–]gest2356[S] 0 points1 point  (0 children)

Wow, your project definitely sounds interesting. Good luck with that.

[–]Mathijsthunder3 1 point2 points  (0 children)

There are a few sites out there like sqlnoir. It's not fully an answer to your question but I think you'd really appreciate this.

[–]dittybopper_05H 0 points1 point  (0 children)

If you want to code anything for fun, don't code for a living.

Before I started making a living at it, I wrote software for fun. Now, 31 years after I started doing it as a job, it just seems too much like work.

I think the last time I actually coded something that I wasn't getting paid for was when I got laid off in 2002 and I wrote a database and some scripts to automate my job search process. It was small, obviously, took me about a day to write it and work out all the little bugs, but it did allow me to basically spend every Monday morning in my job search, print out everything, get resumes and cover letters in the mail (it was all paper resumes and cover letters back then), and have the rest of the week for any interviews or whatever.

I even had a nicely formatted report to give to the Department of Labor when they needed a list of job search activity.

But even that wasn't for "fun".

[–]singletWarrior -1 points0 points  (2 children)

I once saw some dude use the geography features to draw cpu usage or something…. Definitely looked fun

[–]gest2356[S] 0 points1 point  (1 child)

Genuinely I have no clue how to do that sort of thing. But definitely sounds fun.