I am working on a database for a tracking system.
It has three basic types of companies. The Sales Company, the buying company, and the service providers.
Buying company buys one or many trucks from the sales company. The trucks then have to go through a number of different service providers. The service providers are responsible for updating the status of the truck when they get it and post updates on it. Once done they send it on its way to the next service provider, until finally the truck gets to the buyer.
The buyer can always log in and see status of the truck, where its at and so on.
All three companies can have multiple regions (such as midwest etc) and each region can have multiple locations. All companies have many users under them with different access levels. Users are mostly location level, but some users have access to the entire regions data, or perhaps even the entire company (all its regions and locations).
Sales Company can modify all of the trucks attributes and assign as many service providers to it as they want.
Service providers can only modify the status of trucks assigned to them
And Buying Company can only view status of the trucks assigned to them..
Here's a diagram i came up with it in SQL Server Enterprise Manager
http://www.abdullahahmed.com/workfiles/trackdb.gif
Im sure its not the best way to approach this. But thats why im here looking for advice. Never done relational db design before so im a bit stumped...
Thanks for any advice
