473,471 Members | 2,533 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

What shape should a db like this take?

rsmccli
52 New Member
We are making a new personnel db. Lots of employees, about 10 companies (contractors). I just found out the bosses want the contractor companies to be able to remotely add lists of their employees to the db. I was wondering if it would be a better idea to have one big table with all employees in it and a "temporary" table that held new additions (for oversight by central personnel). Or should I make separate tables for each company, then just create a query/datasheet form that would show all of the companies/employees together for use in the personnel centre.


All ideas welcome; having trouble visualizing the best way to go about this.

See also: http://www.thescripts.com/forum/thread773373.html
AC2002 btw

rsmccli
Feb 21 '08 #1
6 1264
cori25
83 New Member
My suggestion to you is to not allow them direct access to the database. That could potentially cause numerous problems, it is always best to keep the backend monitored by 1 person.

I would create a spreadsheet for each company on a shared drive, only give access to the individual who will be inputting the changes/additions to the employees. Keep in mind that the only changes that would occur would be if an employee is hired, fired or promoted.

Once you have this set up and all the employees are in the spreadsheet, link them into the database.

I would create a union query to pull all the data together and then go from there.

Hope this helps
Feb 21 '08 #2
Scott Price
1,384 Recognized Expert Top Contributor
In addition to what has already been suggested: you have a simple One to Many relationship between the two subjects mentioned: Employees and Companies. One Company can have many Employees, but One employee can only have One company.

There isn't any trouble than using one table for the Employees, containing a foreign key reference to the company they work for. This foreign key is the primary key field of the Companies table.

If you have one employee on the payroll of more than one company, then you've got problems :-) Not as far as the database part is concerned, just from the personnel standpoint...

Regards,
Scott
Feb 21 '08 #3
jaxjagfan
254 Recognized Expert Contributor
We are making a new personnel db. Lots of employees, about 10 companies (contractors). I just found out the bosses want the contractor companies to be able to remotely add lists of their employees to the db. I was wondering if it would be a better idea to have one big table with all employees in it and a "temporary" table that held new additions (for oversight by central personnel). Or should I make separate tables for each company, then just create a query/datasheet form that would show all of the companies/employees together for use in the personnel centre.


All ideas welcome; having trouble visualizing the best way to go about this.

AC2002 btw

rsmccli
1. Is your company on a network?
2. Do the contract companies have access to your network?
a. If so are you already sharing data and/or files with the contractor?
b. If not does your company have the ability to give the contract companies VPN access to the network.
3. Have you considered data and network security issues?

This should probably be an EDI project. The contract companies would send you update files in a pre-specified layout. You would import the updates into your database. (I.E. They would send you EXCEL files for you to import.)

Be cautious when exchanging employee/contractor data. Some companies use SSN as EmployeeID. ID theft is a huge issue now days - your company could get a huge fine and you and the boss would be fired most likely.
Feb 21 '08 #4
rsmccli
52 New Member
Thanks for the replies guys, that helps me out alot.
In addition to what has already been suggested: you have a simple One to Many relationship between the two subjects mentioned: Employees and Companies. One Company can have many Employees, but One employee can only have One company.

There isn't any trouble than using one table for the Employees, containing a foreign key reference to the company they work for. This foreign key is the primary key field of the Companies table.

If you have one employee on the payroll of more than one company, then you've got problems :-) Not as far as the database part is concerned, just from the personnel standpoint...
One reason why I was thinking about splitting the dbs into separate company tables is because of the fact that some of these employees will be entered for more than one company because there is some crossover between them. They arent neccessarily working for that company at this time, but it is more of a list of people that have worked for them at some point over the last 5 years or so. So yeah, thats why I wanted to have a Yes/no field called "current" to know which company that they are currently employed by. Anyway, I'll figure it out somehow. Appreciate the help.
Feb 21 '08 #5
Scott Price
1,384 Recognized Expert Top Contributor
Not a problem!

In the case of multiple employees showing as working for multiple companies, the accepted way of handling this is to break it down into three tables:

Employees, Companies and Empoyee/Company. This removes the Many to Many relationship and creates two separate One to Many relationships. This is a far better way to structure the db than splitting each company into it's own separate table.

Regards,
Scott
Feb 21 '08 #6
rsmccli
52 New Member
Not a problem!

In the case of multiple employees showing as working for multiple companies, the accepted way of handling this is to break it down into three tables:

Employees, Companies and Empoyee/Company. This removes the Many to Many relationship and creates two separate One to Many relationships. This is a far better way to structure the db than splitting each company into it's own separate table.

Regards,
Scott
Ok, I'll give it a try. Thanks.
Feb 21 '08 #7

Sign in to post your reply or Sign up for a free account.

Similar topics

125
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from...
4
by: Alex Vinokur | last post by:
http://www.parashift.com/c++-faq-lite/virtual-functions.html#faq-20.6 Faq-20.6 contains function userCode(Shape&) : void userCode(Shape& s) { Shape* s2 = s.clone(); Shape* s3 = s.create();...
0
by: minjie | last post by:
Hello, I have several reports that were written with ADO shape command (in C++) to access Microsoft Access database. Now we have migrated all the data from Access to DB2 UDB (version 8.1), and the...
3
by: PM | last post by:
Hi, Im a student currently designing a game for a project. As part of my game, I want to be able to drag a shape over a series of panels. The shape needs to be able to be dropped on any of the...
18
by: Seigfried | last post by:
I have to write a paper about object oriented programming and I'm doing some reading to make sure I understand it. In a book I'm reading, however, polymorphism is defined as: "the ability of two...
0
by: saravanansvks | last post by:
Dear Friends, I have prepared a programme in Visual Basic for SHAPE OPERATOR.But my coding are changing the shape only.It does not changes the fill style of the shape tool .And it is not giving ant...
1
by: ommail | last post by:
Delphi has nice looking and easy to use components Bevel and Shape. Unfortunately I don't found anything similar in VS 2005. Maybe I missed something? If not - is there some library of free gui...
12
by: ab12 | last post by:
I'm trying to write a program in C that gets a shape outlined with asterisks from the user, and returns that shape filled with asterisks. It will also get the coordinates of a point inside the shape...
2
by: KevinRR | last post by:
Hi, this it a sample code. let say I draw squares on a form SolidBrush myBrush = new SolidBrush(Color.Red); Graphics formGraphics = formnew.CreateGraphics(); ...
2
by: ccgrl451 | last post by:
Okay, so you probably haven't seen my previous question, whats wrong with this code. For those who have, you know what I'm talking about. If not, heres what I have to do. We have to do this...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.