更好的数据库设计,以保存mysql中的大型员工细节

时间:2015-06-30 07:07:04

标签: mysql database database-design

我正在开发HR& Payroll系统。我必须存储员工详细信息,员工详细信息包含以下数据,

  • 基本信息
  • 个人信息
  • 护照信息
  • 签证信息
  • 劳工卡信息
  • 酋长国身份证明信息
  • 驾驶执照详情
  • 保险详情

我创建了员工表,并分配了基本信息和个人信息。 enter image description here

我的疑问是,对于其他细节,如护照,签证,劳工等,我应该为每个项目创建单独的表格还是包括员工表格本身? 或者还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:1)

将所有内容保存在同一个表中将使数据输入和索引更容易。但是,如果您计划使用多个表,则可以使用id作为各个表中的公共属性。请注意,虽然将信息分组到多个表中似乎是一种有组织的方式,但它会增加信息检索的复杂性。或多或少,一切都取决于项目的目标和使用模式。

答案 1 :(得分:1)

您的表格中的大量信息可能会随着时间的推移而变化(work_sites,grades_id等)您可能会考虑将这些信息保存在一个由日期键入的单独表格中,因为您可能需要回答(“一月?“)问题类型。

我还会检查您的安全/隐私要求,具体取决于它们的严格程度,将护照号码等存储在一个单独的更高限制的表格中可能是个好主意。