One Version of the Truth - Army style

CNN this morning is reporting that the US Army sent re-enlistment request letters to about 75 officers who had been killed in Iraq. Apparently there's more than one version of the database and although someone cleaned up one version, a different older version was used for the letters.

As a widower, I've received many letters and phone calls for my first wife Melissa, so I can empathise with these families.

As a techie, I'm trying to picture how this particular error occurred. Perhaps it's one of those clumsy Access databases with a zillion copies of the table created by MakeTable queries. Or a database with dozens of poorly names views. The article says that the database was thoroughly cleaned. I wonder if that means someone matched rows and deleted them by hand? If there's a column indicating DateOfDeath, or even DutyStatus, wouldn't those column sindicate if they are eligible for re-enlistment? Maybe the column is there, but there's no RI? Maybe the RI is handled by the front-end and the database has no constraints? I'll bet somewhere in the Army there's a data modeler who argued against the situtation that enabled this error, but he or she was overruled.

Data Architecture has a term, One Version of the Truth, which means that it's important for an organization to use a single copy of the database, or data warehouse. For most organizations violating this concept means that managers receive inconsistent reports. For the Army it means that it could have avoided having to apologize for being insanely stupid.

Comment Notification

Comments

Even more disturbing is this: What do you think they're going to do to fix it?

Dollars to donuts, they're running some query to "fix" the data, and not changing their architecture or at least putting in some hard constraints or data integrity guarantees into the process.

I can imagine them setting up a "process" whereby someone generates the list of mail to go out, then checks the mail-merge data against the death data and performs a filter, rather than going off of "one version of the truth".

My guess, though, as to how this situation arose is this: they have one authoritative system on a VSAM database on some machine which hasn't changed since the Reagan administration. The letter and mail merge system is done in a completely different place. They have no direct links between the two systems. Someone moves a file/tape/whatever to someone else, who loads in the personnel data once a week...

Maybe I'm just getting cynical in my old age.

January 6, 2007 2:38 PM

Leave a Comment

About Paul Nielsen

Paul Nielsen believes SQL is the romance language of data. As such he’s a hands-on database developer, Microsoft SQL Server MVP, trainer, and author of SQL Server Bible series (Wiley). As a data architect, he developed the concepts of Smart Database Design and Nordic – an open source O/R dbms for SQL Server. He lives in Colorado Springs.