Link to home
Start Free TrialLog in
Avatar of Bevos
Bevos

asked on

Access 2007: "I want to be normal." or, help me understand and make a table/form normal

Hello, I am new to database design and some of the experts here have said that my forms should follow standard normalization procedures to avoid future problems.  I have read through a few online sources but I'm still not 100% sure how I should go about doing this in the form that I want to attach.  
First normal form standard says that I should not have repeating groups, but I have many.  This is because I am trying to capture all of the information in academic articles (Such as http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0014550).  If I were trying to capture the patient and demographic data in table 1 from this article I would need to have four groups for race.  So I thought it would be good to have in my table Race1, Race2, Race2, Race4 etc... and then Race1Per for the percent of the population etc.  However, this seems to go against normalization practices.  By 1NF standard I should have a table something like: [Call Number] [Race] [RacePer] and then just repeat the entry each time for the race options.  How could I accomplish this with a form?  I'm at a loss right now for how best to construct these forms/tables and any help would be greatly appreciated.

Thank you,
Bevo
EE-ABS-Example.accdb
ASKER CERTIFIED SOLUTION
Avatar of Jim Dettman (EE MVE)
Jim Dettman (EE MVE)
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Bevos
Bevos

ASKER

Hi Capricorn1 and Jim, thanks for the great resources. I think I've normalized each table now, but I am running into many problems with the forms now (maybe because of the database relationships?).  Previously, I had everything on this form in one table with the exception of some fields which were looked up to populate combo/list boxes.  Now, I am getting an error when I open the form (it is asking me for fields in these separate, related tables) and showing me a header only.  I'm kind of stumped on how to add all these new, separate table sources into the form.

Here is now I envision the form working in its new, normalized fashion (please tell me if this is possible or if I am barking up the wrong tree here).

1.) Users will enter general study characteristics in table tblPtCharacteristics which has the primary key, [Call Number]
2.) Users will define groups for this record which are stored in tblGroup (there can be one or many 'groups' per record)
3.) Users will describe the characteristics of the group defined in item 2.  (tblRaceDesc, tblStageCatDesc, tblMale, tblHistologySiteDesc, tblDiseaseDesc) which are in their own tables now and related to the [Call Number] in 1 and also have a field for the group that they are describing
(I am not sure how I do this, the linking to both call number and group defined in 2.  I tried to put [Group] in each of the tables mentioned above, but I am not sure if I am doing this correctly.)
4.) I want users to be able to click a button on the record to add a new group, or any of the other table categories
5.) Create some kind of summary for the [Call Number] record by [Group] so that the user can see quickly if he or she has entered everything necessary.

Any help would be excellent. I think I understand some of this stuff, but it is hard for me to understand everything from the examples shown above.

Thanks again,
Bevo

(Also, why is Access creating strange items in my 'fields list' such as Disease_tblDiseaseDesc)
EE-ABS-Example.accdb
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Bevos

ASKER

Thanks for the great advice everyone.  I will be closing this question and posting smaller, more specific questions like Jeff has suggested.  I appreciate everyone's advice and their patience with me as I try to learn this topic.  

Thanks again,
Bevo
OK

Great.

I'll see if I can assist...