- Local time
- Today, 12:16
- Joined
- Feb 19, 2002
- Messages
- 47,023
I have to say that I am completely mystified at the business process you are trying to model. I agree with Doc, there shouldn't be multiple ways to get from A to B.
Observation. Unless you are managing huge amounts of data, separating addresses into their own table is probably over kill. You also cause your self the problem of handling addresses for companies and for people. What if a company has multiple addresses and some people are at the "plant" and others are downtown at the "office". It is not wrong by any means to keep addresses in a separate table. It just adds a level of complexity that most small applications aren't prepared to deal with.
Maybe if you give us the 20,000 foot view of what this business does and what you are tracking, we can help you to simplify it.
Part of my issue is your choice for entity names. For example, the heart of the pared down section seems to be "Documents". To most people, that is a piece of paper. So we have a company you are modeling that pushes paper around? You have one person, presumably an employee connected to a document. Does that mean that only that person will ever work on this "document" whatever it is? Are you sure this isn't a m-m which would mean you need a junction table? Then you have documentDetails connected to Articles another term which is commonly used to refer to paper but in your case, I'm guessing you are not talking about printed articles or articles of clothing.
I'm pretty sure the relationship between correspondence and documents is backward unless there is only one piece of paper associated with the main piece of paper. You have used three different terms commonly used for paper - Documents, Correspondence, and Articles and their usage doesn't make sense.
One thing that can help but which is completely unrelated to your question is to use a lookup table management tool like
I built the original version in COBOL using IMS over 40 years ago and have implemented something similar in all applications since then. The current version is Access. This is a tool that consolidates all your SIMPLE lookups into a single table and gives you forms and reports to manage them so you don't have to create separate maintenance forms for each lookup table or worse - maintain them by hand.
Observation. Unless you are managing huge amounts of data, separating addresses into their own table is probably over kill. You also cause your self the problem of handling addresses for companies and for people. What if a company has multiple addresses and some people are at the "plant" and others are downtown at the "office". It is not wrong by any means to keep addresses in a separate table. It just adds a level of complexity that most small applications aren't prepared to deal with.
Maybe if you give us the 20,000 foot view of what this business does and what you are tracking, we can help you to simplify it.
Part of my issue is your choice for entity names. For example, the heart of the pared down section seems to be "Documents". To most people, that is a piece of paper. So we have a company you are modeling that pushes paper around? You have one person, presumably an employee connected to a document. Does that mean that only that person will ever work on this "document" whatever it is? Are you sure this isn't a m-m which would mean you need a junction table? Then you have documentDetails connected to Articles another term which is commonly used to refer to paper but in your case, I'm guessing you are not talking about printed articles or articles of clothing.
I'm pretty sure the relationship between correspondence and documents is backward unless there is only one piece of paper associated with the main piece of paper. You have used three different terms commonly used for paper - Documents, Correspondence, and Articles and their usage doesn't make sense.
One thing that can help but which is completely unrelated to your question is to use a lookup table management tool like
Table Maintenance Mini-app
When you have several lookup tables in an application, it becomes a pain to create separate tables and maintenance forms to manage the contents. This sample is an application that I first developed over 40 years ago, long before Access was a twinkle in Bill's eye. It was constructed using...
www.access-programmers.co.uk