This question is not a purely technical in nature. It is more of a hybrid concept/technical question. I am pretty new to the database programming field. I have been slowly standardizing and normalizing a database for this organization that I started working with this year. One concept that I am attempting to gain a grasp on is this. We have an number of client organizations with multiple offices and therefore multiple locations - with multiple contacts in each of those offices. These organizational offices are mainly located in the United States, but there are also some international locations. For example, XYZ organization may have 5 - 6 office locations. At each of those office locations, we have 10 - 20 individuals that we communicate with regularly and need to keep an accurate and up to date record as quickly and routinely as possible.
I want to create a small DBMS that allows me to create, maintain and update this contact information quickly and efficiently.
Let us say a client organization XYZ has six offices: two in New York, NY, one in Philadelphia, one in LA, one in SF and a final one in London, England. We interact with multiple contacts at every level at these locations. Furthermore, there is a lot of mobility with these contacts.
For example, an Adam Smith may be located in the NY office and transfer to the London England office and a new person - Amanda Smith - takes over Adam's old position when he leaves. I want to quickly update Adams information by changing his office location to London England while also assigning a new contact Amanda Smith to the NY office location that was vacated by Adam. Another reason is that the contact office location may change address. Let us say the NY office moves to a different location. We may have 30 - 40 contacts at that organization whose address information has changed. I would like the ability to change the address in one place and will repopulate those 30 - 40 contacts.
I realize that this is not the correct terminology, but I want this operation to be done at the so called "highest levels" of the database structure so that I can make minimal changes at the top of the structure and this would repopulate all records at the lower levels. Again, I realize that is probably not the correct metaphor as much of this will be performed by the relationships that are defined.
I am sure there are a number of different ways to tackle a situation like this, so any suggestions would be welcome. To summarize, I am looking for some conceptual/technical advice on how to implement a small DBMS to fit these needs.
For general information, I am utilizing Microsoft Access 2013 database program and I would consider myself an beginner/intermediate level of expertise with Microsoft Access.
Thanks in advance...