Besides the Date I don't see how Payroll
is an entity to itself... even though it can be argued that it is the left
many in a many-to-many relationship...
a many-to-many relationship is always between two entities: one Order may
consist of many Products AND one Product may be included in many Orders.
I cannot tell when or when not to use
a joining table to establish a many-to-many relationship
in a relational data model, you don't use a joining table to *establish* a
many-to-many relationship, you use it to *resolve* one. and YOU don't
"decide" that tables have a many-to-many relationship, the table
relationships are determined by the real-world relationships you're
modeling.
the first step in creating a database is to walk away from your computer.
sit down with pencil and paper, analyze the business process you plan to
support with a relational database (in all but the simplest databases, this
is often a multi-step, multi-day process), define the "real-world" entities
(tables) you need to track and the data elements that describe each entity
(fields), and normalize the entities/data. define the relationships between
those entities: one-to-one (rare), one-to-many (predominant), and
many-to-many (not unusual, but can't be modeled directly in a relational
design, so it must be "resolved" with a linking table - used as the "many"
side in a one-to-many relationship with each entity table). in each
relationship, determine which is the dominant (parent) table and which is
the subordinate (child) table. in a one-to-many relationship, the "one" side
is the parent table. in a "resolved" many-to-many relationship, both entity
tables are parent tables, and the linking table is a child table to each. in
a one-to-one relationship, it's not clear-cut; you have to determine which
is the parent table based on the reason for using this rare relationship -
in practice, it's usually pretty clear which table is the parent and which
is the child.
when you've done all the work described above, *and not before*, then you're
ready to sit at the computer and begin building the table/relationship
structures in Access (or any other relational database tool). the above
outline may sound detailed, but i've given it to you "in a nutshell".
relational data modeling is the most difficult, and most crucial, aspect of
building any relational database application; most people struggle with the
concepts, and master them through reading, study, and practice. one good
text on relational data modeling is Database Design for Mere Mortals by
Michael Hernandez. the following website also has many links to valuable
information about tables/relationships and normalization:
http://home.bendbroadband.com/conradsystems/accessjunkie/resources.html
beginning with the Starting Out and Database Design 101 links.
this website also includes many, many other resources to help you as you
move through the database development process.
hth