3 Replies - 554 Views - Last Post: 21 December 2017 - 11:46 AM Rate Topic: -----

#1 wtp   User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 334
  • Joined: 08-December 11

Review my database design

Posted 20 December 2017 - 10:08 PM

I'm trying to make a database for a tuition reimbursement system. Employees submit a request and it must be approved by their supervisor, department head, and the benefit coordinator. It should cover different "Education Types" like tuition, certifications or training. The "Education Types Coverage" should show the percent covered for each "Education Type" (tuition 80%, certification 100%)

I used Class Table Inheritance for Supervisor and Benefit Coordinator. It seems odd for those tables to have one column, but I think it shows they are Employees that are Supervisors or a Benefit Coordinator.

From what I understand there's no perfect database design. There will be tradeoffs. Please let me know how I can improve this or if you think it's reasonable. Thank you for your time.

Posted Image

Is This A Good Question/Topic? 0
  • +

Replies To: Review my database design

#2 modi123_1   User is offline

  • Suitor #2
  • member icon



Reputation: 14168
  • View blog
  • Posts: 56,759
  • Joined: 12-June 08

Re: Review my database design

Posted 21 December 2017 - 09:28 AM

What's the purpose of the 'Supervisor' table with only a key in it? Couldn't that information be expressed in the 'employee' table by just being an employee ID in a field called 'supervisor'?

I am not understanding the 'benefit coordinator' table either or how that relates. Wouldn't that typically be attached to a 'department'?

Would there be more than one 'educational type coverage' paired with 'educational type'? If not it would seem you could combine those two tables.
Was This Post Helpful? 2
  • +
  • -

#3 wtp   User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 334
  • Joined: 08-December 11

Re: Review my database design

Posted 21 December 2017 - 11:17 AM

Thank you for reviewing this. I agree it doesn't make sense to have the Supervisor table when there's only one column in it.

In this scenario there's only 1 benefit coordinator in the organization. Should I remove the 'benefit coodinator' table and put a boolean column in the Employee table isBenefitCoodinator?

I'm not sure why I thought I needed two tables for 'educational type'. I can just have 1 table with columns id, name, percentCovered. (1, 'tuition', 0.80). Thanks again this is much simpler now.
Was This Post Helpful? 0
  • +
  • -

#4 modi123_1   User is offline

  • Suitor #2
  • member icon



Reputation: 14168
  • View blog
  • Posts: 56,759
  • Joined: 12-June 08

Re: Review my database design

Posted 21 December 2017 - 11:46 AM

No problem.

If it's only one, and you are not tracking other roles.. sure.. make it a boolean.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1