I'm having a problem with the design and relationships of my tables in a new database I'm creating.

It's a document release tracking database created in Access. Each document has to go through a review cycle and a sign-off cycle before it can be "released". Each document has a program (and possibly a sub-program as well) and a doc type associated with it which determines who is required to sign off on it during both the review cycle (1st) and the sign-off cycle (2). (Those who review are also required to sign-off so I'm dealing with two different cycles but only one set of authorization signatures).

So, I have document info, program info, sub-program info, doc type info, and authorized signature info. I also need a user table which houses all user names, loginIDs and email addresses because the db is required to automatically email individuals when a document that needs their signature is placed on the review/sign-off table.

Because each document can go through the cycle twice, I create a cycle indicator column (which reads R or S) and linked it to the DocID to create a multiple-field primary key.

I'm still having a problem figuring out which table should contain what and how to link them together to make sure they work properly.

Currently, my tables look like this:

Main Doc Info
---------------
DocID (part of primary key)
DocTitle
Program
SubProgram
DocType
EMType
OrgDate
Designer
Checker
ReviewSO (part of primary key)
DirSO

Program Info
-------------
ProgName
ProgDesc
ProgConNo
PMngr

Sub-Program Info
-----------------
SubProgName
SubProgDesc
SPConNo
SubIPT

Document Type Info
-------------------
DocType

Authorized Signatures
----------------------
AuthProg
AuthFunct
AuthSig
AltSig
AuthMngr

Users Info
-----------------------
UserName
UserEmail
UserLoginID


Can someone please point me in the right direction? I have worked with databases which were created by someone else and I have created smaller, less complicated databases that work great but this is the first, somewhat complex one I've had to create from ground up. Any help would be appreciated.