Access 2010 - Relational databases and normalization for newbies

Posted on 2013-06-07
Medium Priority
Last Modified: 2013-07-06
Is there a description of what a relational database is that doesn't induce suicide in the part of the reader?  The links I'm finding are verbose, raise more questions than they answer and do not enlighten.

Ditto the normalization process.  Is there a description of what the normalization process is that a newbie can understand?
Question by:brothertruffle880
LVL 61

Assisted Solution

mbizup earned 500 total points
ID: 39228509
If articles are "inducing suicide",  have you tried videos?

There are many on YouTube on the subject of relational databases and Normalization, including this by Jim Dettman (EE's Access Topic Advisor and long-time Expert):

LVL 86

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 39228519
A good book on the subject is "Database Design for Mere Mortals". It is targeted to the beginner developer, and generally gets you on the right path. Plus, the induced suicide rate is well below the norm <g>.

But do remember this - database normalization is not a series of "do Step A, then do Step B, then Step C". You must first understand your data and how it relates to your real-world issue that you're trying to solve. It's entirely possible that you could have two databases with identical tables that are normalized differently, since the intended purpose of each may be completely different.
LVL 77

Assisted Solution

peter57r earned 500 total points
ID: 39228574
You're going to get tons of advice on this so I just want to limit my comments to this.
Normalisation is something that makes it easier to develop better applications.  This does not mean that every aspect of a development is made easier by normalisation, but that taking an app as a whole  it produces better designs.
But 'formal technical' books on normalisation are bordering on a waste of time , in my view, if you are developing with Access the sort of apps found in most businesses. Concentrate on the basic ideas found in what is termed 'third-normal-form' and don't get drawn into the multitude of variations beyond that.
My reference is to what I think is a relatively simple explanation.
LVL 35

Accepted Solution

sarabande earned 500 total points
ID: 39228579
i personally think that wikipedia has a much readable definition of what an RDB is.


an RDB contains a number of tables. each row of those tables is called a record. the columns (fields) of the table have a name and a predefined type (string, number, date, ...) which is the same for all records (fields). there is neither a dynamic in the number of fields nor is it possible to have multiple values per field. one column or a selection of columns can be defined to build the primary key of the table. additionaly you can define an index on columns or a combination of columns which could help to search for values. you can add records to the table but each new record must have a unique primary key.

two tables of an RDB can be put into a relation by using the primary keys of table 1 in (a) non-primary key column(s) of table 2. for example if you have a table Person with primary key PersonID and a second table BankAccount, then the second table could have a column Owner which stores the PersonID for that account. this model would allow one person to have multiple bank accounts but not vice versa. it is called a 1:n relation.  an n:m relation would be modeled by an additional table 3 which has columns for both the primary-key of table 1 and the primary key of table 2.

normalization gives rules how the fields of the table should be defined to avoid redundancy and how to guarantee integrity. those rules are defined with different normalforms. for example first normalform (1nf) requires that all fields were atomic (simple, indivisible) and that you don't have two records with same values. even 1st normalform is not easy to fulfil for a concrete model. for example if you have a field which contains street and number, it already violates the 1nf whcih would require two fields instead.


Author Comment

ID: 39248037
Hi Peter 57.
I have no problem with the concept and end-goals of normalization.  It's just that I think it's being made more complicated than it needs to be.

Featured Post

7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
In a use case, a user needs to close an opened report by simply pressing the Escape (Esc) key. This can be done by adding macro code in Report_KeyPress or Report_KeyDown event.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question