Dear all,
I am new to databases, I know the basics, but it ain't my profession. I was asked at work to design and build a small HR (human resources) system. I intend to use MS Access 2010, and perhaps to rap it with a simple .Net application, we'll see.
I need your help with designing the DB, what looks very complicated (up to impossible) for me, might look simple and immediate to you. I am trying to build an ERD and can't figure out how.
The DB should contain all the data regarding the company's employees and advisers, but mainly employees.
For each employee I need the DB to save:
basic data:
name, ID number, D.O.B, gender, marital status, address, phone number, bank name, bank account number, email
education:
degree - BA/MA/PHD,... institution of education: name of college / university, specialization
work history:
previous employers, job description, inner ascription department in company, date of arrival, manager's name, subordinate employees
employment conditions:
wages, employment % (100%, 50%,...), insurance, #of holiday days left, pension fund, advanced study fund,...
Inner ascription:
Department, date of beginning work, manager's name, employees under management
employment chronology:
holiday without pay including dates, birth holiday including dates, work accidents including dates, active/non active
Now for the tricky part. Some employees move after some time from one department to another, or they change a name (after marriage or divorce), or maybe the employment conditions change (better wages). I need to keep record of history for several parameters...
I will also need to restrict the authorization for using the system for a limit number of employees, but I guess I can do that later in the raping layer.
I don't know if I should put all this in one big table, or to divide it, if so, how ? I also don't know if I should use some kind of inheritance, making a person and then adviser and employee inherit some attributes ( I understand the theory, but don't know how to implement it in Access, but that's a later stage).
I would appreciate your guidance on how to build an ERD of this complicated problem, I can always shove everything in one big table and make it like an Excel sheet, but that's not the idea here, I want something more efficient.
A clarification - I do not expect anyone to actually draw me an ERD, I just need some guidance, like which tables would you create, maybe a list of relations, I will try taking it from there. ANY sort of guidance would be most appreciates, as I do not know how to start.
THANK YOU!