geekhack

geekhack Community => Other Geeky Stuff => Topic started by: abdulmuhsee on Mon, 01 December 2014, 18:12:45

Title: Database Ideas
Post by: abdulmuhsee on Mon, 01 December 2014, 18:12:45
So I'm taking this database class that requires me to make a database with SQL Server.  Problem is, I have no idea what to make the database on.  There are no restrictions, but I can't think of anything remotely interesting that has any reason for having a database. 

The idea of a fictional business with CUSTOMER and ORDER_NUM tables and all that jazz seems pretty lame when my options are limitless.
Title: Re: Database Ideas
Post by: belac on Mon, 01 December 2014, 19:52:35
i assume you're interested in keyboards since you're on this forum. you have a pretty good source of interesting data here. start with a simple design to catalog boards, switches, keycaps, etc. then you could expand it to include data from posts on here. then you can run business intelligence algorithms over your compiled data to find out what the most talked about items are, which board topics cause the most conversation, who derails a thread the quickest, etc. data is always interesting if you take the time to study and manipulate it. and the first step is always collecting and storing it in an intelligent way... such as a database.
Title: Re: Database Ideas
Post by: tp4tissue on Mon, 01 December 2014, 20:42:26
Dude...  pr0n star popularity database..   try and beat freeones..
Title: Re: Database Ideas
Post by: rowdy on Mon, 01 December 2014, 20:45:05
Word frequencies.  Scrape web pages or Twitter or something and store the results in the database.

Music collection - artists, albums, songs, lyrics.

Weather - gather weather stats hourly or daily and store them in a database.
Title: Re: Database Ideas
Post by: swill on Mon, 01 December 2014, 20:48:13
Ya lots of interesting things you could do with keyboards.

You could have a keyboards table with different tables for switch types, layouts, etc that are FK key mapped to other tables.

Do you just have to design and populate the databases, or do you have to do interesting things with them as well?
Title: Re: Database Ideas
Post by: Wildcard on Mon, 01 December 2014, 20:48:45
Pull metadata out of your photos, store the GPS locations, interface with google maps API, and stock yourself!
Title: Re: Database Ideas
Post by: swill on Mon, 01 December 2014, 20:51:39
Word frequencies.  Scrape web pages or Twitter or something and store the results in the database.

Music collection - artists, albums, songs, lyrics.

Weather - gather weather stats hourly or daily and store them in a database.
Ya. That's a cool idea. If you go this route and you need a hand with building a crawler/scraper/spider, just pm me. I have some really easy tricks for writing full blown scrapers in like 20-40 lines of code.
Title: Re: Database Ideas
Post by: rowdy on Mon, 01 December 2014, 20:52:36
Got a bar code scanner?  Scan products you buy and record prices against stores.  Write a report to select the minimum price for each item.
Title: Re: Database Ideas
Post by: tp4tissue on Mon, 01 December 2014, 20:55:34
Word frequencies.  Scrape web pages or Twitter or something and store the results in the database.

Music collection - artists, albums, songs, lyrics.

Weather - gather weather stats hourly or daily and store them in a database.
Ya. That's a cool idea. If you go this route and you need a hand with building a crawler/scraper/spider, just pm me. I have some really easy tricks for writing full blown scrapers in like 20-40 lines of code.

well that's exactly like a pr0nstar database   except the words are names... of... pr0nstars
Title: Re: Database Ideas
Post by: Wildcard on Mon, 01 December 2014, 21:01:32
Got a bar code scanner?  Scan products you buy and record prices against stores.  Write a report to select the minimum price for each item.

This I like
Title: Re: Database Ideas
Post by: rowdy on Mon, 01 December 2014, 21:36:06
Got a bar code scanner?  Scan products you buy and record prices against stores.  Write a report to select the minimum price for each item.

This I like

:)

For bonus marks, find a graphing library and graph the price of selected items over time.

