我正在为我的公司开发一个 Intranet 应用程序。公司结构复杂,业务条线多、部门多、事业部多、单位多、集团多。我必须照顾所有这些事情。有些员工在部门级别工作,有些员工在单位级别工作,等等。现在的问题在于数据库设计。我对如何设计数据库感到困惑。一开始,我决定设计如下:
Employees: Username, Name, Title, OrgCode
Departments: OrgCode, Name
Divisions: OrgCode, Name
Units: OrgCode, Name
但问题正如我之前所说,一些员工在部门下工作,那么如何在所有这些表之间建立关系。是否可以将员工表中的 OrgCode 作为 Departments、Divisions 和 Units 表中 OrgCode 的外键?
你能推荐我如何设计它吗?
更新: @wizzardz 提供了一个不错的数据库设计。我现在需要的是有一个适合这个数据库设计的数据示例 这是我在数据库中使用的一组数据:让我们假设我们有 Employee 具有以下信息: 用户名:JohnA 姓名:John 职务:工程师组织代码:AA
假设我们有部门 AA,我将如何将这些数据分配到数据库设计中?