The Case Against Teaching Access
June 2nd, 2009 | Published in Journalism, Teaching | 12 Comments
I’ve been at the Medill School of Journalism at Northwestern University since last week, talking to faculty members about using data management and analysis tools (spreadsheets, databases, mapping) in their courses. When they asked me to provide some training on Excel and Access, I agreed, but asked for the chance to make a case for teaching any database but Access to students. Specifically, I suggested that universities and training organizations like IRE teach SQLite, which has the advantages of being cross-platform and accessible via a Firefox add-on. My class this semester at George Washington University and my time here at Medill have only reinforced my conviction on this.
The Case for Access
Before I offer the case against using it, let’s look at why we would use Access to teach database concepts. First, it’s widely available as part of Microsoft’s popular Office suite. A lot of news organizations have it already installed, or can do so without much trouble. Second, it has a familiar look and feel for people who have used Excel – sorting and filtering work nearly the same way, for example – and imports and exports Excel files with ease. Third, the query grid that Access has a default makes it easy to get started on actually getting answers from your data.
That’s about it, as far as I’m concerned. I guess you could throw in the ability to generate reports and construct forms, but these are less of an advantage as web-based apps have become more popular and added features. In fact, the last reason I cited, the query grid, isn’t really an advantage at all, as I’ll explain below.
The Case Against Access
Access costs money. In SQLite, MySQL and PostgreSQL, there are superior database programs that are free and open-source. If you’re asking your students, many of whom may be buying Mac laptops, to get Access, you’re putting an additional burden on them. And if that’s all they know once they graduate and manage to land a job, if that place doesn’t have Access, they may need to get it (or have nothing at all).
The Access query grid hides the fact that underneath, Access runs SQL queries. So a user is able to construct and execute a SQL query without writing any SQL whatsoever. This is, imho, a bad thing, as it makes it possible to get results without actually knowing what you are doing. When we teach the query grid, we’re teaching behavior over understanding, or at the very least we’re allowing behavior to compete with understanding. And that doesn’t even begin to address the issue that the query grid doesn’t do everything that SQL can. In terms of teaching, this is critical; we’re not properly equipping students for the opportunities and challenges they could face.
Another issue is data portability: Access databases don’t support dumping to a .sql file, which is a great way to transfer SQL data without losing data types. Access does export to many formats, including Excel, CSV and XML, but the lack of SQL dump ability is a pain for transferring data. If you want to send somebody an Access database, you can either send them the entire file (providing they have Access installed), or you can export each of the tables and have them re-import them. And if you do email that .mdb (or now, .accdb) file, be warned that they do get quite big. To demonstrate this, I loaded the same three tables into Access 2007 and SQLite and the Access file was nearly 3 times the size of the SQLite database.
Finally, there’s the Web. Know many popular Web sites that run off an Access database? Me neither. If all you know is Access and not the underlying SQL concepts, your transition to a popular server software like MySQL is going to be more difficult. Sure, you say, but it’s better than nothing. But as far as the Web goes, Access is almost nothing itself. So why would you teach a program that has very little future on the Web – the platform of today and tomorrow?
The Case for SQLite
SQLite is my choice for the candidate to replace Access in journalism education. In addition to the advantages listed above, it’s also easy to “install.” If you can download files, unzip them and move them to a location on your hard drive, you can “install” SQLite. If you can install a Firefox add-on, you can manage it in the browser. And you can take your database files home with you or email them around. The add-on supports importing CSV files, SQL dumps and XML (although all databases can have issues with importing XML). It looks and works the same on a PC or a Mac. Most importantly, it demands an understanding of SQL that you can avoid when learning Access.
When I first learned SQL at an IRE bootcamp, we were using FoxPro and we learned how to type the SQL commands. That knowledge only becomes more valuable as you learn the limits and possibilities of SQL. Journalism educators and trainers should commit to teaching SQL on the broadest platform possible and with an emphasis on the syntax and meaning of the language itself, not on which buttons to click. Otherwise we risk sending students out into this new journalism world even less-prepared to handle data intelligently, and I don’t think we can afford that.
June 2nd, 2009 at 8:44 pm (#)
Thanks for the thoughtful entry. I’m putting together a syllabus to teach computer-assisted reporting at the University of Cincinnati next fall, so I’ve been struggling with this question myself. And since U.C. has never taught such a class before, I pretty much get to invent the curriculum from scratch.
I will say two things about Access: First, most of the data you’re going to get from public agencies — at least at a local level — is going to be in Excel or Access. I’m sometimes surprised by the number of agencies that maintain their data that way.
Also, being mostly self-taught at this stuff, I learned to write SQL by using the Access query builder and then shifting to the SQL view to see what it did. It was a good intermediate step for me — I learned relational concepts, and how to conceptualize a query.
Having said that, you make some compelling arguments, especially with the cross-platform compatibility and cost. I’ve seen far too many training dollars go to waste because a reporter learned to use software the newsroom wouldn’t pay to support. And that’s especially true in smaller newsrooms where journalism students are most likely to end up.
Plus, the journalism computer lab is all Macs — which, I suppose, makes the decision easy.
June 2nd, 2009 at 9:31 pm (#)
Very good points Derek,
Working at The Chicago Reporter, Access was the go-to tool for joins, large data sets and cleaning. After a few weeks of in-house SQL training from a colleague who attended the bootcamp we were sold.
But I’m still using Access as a crutch. And not knowing SQL has been a factor in slowing development of my programming skills.
Now that I know I can work with SQLite in my browser, I have another reason to stay awake at night.
Thanks for the post. Let me know if I can buy you a beer before you skip town.
Best.
June 2nd, 2009 at 11:40 pm (#)
Well stated, Derek. We’ve long argued in favor of the learn-to-drive-with-a-stick-shift approach. What did the faculty at NU say to your suggestion?
June 3rd, 2009 at 12:25 am (#)
The Medill faculty, both in Evanston and Washington, saw the merits, I think. I don’t delude myself in thinking that overnight this will change, but I think the combination of students with Mac laptops, an increasing focus on the Web and SQLite’s accessibility could win out eventually.
June 3rd, 2009 at 11:49 am (#)
Everything you read here is true. Also, FoxPro for life. That’s how I learned too.
June 3rd, 2009 at 1:00 pm (#)
Interesting post. I’ve actually used SQLite in the past month to handle Florida’s standardized test scores for a big chart we were doing (I used Perl to insert the data and run the queries). I had no idea about the Firefox extension, though — will definitely need to check that out.
June 3rd, 2009 at 7:30 pm (#)
@derek I thought you were nuts for attempting this. I still think you’re nuts, but not for this. You convinced me: there’s no reason to teach a single software package (Access’s QBE Grid) when you could be teaching a skill (SQL) that is used almost universally across all databases.
June 4th, 2009 at 1:38 pm (#)
Thanks for this. The way technology is taught at Medill is pretty busted, but this was very helpful. BTW the cross-platform argument will likely do little to change their view. Medill’s official position is that everyone should use Windows, a point of contention with Medill’s many Mac users.
June 4th, 2009 at 1:55 pm (#)
I find what you’re teaching them interesting – as a current student, there has been little debate on stuff like this, mostly because getting the professors computer-literate beyond “ooh facebook” has been frustrating. Working with databases could lead to endless, marvelous stories – but the tools need to be taught. And I think that making it so it’s top-down, instead of us wondering why we’re not being taught … whatever … would be a marvelous turn of events.
June 8th, 2009 at 5:12 pm (#)
With almost any database software you use to teach, you can easily show the basics of data management – tables, queries(SQL), data relationships, etc. As Gregory mentioned though, I actually learned the majority of SQL that I know by using the Access query builder and then switching to the SQL view to see the actual language used in the query.
The strong points of Access, in my opinion, are the graphical interfaces for building forms and reports and the ability to link and use multiple data sources (Excel, other databases, etc.). Access is a great database for small datasets, and works well as a front-end when using Oracle, SQL server, etc. as a back-end.
Although Access does not have a SQL export/import, I never found this to be an issue. If you have an entire database you want to share, you are normally going to put it on a network server that others can access. You do have the capability to “upsize” to a SQL Server database should you outgrow a standalone Access database.
You’re right in the fact that you probably don’t want to use Access if you are a company or business with several different locations that is going to want to transfer data between locations. You’re eventually going to want to transfer data via the web. However, if you are a small “mom-and-pop” business and you’re not worried about being able to transfer data around the globe, Access can easily provide the data management you will need.
June 10th, 2009 at 8:11 pm (#)
Funny, I learned access at mizzou, and we were taught nothing but SQL. I later learned how to use the GUI query builder on my own. The one and only merit to access as a teaching tool for people just getting their feet wet is that it’s easy to import datasets into… .xls, .csv., etc. files. I wish I’d learned a “real” DBM program in class, would have saved me a lot of time later, but I don’t know how much the unfamiliar interface and concepts would have slowed me down (“what do you mean ‘insert into’? Why can’t I just copy and paste?”)
December 19th, 2009 at 2:39 am (#)
SQLite is actually the most widely deployed database. It is in every Firefox web browser, every installation of Adobe Air, every iPhone, every Android phone, many Blackberry phones, every installation of PHP and Ruby/Rails, and many other places.
I personally find that dealing with data sets is far easier than trying to figure out what those query grids do.
For learning SQL, SQLite is the best. Check out my videos at http://www.youtube.com/user/Jaynonymous1 if you want to see.