四、数据库设计 1.数据库需求分析 根据数据流程图,可以列出以下数据项和数据结构: ☆ 员工信息:员工号、密码、权限、姓名、性别、生日、部门、职务、教育程度、专业、通讯地址、电话、E-mail、当前状态和备注。 ☆ 人事变动:记录号、员工、变动和详细描述。 所需的外部数据支持: ☆ 部门设置:部门编号、部门名称…… 2.数据库概念结构设计 下图是人事管理系统的E-R图。 3.数据库逻辑结构设计与实现 根据E-R图,本系统需要有2个数据表分别存放员工个人信息和人事变动记录。并且需要一个外部数据表(部门信息)的支持。同时部分记录字段要用代码来表示,因此需要3个代码表来分别记录教育程度、职务和人事变更的代码。最后,设立一个计数器数据表用于实现员工号的自动分配。这7个数据表用Access 2000实现,Access 2000中的设计视图如下所示。其中数据类型的细节应根据具体字段分别设置。
字段大小 | 索引 | 必填字段 |
6 | 有(无重复) | 是 |
20 | 无 | 是 |
1 | 无 | 是 |
10 | 无 | 是 |
1 | 无 | 是 |
中日期 | 无 | 是 |
3 | 无 | 是 |
3 | 无 | 是 |
1 | 无 | 是 |
20 | 无 | 是 |
50 | 无 | 是 |
20 | 无 | 是 |
50 | 无 | 否 |
1 | 无 | 否 |
否 |
字段大小 | 索引 | 必填字段 |
整型 | 有(无重复) | 是 |
6 | 无 | 是 |
1 | 无 | 是 |
常规日期 | 无 | 是 |
否 |
字段大小 | 索引 | 必填字段 |
3 | 有(无重复) | 是 |
20 | 无 | 是 |
字段大小 | 索引 | 必填字段 |
3 | 有(无重复) | 是 |
20 | 无 | 是 |
字段大小 | 索引 | 必填字段 |
3 | 有(无重复) | 是 |
20 | 无 | 是 |
字段大小 | 索引 | 必填字段 |
3 | 有(无重复) | 是 |
整型 | 无 | 是 |
10 | 无 | 否 |
字段大小 | 索引 | 必填字段 |
3 | 有(无重复) | 是 |
20 | 无 | 是 |
6 | 无 | 否 |
否 |
ID | PASSWD | AUTHORITY | 其它字段 |
RSK | DEJLCP | 3 | 任意填 |
计数器编号 | 说明 |
P | 员工编号 |
C | 人事变更记录编号 |
代码 | 说明 |
0 | 小学 |
1 | 初中 |
2 | 高中 |
3 | 职高 |
4 | 大专 |
5 | 大本 |
6 | 硕士 |
7 | 博士 |
8 | 博士后 |
代码 | 说明 |
0 | 新员工加入 |
1 | 职务变动 |
2 | 辞退 |
ID | NAME |
CWC | 财务处 |
JLS | 经理室 |
MAT | 仓库 |
PXC | 培训处 |
RSC | 人事处 |
SJC | 设计处 |
CODE | DESCRIPTION |
BMJ | 部门经理 |
GCS | 工程师 |
KJS | 会计师 |
MIS | 秘书 |
PYG | 普通员工 |
ZGC | 总工程师 |
ZJL | 总经理 |
菜单栏 | 菜单项 | 属性 | 取值(说明) |
系统 | Caption | 系统(&S) | |
连接 | ID | ID_SYSTEM_CONNECT | |
Caption | 连接(&C) /t F2 | ||
Prompt | 连接到服务器 | ||
断开连接 | ID | ID_SYSTEM_DISCONNECT | |
断开连接 | Caption | 断开连接(&D) /t F3 | |
Prompt | 断开当前连接 | ||
分割线 | 选中SEPARATOR属性 | ||
退出 | ID | ID_APP_EXIT | |
Caption | 退出(&X)/tCtrl+Q | ||
Prompt | 关闭整个应用程序 | ||
人事管理 | Caption | 人事管理(&M) | |
增加新员工 | ID | ID_MANAGE_ADD | |
Caption | 增加新员工(&A) | ||
Prompt | 输入新员工的信息 | ||
人事变动 | ID | ID_MANAGE_CHANGE | |
Caption | 人事变动(&C) | ||
Prompt | 记录员工的职位变动 | ||
查询修改 | ID | ID_MANAGE_SEARCH | |
Caption | 查询修改(&S) | ||
Prompt | 查询修改员工信息 | ||
窗口 | Caption | 窗口(&W) | |
重叠排列 | ID | ID_WINDOW_CASCADE | |
Caption | 重叠排列(&C) | ||
Prompt | 重叠排列窗口 | ||
水平平铺 | ID | ID_WINDOW_TILE_HORZ | |
Caption | 水平平铺(&H) | ||
Prompt | 水平排列窗口 | ||
垂直平铺 | ID | ID_WINDOW_TILE_VERT | |
Caption | 垂直平铺(&V) | ||
Prompt | 垂直排列窗口 | ||
最小化所有窗口 | ID | ID_WINDOW_MINIALL | |
Caption | 最小化所有窗口(&M) | ||
Prompt | 将所有窗口最小化 | ||
帮助 | Caption | 帮助(&H) | |
关于 | ID | ID_APP_ABOUT | |
Caption | 关于 Test(&A)... | ||
Prompt | 本程序的说明 |
次序 | ID |
1 | ID_SYSTEM_CONNECT |
2 | ID_SYSTEM_DICONNECT |
3 | ID_MANAGE_ADD |
4 | ID_MANAGE_CHANGE |
5 | ID_MANAGE_SEARCH |
6 | ID_WINDOW_CASCADE |
7 | ID_WINDOW_TILE_HORZ |
8 | ID_WINDOW_TILE_VERT |
9 | ID_APP_ABOUT |
控件类型 | ID | 成员变量 | 说明 |
Combo Box | IDC_CMD_DSN | m_strDSN | ODBC数据源 |
Edit Box | IDC_EDT_USER | m_strUser | 用户名 |
Edit Box | IDC_EDT_PASSWD | m_strPasswd | 密码 |
控件类型 | ID | 成员变量 | 说明 |
Edit Box | IDC_ADD_EDT_ID | m_strID | 员工号 |
Edit Box | IDC_ADD_EDT_PASSWD | m_strPasswd | 密码 |
Edit Box | IDC_ADD_EDT_NAME | m_strName | 姓名 |
Radio Button | IDC_ADD_RADIO_MALE | 无 | 性别-男 |
Radio Button | IDC_ADD_RADIO_FEMALE | 无 | 性别-女 |
Edit Box | IDC_ADD_EDT_BIRTHDAY | m_strBirthday | 生日 |
Combo Box | IDC_ADD_CMB_DEPARTMENT | m_strDepartment m_cDepartment | 部门 |
Combo Box | IDC_ADD_CMB_JOB | m_strJob m_cJob | 职务 |
Combo Box | IDC_ADD_CMB_EDULEVEL | m_strEdulevel m_cEdulevel | 受教育水平 |
Edit Box | IDC_ADD_EDT_SPECIALTY | m_strSpecialty | 专业 |
Edit Box | IDC_ADD_EDT_ADDRESS | m_strAddress | 地址 |
Edit Box | IDC_ADD_EDT_TEL | m_strTel | 电话 |
Edit Box | IDC_ADD_EDT_EMAIL | m_strEmail | |
Edit Box | IDC_ADD_EDT_MEMO | m_strMemo | 备注(Style选Multiline) |
Button | IDC_ADD_BTN_ADD | 无 | “增加”按钮 |
控件类型 | ID | 成员变量 | 说明 |
Edit Box | IDC_CHANGE_EDT_ID | m_strID | 员工号 |
Radio Button | IDC_CHANGE_RADIO_JOB | 无 | 职务变更 |
Radio Button | IDC_CHANGE_RADIO_FIRE | 无 | 辞职退休 |
Date Time Picker | IDC_CHANGE_DATETIMEPICKER | m_Time | 时间 |
Edit Box | IDC_CHANGE_EDT_NAME | m_strName | 姓名 |
Combo Box | IDC_CHANGE_CMB_DEPARTMENT | m_cDepartment | 部门 |
Combo Box | IDC_CHANGE_CMB_JOB | m_cJob | 职务 |
Edit Box | IDC_CHANGE_EDT_DESCRIPTION | m_strDescription | 具体描述 |
Button | IDC_CHANGE_BTN_CHANGE | 无 | “修改”按钮 |
控件类型 | ID | 成员变量 | 说明 |
Edit Box | IDC_SEARCH_EDT_ID | m_strID | 员工号 |
Combo Box | IDC_SEARCH_CMB_DEPARTMENT | m_cDepartment | 部门 |
Combo Box | IDC_SEARCH_CMB_JOB | m_cJob | 职务 |
Combo Box | IDC_SEARCH_CMB_EDULEVEL | m_cEdulevel | 受教育水平 |
Edit Box | IDC_SEARCH_EDT_SPECIALTY | m_strSpecialty | 专业 |
Edit Box | IDC_SEARCH_EDT_MEMO | m_strMemo | 备注 |
Edit Box | IDC_SEARCH_EDT_PASSWD | m_strPasswd | 密码 |
Button | IDC_SEARCH_BTN_CHGPASSWD | 无 | “修改密码”按钮 |
Radio Button | IDC_SEARCH_RADIO_MALE | 无 | 性别-男 |
Radio Button | IDC_SEARCH_RADIO_FEMALE | 无 | 性别-女 |
Edit Box | IDC_SEARCH_EDT_NAME | m_strName | 姓名 |
Edit Box | IDC_SEARCH_EDT_BIRTHDAY | m_strBirthday | 生日 |
Edit Box | IDC_SEARCH_EDT_ADDRESS | m_strAddress | 住址 |
Edit Box | IDC_SEARCH_EDT_TEL | m_strTel | 电话 |
Edit Box | IDC_SEARCH_EDT_EMAIL | m_strEmail | 电子邮件 |
Button | IDC_SEARCH_BTN_CHANGE | 无 | “修改员工信息”按钮 |
List Control | IDC_SEARCH_LIST | m_cList | 人事变动表 |