Mike Gorman - Taking Data from Stovepipes to Nuclear Power Plants

Mike ripped into the Invoice app dictionary, which he acknowledged wasn't designed as a teaching tool for database design, but as a teaching tool for Clarion app development. 

He considered many different possibilities for how a business would actually need to deal with invoice data. What about product versions? What about the possibility of getting the same product from different vendors? If your database doesn't accurately reflect the problem domain then you'll expend a lot of energy trying to code around those database insufficiencies. And ultimately you probably won't be able to do that. 

Get the database design right and you'll save yourself a lot of work.

Boy, did Mike ever make a lot of dictionary changes. I think he ended up with something on the order of 30 tables. But as a result of those changes plain ordinary generated code now makes it possible to handle just about any data scenario (although you'd probably want to make some UI changes to smooth the workflow).

Mike has the street cred to back up his radical refactoring: for something like 35 years he has been the secretary of the ANSI NCITS H2 Technical Committee on Database. These are the folks who brought us the 1986, 1989, 1992, 1999, 2003, 2006, 2008 and 2011 SQL standards.