While studying a brand new programming language you will find always a few traditional issues that are great to obtain yourself moving. For instance, Hello world and Fibonacci can have how you can read input, print output and compute functions (the bread and butter which will solve essentially everything) and while they're rather easy they're nontrivial enough to become worth their time (and there's always a chuckle available by calculating the factorial of the absurdly high number inside a language with bignums)

Now I am attempting to get a handle on some SQL system and all sorts of the textbook good examples I'm able to think about involve mind-numbingly boring tables like "Student" or "Worker". What nice alternate datasets could I personally use rather? I'm searching for something which (so as worth focusing on) ...

  1. The information could be produced with a straightforward formula.
    • I'd rather not need to enter things manually.
    • I wish to have the ability to easily expand my tables to worry efficiency, etc
  2. May be used to showcase just as much stuff as you possibly can. Chooses, Joins, Indexing... Take your pick.
  3. May be used to return some interesting results.
    • I'm able to accept "boring" data manipulation when the information is real and it has an use alone but I'd favour some thing interesting should i be creating the dataset on your own.

Within the worst situation, I a minimum of presume there must be some kind of benchmark dataset available that will a minimum of fit the very first two criteria and that i would like to learn about this too.

The benchmark database within the Microsoft world is Northwind. One similar free (EPL) the first is Eclipse's Classic Models database.

You cannot autogenerate either so far as I understand.

However, Northwind "imports and exports niche meals from around the globeInch, while Classic Models sells "scale types of classic cars". Both of them are pretty interesting. :)

SQL is really a query language, not really a procedural language, so unless of course you'll be having fun with PL/SQL or something like that similar, your good examples is going to be adjusting data.

So here's what was fun for me personally -- data mining! Visit:

http://usa.ipums.org/usa/

And download their micro-data (you will have to make a free account, nevertheless its free).

You will need to write just a little script to inject the fixed width file to your db, which ought to be fun. And you will have to write just a little script to auto produce the fields (since you will find many) according to parsing their meta-file. That's fun, too.

Then, you can begin asking them questions. Imagine that the questions are about house prices:

Say you need to consider the evolution of house cost values by individuals with earnings within the top tenPercent from the population during the last 4 decades. Then restrict to if they're residing in california. Find out if there's a correlation between earnings and also the proportion of mortgage obligations like a area of earnings. Then group this by geographic area. Then find out if there's a correlation between individuals areas using the greatest mortgage burden and also the area of models occupied by tenants. Your db may have some built-in record functions, but you could program your personal too -- so correl may be the same as fibonnacci. Then write just a little script to complete exactly the same factor in R, posting data out of your db, adjusting it, and storing the end result.

The easiest method to find out about DBs is by using them to many other purpose.

When you are done having fun with iPUMS, have a look at GEO data, with (based on your database) something similar to PostGis -- the only real difference is the fact that iPUMS provides you with resolution when it comes to areas, whereas GIS data has latitude/longitude coordinates. You'll be able to plot a warmth map of mortgage burdens for that U.S., and evolve this warmth map over different time scales.

Possibly that you can do something with chemistry. Input the 118 elements, or extract them to have an online source. Use fundamental rules to mix them into molecules, which you'll store within the database. Mix molecules into bigger molecules and perform more complicated queries upon them.