嘿,大家好!今天我要跟大家分享一个关于大学员工宿舍管理系统的小项目。这个系统可以帮助大学更好地管理员工的宿舍分配和日常事务。咱们从头开始讲起,一步步来,看看怎么用Python和SQLite数据库来搭建这样一个系统。
首先,我们要安装Python环境,如果你还不知道怎么安装的话,可以去官网下载最新版本的Python。然后,我们需要安装SQLite数据库,它是个轻量级的数据库,非常适合我们的小项目。
### 安装依赖
pip install sqlite3
这里用的是Python自带的`sqlite3`库,所以不需要额外安装。
### 创建数据库
import sqlite3 def create_db(): conn = sqlite3.connect('staff_dormitory.db') c = conn.cursor() # 创建宿舍表 c.execute('''CREATE TABLE IF NOT EXISTS dormitories ( id INTEGER PRIMARY KEY, room_number TEXT NOT NULL, capacity INTEGER NOT NULL, current_occupancy INTEGER NOT NULL)''') # 创建员工表 c.execute('''CREATE TABLE IF NOT EXISTS staffs ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, department TEXT NOT NULL, assigned_room TEXT)''') conn.commit() conn.close() create_db()
这段代码创建了两个表:一个是存储宿舍信息的`dormitories`,另一个是存储员工信息的`staffs`。每个表都有几个字段,比如宿舍号、容量、当前占用人数等。
### 添加宿舍和员工信息
def add_dormitory(room_number, capacity): conn = sqlite3.connect('staff_dormitory.db') c = conn.cursor() c.execute("INSERT INTO dormitories (room_number, capacity, current_occupancy) VALUES (?, ?, ?)", (room_number, capacity, 0)) conn.commit() conn.close() def assign_staff_to_dorm(room_number, staff_name, department): conn = sqlite3.connect('staff_dormitory.db') c = conn.cursor() # 先检查是否有空位 c.execute("SELECT current_occupancy FROM dormitories WHERE room_number=?", (room_number,)) occupancy = c.fetchone()[0] if occupancy < 4: # 假设每个宿舍最多容纳4人 c.execute("UPDATE dormitories SET current_occupancy=current_occupancy+1 WHERE room_number=?", (room_number,)) c.execute("INSERT INTO staffs (name, department, assigned_room) VALUES (?, ?, ?)", (staff_name, department, room_number)) conn.commit() print(f"{staff_name} has been assigned to room {room_number}.") else: print(f"Room {room_number} is full.") conn.close()
这些函数允许我们添加新的宿舍信息,并将员工分配到有空位的宿舍中。
好了,这就是我们的员工宿舍管理系统的基本框架。你可以根据需要扩展更多功能,比如查询特定员工的信息或查看某个宿舍的状态。希望这篇分享对你有所帮助!