Teaching SQLite
January 23rd, 2008 | Published in Car Tools, Teaching | 4 Comments
Tomorrow marks the beginning of another semester of teaching CAR at George Washington University. It should have been last Thursday, but weather prevented me from getting back from New York in time. One of the issues that people who teach CAR have to deal with is which database manager to use. Most opt for MS Access for a variety of reasons: it’s readily available, has a familiar-looking GUI and provides a less-daunting introduction than a command-line. But most folks who use Access recognize its limitations – files get big in a hurry and ponderously slow queries being two – and I’ve often thought about teaching something else to my students. But what?
MySQL? Sure, although getting a campus department to put a database server on a bunch of PCs isn’t always easy (or feasible). And sending sql dumps back and forth for assignments doesn’t seem like the best way to do things. SQLite, on the other hand, has a tiny footprint and you can exchange database files with ease. The lack of a standard GUI is a selling point for many folks who love the command line, but not for students just getting into CAR.
Last year I showed SQLite to my students, and while they found it a little off-putting, they didn’t freak out. This year I’m going to try to incorporate it more into the curriculum, thanks to the Firefox Add-on SQLite Manager. If you’ve got SQLite installed, it’s simple to install the add-on and then get to creating and querying tables. It doesn’t have all the utility of the Access GUI, so I won’t ditch Access completely. But it’s nice to be able to show students that there are other options out there, particularly ones that work well with the Web.
January 24th, 2008 at 9:52 am (#)
Derek,
Just curious… What do you do for students who use Macs and can’t run Access?
G
January 24th, 2008 at 10:43 am (#)
Glen,
I’ve been relatively fortunate in that GW has a number of PCs around campus that students in the situation can use, and the classroom where I teach is all-PC. But this will be an increasing issue, I think. There are a few options in that case: teach a platform-agnostic database like MySQL or SQLite, have the university provide access to PCs or even get copies of Windows and Parallels to allow students on Macs to install and run Windows programs.
Derek
January 24th, 2008 at 8:15 pm (#)
One of the advantages of trying to do CAR on a Mac is that it pretty much forces you to learn the MySQL command line.
But if I was learning database concepts for the first time, I would want a GUI so I think you’ve got the right idea. Although, I wouldn’t want to do anything with more than a few hundred thousand records on Access.
Now, if we can only get ESRI to port ArcView to Leopard, we’d be in business.
March 13th, 2008 at 11:07 am (#)
Your case is solid. Just being able to exchange files easily is huge. When I was developing SQLite-based applications, I would often email the database file home and continue working on it at night, and then email it back. If I was working on a joint assignment with somebody, mailing those files back & forth is much easier than synchronizing MySQL or whatever.
I think that learning the SQLite command line is more instructive IMHO because it’s grammar shows much better how to use SQL to operate on sets and relations (which is what SQL is all about).
Check out souptonuts.sourceforge.net if you need SQLite programming examples.
Check out http://www.squidoo.com/sqlitehammer if you want SQL examples and ongoing discussion on SQLite.