I have this idea for a database: it would hold everything I “need to remember”, and allow future coding projects to access the information. These future projects include a day-planner and historical analysis of what I’ve been up to.
The things I need to remember break down in to two main categories: Events and Tasks. Some tasks (like “wash dishes”) won’t be part of a project, but most will (like “write abstract for AIAA paper”). Both Events and Tasks will always have a category like “Home”, “School”, “Work”, or “Family”.
I want to base this on a few SQL tables because I have used SQL before at work, and it was really straightforward and easy to work with. I also recently became acquainted with it so it is fun and new to me. For this specific project, I was thinking a big table for the actual entries with foreign keys for their project and category.
My question is this: Is SQL the right choice for this, or am I using a jackhammer to open a screen door? I am sure that it is possible to do it this way; but I am worried that there might be a more sensible solution out there, and I am certain that the shiny new-ness of SQL is clouding my vision.
Edit after reflecting on comments: A spreadsheet introduces the possibility of errors due to constantly repeating myself instead of referencing predefined entities; furthermore, it sacrifices machine readability to provide a cumbersome GUI. I accept the notion that SQL would be inappropriate but I do not think a spreadsheet could meet my needs.
Final Edit: I did some more searching around and found a few potential ways to implement this that strike a nice balance between “sensible” and “interesting”. I realized while I was reading y’all’s comments that I needed to decide if I wanted to do it the “right” way or the fun way. And I think I want to do it the fun way.
I did some exploring and found a few solutions that could extend my toolset for future projects without being completely superfluous like SQL.
- KirbyBase is a really simple ruby database that seems to be perfect for small, silly projects like this one.
- There are also a lot of interesting NoSql options that I intend to do more research on: MongoDB, CouchDB, and neo4j.
I am going to go ahead and select the only answer that answered the question and let this topic sink because most of the commentary (not excluding my own) is too subjective for SE. Thank you all for the advice!
7
I think a database is a good idea for any project that requires automated use of existing stored data. SQL as a language is easy to use as you have experienced and once you are are comfortable using it, then interaction with your stored data will be straight forward. I’d say work hard and set your database up to your needs. Then write some queries and automate your life by displaying your daily tasks and task history. It’s simply endless as to what you can do when an idea meets passion.
A spreadsheet IMO is the correct tool for this job. I understand the educational endeavor though but you asked for the most sensible solution and IMO a spreadsheet is the most sensible.