-- 注意:表创建顺序很重要,先创建被引用的表,再创建引用它们的表-- 1. 首先创建学院表 (collage) - 被多个表引用
CREATE TABLE collage (collage_id INT PRIMARY KEY AUTO_INCREMENT,collage_name VARCHAR(100) NOT NULL COMMENT '学院名称',status TINYINT DEFAULT 1 COMMENT '状态:1-启用 0-停用'
) COMMENT '学院表';-- 2. 创建工作室管理员表 (workroom_admin)
CREATE TABLE workroom_admin (admin_id INT PRIMARY KEY AUTO_INCREMENT,admin_no VARCHAR(20) UNIQUE NOT NULL COMMENT '管理员编号',name VARCHAR(50) NOT NULL COMMENT '姓名',phone VARCHAR(20) COMMENT '联系电话'
) COMMENT '工作室管理员表';-- 3. 创建工作室表 (workroom) - 引用学院表和管理员表
CREATE TABLE workroom (workroom_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '工作室ID',workroom_name VARCHAR(100) NOT NULL COMMENT '工作室名称',collage_id INT NOT NULL COMMENT '所属学院ID',manager_id INT COMMENT '管理员ID',location VARCHAR(200) COMMENT '位置',status TINYINT DEFAULT 1 COMMENT '状态:1-启用 0-停用',INDEX idx_collage (collage_id),FOREIGN KEY (collage_id) REFERENCES collage(collage_id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY (manager_id) REFERENCES workroom_admin(admin_id) ON DELETE SET NULL ON UPDATE CASCADE
) COMMENT '工作室表';-- 4. 创建学生表 (student) - 引用学院表和工作室表
CREATE TABLE student (student_id INT PRIMARY KEY AUTO_INCREMENT,student_no VARCHAR(20) UNIQUE NOT NULL COMMENT '学号',name VARCHAR(50) NOT NULL COMMENT '姓名',collage_id INT NOT NULL COMMENT '学院ID',workroom_id INT COMMENT '工作室ID',contact_info VARCHAR(100) COMMENT '联系方式',email VARCHAR(100) COMMENT '邮箱',status TINYINT DEFAULT 1 COMMENT '状态:1-正常 2-禁用',create_time DATETIME DEFAULT CURRENT_TIMESTAMP,update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,INDEX idx_student_no (student_no),INDEX idx_workroom (workroom_id),INDEX idx_collage (collage_id),FOREIGN KEY (collage_id) REFERENCES collage(collage_id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN 承德市网站建设_网站建设公司_Node.js_seo优化