Answers to database design questions by Julie Hogue, Akron, Ohio
Date: 3 January 2015
Please explain (or briefly describe) the general philosophy behind your database design approach.
Before any programming begins, I do an analysis of the clients goals and requirements. I request white papers, reports, or files that they are currently using to determine the field content of tables. Once I feel I have a solid grasp on the scope of the project, I submit a design review to be sure the client and I agree on the scope of the project. After the client accepts the programming analysis, work begins.
What is something you have seen done repeatedly in database design work done by others people which you find to be particularly annoying or detrimental?
The main design flaw I find when modifying another programmer's work is the repetitive use of VBA logic within multiple forms or reports. If I have a piece of logic that is used in multiple areas of the system, I set up the logic one time as a function and then call the function from the various areas that utilize this piece of code. By doing this, I have a single source of logic to modify in the future instead of modifying 10 identical pieces of code.
Given that you are database specialist, how does what do you while creating your database architecture save clients time and/or money?
I believe that it is critical to know about future modules or plans for the software before development begins. This allows me to provide expansion capabilities within the software for future uses. For example, if you plan to integrate your new software to an accounting system, I would like to know in advance so that I can be sure GL Account numbers are available and the links between the different systems are compatible. If the customer ID is numeric in the new software but the accounting software has a text identifier, a future conversion of the data could be avoided by planning in advance.
Where do you live?
I live in Akron, OH
Briefly describe your pertinent work and/or educational background.
I have been working exclusively with Microsoft Access for over 20 years now. I have clients that have started with Access 95 and progressed through Access 2014. This means I have accounts for which I have been working for over 20 years.
Your rate is higher what other programmers and freelancers charge. How does what you do with database design save clients and companies money in the long run?
I do an extensive analysis at the beginning of a project and submit the doc to the client to be sure there is no misunderstanding as to the scope of the project. A project of your size would be broken into phases such as analysis and design, table developement, and the various portions of the software design.
What is the biggest example of a "rule" you routinely break? (Or another way of putting it is: what popular tradition are you most likely to depart from, if any?)
I am extremely proficient with VBA coding. I prefer to avoid using macros and queries and like to embed the logic directly within the forms or modules. I have worked on systems that previous programmers have designed that are not proficient with VBA. They may use 10 queries to achieve what I do in one central location. I waste a lot of time tracking and verifying the correctness of their queries.
Table names: plural? singular? or something else? why?
I use plural and singular names, depending on the table. I use names with no spaces and I keep them short. A long name requires more coding time when writing VBA logic.
How do you name your primary identity fields?
I always include an Autonumber field as the primary identifier. This also allows a smoother transition to SQL data storage.