This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am a school teacher who spends a lot of his time manipulating pupil data in Excel. I've already had an excellent experience with HF Java, and am now happily programming little apps, so I know the HF style really works (in fact it's something I try to emulate in my teaching).
I've read the sample first chapter and although it is obviously very much sandbox level, SQL seems clunky (especially data entry) compared with Excel and a little data validation.
So, I'm wondering why I might benefit from learning SQL (I'm pretty sure I will - I'm just wondering why!). Where's the power in it over Excel? What kind of things will I learn to do in HF SQL that I can't do with Excel and a little VB? I'm sure there is a way of getting my Excel data into a SQL database should I want to, because I get a warning that a SQL statement is being run each time I open a mailmerge document that uses my Excel lists. I'm interested in why I should bother.
I am a Database Developer with about five years experience using SQL with SQL Server 2000. If you are just in need of something to keep track of a classroom then you don't need SQL. SQL is a wonderful thing to learn but if that is the purpose then it is definitely overkill. One of the many great things about SQL is that the concepts are transferable for the most part among the vendors meaning that if you learn the SQL flavor for SQL Server you can apply it to Oracle for the most part or Sybase or MySQL or Access or DB2. I always encourage people to at least take a look at it if looking into a tech career. If you really master it, your skills can transfer between these vendors and you will be a candidate to work in various fields, ie Healthcare, Financial, etc. In a lot of ways data is data and the concepts overlap. But to really be good w/ SQL you have to be devoted to it. It is great for working on large datasets and due to it's relational nature these databases can be broken down into various objects.
If Excel is working for you, I can't imagine any reason to change to SQL for your needs. Indeed, I would imagine implementing your student data to be clunky with SQL given your example.
If, however, you decided to build a series of quizzes online for your students and you wanted to keep track of their performance, and even generate the quizzes from a database, SQL might be useful to you (as would PHP).
Lynn Beighley<br />Author, Head First SQL
Joined: Jul 17, 2006
Thanks for the answers so far. I realise that my original post wasn't terribly clear. I'm talking about manipulating the records for about 1400 students, and the records are very large - everything from academic tracking through their timetable to their date of birth and home address.
Does the larger dataset make a difference?
Joined: Jun 11, 2002
Yes, Simon, the size of the dataset would impact your decision to use a relational database software. That being said 1400 records is tiny by database standards. You are also talking about breaking the data in a relational way by student's personal information and performance but that is really just two more objects. For something like that I would definitely use something FREE. That would narrow the list down to MS Access or MySQL. I am not sure that I would go to all that much trouble for such a small dataset w/ all due respect unless you really want to learn SQL.