在现代高校管理中,宿管系统的引入极大地提高了宿舍管理的效率。宿管系统中的资料管理模块作为核心功能之一,负责学生信息、宿舍分配等关键数据的存储与处理。本文将详细介绍该模块的具体实现,包括数据库设计和后端代码编写。
一、数据库设计
数据库是宿管系统的核心组成部分。我们使用MySQL作为数据库管理系统,设计了如下表结构:
CREATE TABLE students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, gender ENUM('Male', 'Female') NOT NULL, dob DATE NOT NULL, phone_number VARCHAR(15) ); CREATE TABLE dorms ( dorm_id INT AUTO_INCREMENT PRIMARY KEY, capacity INT NOT NULL, floor INT NOT NULL ); CREATE TABLE assignments ( assignment_id INT AUTO_INCREMENT PRIMARY KEY, student_id INT, dorm_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (dorm_id) REFERENCES dorms(dorm_id) );
二、后端代码实现
后端服务采用Node.js框架Express进行搭建。以下是一个简单的API示例,用于添加新的学生信息:
const express = require('express'); const mysql = require('mysql'); const app = express(); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'dormitory' }); app.use(express.json()); app.post('/students', (req, res) => { const { name, gender, dob, phone_number } = req.body; const query = `INSERT INTO students (name, gender, dob, phone_number) VALUES (?, ?, ?, ?)`; connection.query(query, [name, gender, dob, phone_number], (err, results) => { if (err) throw err; res.status(201).send({ message: 'Student added successfully' }); }); }); app.listen(3000, () => console.log('Server running on port 3000'));