A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Database Design
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

when to use many-many relationships or different data bases



 
 
Thread Tools Display Modes
  #11  
Old December 16th, 2009, 05:44 PM posted to microsoft.public.access.tablesdbdesign
Jeff Boyce
external usenet poster
 
Posts: 8,621
Default when to use many-many relationships or different data bases

As others have pointed out, the "right" way to normalize is something of an
art, and requires that you know both the domain you're working in and the
output you will need.

A "junction" table is just that, a way to resolve the intersection of two
entities (approx. tables) that have a many-to-many relationship.

Yes, it is possible to have a junction table used to resolve a many-to-many
relationship between tables, each of which might be junction tables
themselves.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"RAK" wrote in message
...
To clarify your conclusions:
One Project can have many Tasks. Yes
One Task can be assigned to (any-of-many) Staff Yes
One Staff can be working for (any-of-many) Agencies No, not in same year

Yes, thanks. This is the direction I was heading but got a little lost
when
I started working on relational links and defining the foreign keys. The
AgencyStaff junction table appears to take care of the relationships for
staff & agency. But I'm not sure what relationships are defined in the
TaskAssignment junction table. Can I impose upon you for a little more
detail
and perhaps a light will shine for me on how to handle the accounting
data.
For instance if I have
a staff table and an agency table and a junction staff agency table;
a project table and a task table and a junction project task table;
an accounting table and a junction table for project staff;

does it look like I'm on the right path or did I get lost in the forest?
Can a junction table field be from another junction table or would it be
better to define the fields from individual tables.


"Jeff Boyce" wrote:

The way you handle many-many relationships in Access is via a junction
table.

It sounds like you are saying that:

One Project can have many Tasks.
One Task can be assigned to (any-of-many) Staff
One Staff can be working for (any-of-many) Agencies

Sounds like:
[Project] table - info specific to a project
[Task] table - Task-specific info, including ProjectID (to which
Project
does this task belong?)
[Agency] table - list of agencies and agency-specific info
[Staff] table - AKA [Employee] table
[AgencyStaff] table - a junction table, showing who worked for which
agency during which time frame
[TaskAssignment] table - a junction table, showing which AgencyStaffID
worked on which TaskID

But you're closer to your situation. Does the above make sense?

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"RAK" wrote in message
...
I am trying to create an operational database. We hire temporary staff
through several different employment agencies to complete work on
projects
for various clients. The term of employment is linked to individual
projects
which are time limited and include different assignments within each
project.
Many of the people we use have worked on many different projects at
many
different times including several years. I started out thinking I
needed 5
different tables and needed to use a many-many relationship. Here are
the
5
tables I identified with some types of data:
Employee_Personal (usual type data)
Employment_History (includes Dates hired, Projects assigned at
different
times, employment title per project, performance records; rehire
status)
Agency (related to each employee, # provided for each project;
performance
of employees provided)
Project (Clients, Dates, subjects, teams needed, staff needed)
Accounting [(Hours to complete project-administration pre training,
training, execution and administrative client reporting); (staff cost
factors
computed for number of hours *title pay); (computer cost and needs per
project); space cost and needs per project)]

I started looking at the tables to try to see what relationships I
needed
and if I needed junction tables. I didn't know how to handle the
different
dates of employment and different assignments for each employee and
wondered
if I could use multi-valued fields or value lists for this data. Then
I
started doubting if I was going in the right direction and thought I'd
see
if
I could get any help.



.



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 10:02 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.