If items are grouped by shopping trip, graph your weekly total grocery bill over time.
Title: Re: Database Ideas
Post by: dorkvader on Mon, 01 December 2014, 23:26:47
Got a bar code scanner?  Scan products you buy and record prices against stores.  Write a report to select the minimum price for each item.

This I like

you can use your phone as a barcode scanner so you don't have to buy one.

Some users keep databases of their keyborad purchases, usually using google docs or microsoft excel. I need to update my database now.

I keep info on company, model, model number, serial number, date of manufacture, date of acquisition, acquisition price, acquisition shipping, date sold , sold price, sold shipping, and notes.
Title: Re: Database Ideas
Post by: korrelate on Mon, 01 December 2014, 23:41:47
Just a couple of thoughts:

1. If you really want to study SQL you're going to want to focus on the syntax and try to understand why SQL and "database" programming is so different than most other programming languages. This will take a fair amount of time. That "boring" order number idea has its merits;

a. if you don't have to worry about the data that's filling your tables you can focus on understanding the syntax.
b. sample databases (like Oracle's "scott/tiger" account) demonstrate relationships that you may not understand at the beginning of the course. And if you don't understand them you probably won't bake those relationships into your tables.

2. You really don't need (or even want) a huge database to study SQL. In fact, I'd suggest small tables: when you practice your queries you can identify, by inspection, the rows that satisfy the logic of your query IF your tables are small. If your tables are too large to inspect manually you're almost wasting your time in an intro course.

Don't get me wrong, though: I almost jumped at the p0rnstar DB.


TLDR: If you want to focus on learning SQL just use the data for one of the many sample databases you can find on the web. Make sure it's small.



HTH,

K
Title: Re: Database Ideas
Post by: Oobly on Tue, 02 December 2014, 06:05:32
Character frequencies in different languages. :D

Nope, actually I agree with korrelate, use a small data set so you can see what the queries actually do. Perhaps a database of keyboards you like, with supporting tables of keyswitch type (one to many) and keyboard part colours (many to many). Could even take it further to include spring types, keycap profile, removable cable or not, etc.
Title: Re: Database Ideas
Post by: Wildcard on Tue, 02 December 2014, 16:22:18
I should have mentioned that if anyone is using SQL Server there are already good sample databases that have been created for you to use. Granted, not really related to abdulmuhsee's use case.

AdventureWorks --> http://msftdbprodsamples.codeplex.com/ (http://msftdbprodsamples.codeplex.com/)
Title: Re: Database Ideas
Post by: abdulmuhsee on Tue, 02 December 2014, 21:36:58
Most of the other people in the class have accepted their fate and gone with fictional businesses, i.e. - mechanic shop, snow plow business, car wash, blah blah.  Essentially, their databases will end up as virtual clones of the sample databases we used in the first class.  I'm just trying to do something with a more unique structure/subject that hasn't been done a million times and isn't just available on the internet.  I'm not actually interested in becoming a database admin (barring something amazing happens during this class that changes my mind); it's just one of the class sets I have to take along the way.

The bar code thing sounds like it could actually have a useful reason for having a database if it becomes large enough to really warrant it, and heck, I would envision that research for the XXX database would at least be enjoyable.
Title: Re: Database Ideas
Post by: tchevass on Sun, 11 January 2015, 07:31:03
Most of the other people in the class have accepted their fate and gone with fictional businesses, i.e. - mechanic shop, snow plow business, car wash, blah blah.  Essentially, their databases will end up as virtual clones of the sample databases we used in the first class.  I'm just trying to do something with a more unique structure/subject that hasn't been done a million times and isn't just available on the internet.  I'm not actually interested in becoming a database admin (barring something amazing happens during this class that changes my mind); it's just one of the class sets I have to take along the way.

The bar code thing sounds like it could actually have a useful reason for having a database if it becomes large enough to really warrant it, and heck, I would envision that research for the XXX database would at least be enjoyable.
You could always do a database about users and their keyboards, you could do a pool on this forum and ask people some information like their keyboard, keycaps, switch type etc..