在南京这样一个充满活力的城市,企业对于实习生的需求日益增加。为了提高管理效率,我们决定开发一套南京实习生管理系统。该系统旨在简化实习生招聘、管理和培训流程。
首先,我们需要设计数据库结构。以下是一个简单的MySQL数据库创建脚本示例:
CREATE DATABASE InternshipSystem; USE InternshipSystem; CREATE TABLE Companies ( CompanyID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(255) NOT NULL, Address VARCHAR(255), ContactPerson VARCHAR(255) ); CREATE TABLE Interns ( InternID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(255) NOT NULL, Email VARCHAR(255) UNIQUE NOT NULL, PhoneNumber VARCHAR(20), Major VARCHAR(255) ); CREATE TABLE Applications ( ApplicationID INT AUTO_INCREMENT PRIMARY KEY, InternID INT, CompanyID INT, Position VARCHAR(255), Status ENUM('Pending', 'Accepted', 'Rejected') DEFAULT 'Pending', FOREIGN KEY (InternID) REFERENCES Interns(InternID), FOREIGN KEY (CompanyID) REFERENCES Companies(CompanyID) );
接下来,我们将使用Flask框架构建一个简单的Web应用来展示这个数据库。以下是Flask应用的基本结构:
from flask import Flask, render_template, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/InternshipSystem' db = SQLAlchemy(app) class Company(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) address = db.Column(db.String(255)) contact_person = db.Column(db.String(255)) @app.route('/') def index(): companies = Company.query.all() return render_template('index.html', companies=companies) if __name__ == '__main__': app.run(debug=True)
这样,我们就有了一个基本的南京实习生管理系统,可以用来管理公司的信息以及实习生的申请状态。