Database Design Basics

What is a Good Database Design?

“Like a house, a good database is built with forethought, and with proper care and attention given to the needs of the data that will inhabit it; it cannot be tossed together in some sort of reverse implosion.”  Louis Dawson

The database is the cornerstone of most business projects.  So, it’s best if it’s user friendly and highly optimized (achieving the best performance possible) and has integrity (redundancies and dependencies have been identified and dealt with).  Below are some common attributes that your database should have to be considered “well designed.”

  • Determine the Data to Be Used – Many believe that 60% of the time creating a database should be spent in design phase.  That’s 60% of building time on paper without even opening Access.  This is true even if you use one of Access’ pre-built templates.  You need to be sure your data needs are going to be met in the template.   We will discuss the steps for the design process in the lesson titled “The Design Process.”
  • A Naming Convention – We suggest that you follow the International Standard Office – ISO 1179 naming conventions. Here are a few guidelines. It’s really important to name things what they are.  Users can get confused by acronyms and abbreviations.  Below are some examples of well-named items for an Access database.

For naming tables, queries, reports, etc.

A report about customers rpt_Customer
A table of manufacturer’s information tbl_Manufacturers
A student’s name StudentLastName
StudentFirstName
An address City
State
Zip
A query of sales receipts qry_SalesReceipts
A form to enter a payment received frm_PaymentReceived
A query of sales receipts qry_SalesReceipts
A form to enter a payment received frm_PaymentReceived

For data items in a table:

A student’s name StudentLastName
StudentFirstName
An address City
State
Zip
An account number StudentID
CustomerID
  • Normalized Data.  To ensure data integrity which is vital to a well functioning database you should take the time and steps to normalize your data.  What does this mean? To the fullest extent possible, there should be no redundant data within a database.  Each data item should have a unique identifier.  For example, each student has a unique student identification number. Further, all data in a table should be directly dependent on the key.  We will discuss the steps to take for data normalization in the “Data Normalization Process” section.