Python 员工考勤管理系统
简介
在任何公司中,员工考勤管理都是一项至关重要的任务。为了确保公司收益,必须精确记录每位员工的出勤数据,比如出勤天数、迟到、早退、请假等。随着技术的发展,通过编写软件系统来管理考勤是非常合适的方案。在本教程中,我们将使用 Python 构建一个简单且有效的员工考勤管理系统。
目标
- 设计并构建数据库来存储员工信息和考勤记录。
- 使用 Python 编写代码与数据库交互。
- 提供一个简单的命令行界面来管理考勤系统。
项目架构
整体项目主要由以下几部分组成:
- 数据库设计(使用SQLite)
- Python代码与数据库的交互
- 命令行界面
数据库设计
为了实现考勤管理,我们需要包含以下几个表:
Employees
表用于存储员工信息Attendance
表用于存储考勤记录
数据库表结构
Employees 表
字段名 | 数据类型 | 备注 |
---|---|---|
EmployeeID | INTEGER | 主键,自增 |
Name | TEXT | 员工姓名 |
Department | TEXT | 员工部门 |
Position | TEXT | 职位 |
Attendance 表
字段名 | 数据类型 | 备注 |
---|---|---|
AttendanceID | INTEGER | 主键,自增 |
EmployeeID | INTEGER | 员工ID,外键 |
Date | DATE | 日期 |
Status | TEXT | 状态(出勤、迟到、早退、请假) |
数据库脚本
使用 SQLite 创建上述表:
-- employees 表
CREATE TABLE Employees (
EmployeeID INTEGER PRIMARY KEY AUTOINCREMENT,
Name TEXT NOT NULL,
Department TEXT,
Position TEXT
);
-- attendance 表
CREATE TABLE Attendance (
AttendanceID INTEGER PRIMARY KEY AUTOINCREMENT,
EmployeeID INTEGER,
Date DATE,
Status TEXT,
FOREIGN KEY (EmployeeID) REFERENCES Employees (EmployeeID)
);
Python代码
环境设置
确保你已经安装了SQLite3
和Python
环境。
pip install sqlite3
数据库连接
让我们先编写数据库连接代码:
import sqlite3
from sqlite3 import Error
def create_connection(db_file):
"""创建数据库连接"""
conn = None
try:
conn = sqlite3.connect(db_file)
print(f"SQLite 版本: {
sqlite3.version}&#