Saturday, July 4, 2009

All Access Pass

Several weeks ago there was some back and forward between data management (DM) types on Twitter about a vendor who was using Microsoft Access as a back-end database for a demo of their software product. The question was whether to take the vendor serious if they are using Access. For any number of reasons I won't discuss here, most IT professionals don't consider Access on par with "real" database management systems. Without wading into that discussion, educators preparing students for DM roles should be aware of the perception and select the appropriate tools for the class.

  • But wait, there's more. Access is a database management system (dbms), but it is also an application development environment and an ad hoc reporting tool. If you are teaching Access as a software application then you should be giving your students a complete overview of all the capabilities. If, however, it is your intention to teach database design, SQL, etc you had better not have a lesson plan on the Forms builder tool. A DM professional will immediately discount a database class that spends a week making and formatting pie charts in Access. They will also discount the students in that class.
  • Talk the talk. At it's core, Access is an end-user dbms geared toward non-professionals. As a result, you will come across "end-user friendly" terms for things that have industry accepted names. Don't use the friendly terms and don't let your students use them either. Not knowing the right terminology just confuses the conversation and lowers the student's credibility.
  • Walk the walk. As with terminology, an end-user dbms will deploy tools that make some tasks easier by either hiding or eliminating complexity. Do your students a big favor and make them get their hands dirty with the complexity. Take the example of creating a table. Access offers a nice interface to quickly type names and select data types (it's in SQL Server too), but I would suggest the students review the equivalent data definition language (DDL) and it wouldn't hurt them to code the DDL from scratch. Same goes for creating queries. It's a real a joy to do a seven table join in a graphical, drag-and-drop tool, but the student is much better off learning to write the SQL now and moving to the graphical tool later.
Which brings us back to the perception issue. For an introductory course or for students who aren't specializing in data, Access is an acceptable starting point. For those students who want to focus on data, however, you would be doing them a great disservice by limiting their experience to Access. You should put a significant portion of their work on SQL Server, Oracle, MySQL or any of a number of enterprise-class dbms tools.

Now if you are having some issues creating and managing that type of environment at your school I'd suggest a conversation with the folks at your nearest DAMA chapter.



Karen Lopez - said...

I agree with your points about MS Access having a development environment rolled in with a somewhat relational database platform.

But nothing would stop an educator from using that same MS Access development environment with a more enterprise-quality DBMS such as SQL Server.

As someone who participates in educational program accreditation, I notice a huge correlation between the use of MS Access in DB classes that overly focus on application instead of data integrity. I don't know which is the cause and which is the effect, but I know if I see Access, I'm likely to see really bad DB design practices being rewarded in that class.

I suspect that MS Access is used heavily in programs where there is a lack of academic background in professional data management.

When I see more professional DBMS's used, I see a greater separation of DB topics from development topics, better data quality practices being recognized, and more complex database topics being addressed. Perhaps this is due to the fact that the DB course has more time to focus on non-coding topics.

So as a single indicator, I don't care as much what tools a program uses for education; what I do care about is that the students are actually getting a data-focused education in data-related courses. I just don't see that as often in programs that rely solely on MS Access for their academic needs.