Is there room for one more really good introductory book on databases? George Hepworth thought so, and after reading his book, Grover Park George on Access, Danny Lesandrini agrees. If you're new to Microsoft Access, this book is a great place to start. If you're already an Access guru, you won't find anything new in this guided tour for the database challenged, but it's definitely the kind of book you'll want all of your clients to read.
Learn Access, young man! That was the advice given to me nearly a decade ago by a friend who worked at Microsoft. His nearly prophetic reasoning went something like this: "Microsoft Access is powerful, easy to use, and bundled with some versions of Office. Once people discover it on their desktop, they'll start using it for everything. Before long, these ad hoc data management tools will become indispensable. Users will discover they don't have the expertise to extend these applications and they'll start looking for an Access developer." Boy, was he right.
I took that advice, taught myself Microsoft Access back in the mid-1990s, and found work immediately. The world evolved exactly as my source at Microsoft had predicted. Dozens of my Access programmer friends report the same phenomenon. Many developers have found themselves gaining contracts by inheriting database applications cobbled together by the company receptionist. These crude tools, now essential to the company's daily operations, end up being handed off to a professional developer who knows how to make them sturdy, usable, and secure.
So, I learned Access and I fielded my share of these crudely manufactured, receptionist-inspired databases. Oh, the things I saw. It's enough to make a grown man cry. But what do we expect? Didn't I make the same mistakes myself when I started out? I did–the same mistakes and worse ones. I was focused on learning the properties of controls and how to instantiate a recordset while I should have been learning simple database theory.
Just a few years before my epiphany on the importance of database theory, George Hepworth installed his first copy of Access 2.0. The results of his evolution may be seen at the Grover Park George Web site (www.gpcdata.com), where he provides an abundance of Access-related training, technical assistance, tips, and tricks. The best of this advice has been boiled down into 512 pages of database instruction designed to help you with your evolution as an Access developer.
Old ideas, new approach?
George himself describes his approach this way:
Unlike the run-of-the-mill computer manuals, Grover Park George on Access is organized around a simple, but complete, case study, leading the reader through each step in the process that leads to a complete database application.
While this isn't a revolutionary concept, it is a fresh approach and George holds true to this teaching style throughout the book. In addition to a specific case study, he uses numerous examples and even gives out assignments for you to attempt on your own. It's this kind of hands-on experience that will help you grasp the principles necessary to make good decisions when designing your own databases.
For example, one of the first topics he covers is "Do you really need a database, or will a spreadsheet do?" George walks you through the decision-making process to determine what will work best for you. He skillfully illustrates basic database principles with the image of an evolving filing cabinet. While I'm sure this imagery has been used before, the ideas stand out remarkably clearly, in a way that even the technically impaired could appreciate. I suspect that this is a salutary question even for developers: If you're good at Access, every problem looks like an Access problem. Should you be stopping to consider other options first?
One part of the book that I particularly enjoyed was George's discussion of the numerous and various ways that real-life objects might relate to one another. As I was reading, it struck me that this is often the basis for the novice-level mistakes that make the crude, ad hoc, receptionist-cobbled databases so hard to work with. If I could teach my do-it-yourself clients just one principle of database design, it would revolve around understanding business objects, workflow, and how these translate into tables, fields, and relationships. George provides an excellent discussion of this sort of data modeling in the third chapter.
While I read the book, I made notes of things I liked and those with which I disagreed. While I disagree with George's opinion of the "Create Table by Entering Data" option (I love that option and use it all the time), I heartily agree with most of what he advocates. For example:
• Like George, I'm not a fan of the template databases that ship with Access.
• The first thing you should always do after installing Access is set a number of options. (I would have doubled the size of this section in the book.)
• Learn and use good naming conventions.
• Natural keys shouldn't be used as primary keys. (Let the holy war begin!)
• Table validation rules have a dark side!
• Learn to write VBA code because macros are evil.
I couldn't fairly assess his explanation of how to create simple forms, add simple controls, and write simple code because it's been so long since these concepts were new to me and George's advice seemed so elementary. However, I remembered that this book was written for the "newbie," so the level of complexity might be appropriate. This section does cover all the basics and does so with easy-to-follow instructions.
The best advice
The most important suggestion in the book comes in chapter 5, where George discusses the process of creating tables. He writes:
Give yourself plenty of time during the analysis and design phase of your database projects to think through all the consequences of each choice you make.
I know my clients will continue to cobble together Access databases that will eventually need my attention, but if I could give the receptionist one piece of advice, it would be this: Think through all the consequences before you create that table. Maybe I should buy her a copy of George's book. It just might be the best $29.95 I ever spent.