欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 教学任务管理系统数据库表

教学任务管理系统数据库表

2025/9/19 6:27:58 来源:https://blog.csdn.net/yzxyy_zzb/article/details/143770363  浏览:    关键词:教学任务管理系统数据库表

1. 学生信息表 (Students)

表结构

  • student_id (INT): 学生的唯一标识符,作为主键。
  • name (VARCHAR): 学生的姓名。
  • gender (CHAR): 学生的性别,如'M'表示男性,'F'表示女性。
  • birthday (DATE): 学生的出生日期。
  • phone_number (VARCHAR): 学生的联系电话。
  • college (VARCHAR): 学生所在学院的名称。
  • major (VARCHAR): 学生的专业。
  • class (VARCHAR): 学生的班级。
  • enrollment_date (DATE): 学生的入学日期。

说明

  • 此表的设计需考虑到数据的完整性和安全性,确保每个学生的信息都能被准确地记录和保护。

SQL 创建语句

CREATE TABLE Students (student_id INT PRIMARY KEY,name VARCHAR(100) NOT NULL,gender CHAR(1) CHECK (gender IN ('M', 'F')),birthday DATE,phone_number VARCHAR(20),college VARCHAR(100),major VARCHAR(100),class VARCHAR(50),enrollment_date DATE
);

2. 教师信息表 (Teachers)

表结构

  • teacher_id (INT): 教师的唯一标识符,作为主键。
  • name (VARCHAR): 教师的姓名。
  • gender (CHAR): 教师的性别。
  • title (VARCHAR): 教师的职称。
  • department (VARCHAR): 教师所在的部门。
  • email (VARCHAR): 教师的电子邮件地址。
  • phone_number (VARCHAR): 教师的联系电话。

说明

  • 该表同样需要确保数据的完整性和安全性,以便于学校管理层对教师信息的有效管理。

SQL 创建语句

CREATE TABLE Teachers (teacher_id INT PRIMARY KEY,name VARCHAR(100) NOT NULL,gender CHAR(1) CHECK (gender IN ('M', 'F')),title VARCHAR(50),department VARCHAR(100),email VARCHAR(100),phone_number VARCHAR(20)
);

3. 课程信息表 (Courses)

表结构

  • course_id (INT): 课程的唯一标识符,作为主键。
  • course_name (VARCHAR): 课程的名称。
  • credit_hours (INT): 课程的学分。
  • semester (VARCHAR): 课程开设的学期。
  • teacher_id (INT): 授课教师的ID,作为外键关联教师信息表。
  • classroom (VARCHAR): 课程的教室。

说明

  • 此表的设计需要考虑到课程与教师、学生之间的关系,以支持课程的管理和学生选课的功能。

SQL 创建语句

CREATE TABLE Courses (course_id INT PRIMARY KEY,course_name VARCHAR(100) NOT NULL,credit_hours INT,semester VARCHAR(50),teacher_id INT,classroom VARCHAR(50),FOREIGN KEY (teacher_id) REFERENCES Teachers(teacher_id)
);

4. 选课信息表 (CourseSelections)

表结构

  • student_id (INT): 选课学生的ID,作为外键关联学生信息表。
  • course_id (INT): 选课课程的ID,作为外键关联课程信息表。
  • selection_date (DATE): 选课的日期。

说明

  • 该表的设计需要确保每个学生选课信息的准确记录,以便于后续的成绩管理和课程安排。

SQL 创建语句

CREATE TABLE CourseSelections (student_id INT,course_id INT,selection_date DATE,PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES Students(student_id),FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);

5. 成绩信息表 (Grades)

表结构

  • student_id (INT): 获得成绩的学生ID,作为外键关联学生信息表。
  • course_id (INT): 相关课程的ID,作为外键关联课程信息表。
  • grade (FLOAT): 学生的成绩。
  • term (VARCHAR): 成绩所属的学期。

说明

  • 成绩信息表的设计需要特别注意数据的安全性和隐私保护,确保只有授权人员能够访问和修改成绩信息。

SQL 创建语句

CREATE TABLE Grades (student_id INT,course_id INT,grade FLOAT,term VARCHAR(50),PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES Students(student_id),FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);

6. 管理员信息表 (Admins)

表结构

  • admin_id (INT): 管理员的唯一标识符,作为主键。
  • username (VARCHAR): 管理员的用户名。
  • password (VARCHAR): 管理员的密码(应加密存储)。
  • permissions (TEXT): 管理员的权限描述。

说明

  • 此表的设计需要确保管理员信息的高度安全性,防止未经授权的访问。

SQL 创建语句

CREATE TABLE Admins (admin_id INT PRIMARY KEY,username VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(100) NOT NULL,permissions TEXT
);

示例数据插入

-- 学生信息表示例数据
INSERT INTO Students (student_id, name, gender, birthday, phone_number, college, major, class, enrollment_date)
VALUES 
(1, '张三', 'M', '2000-01-01', '13812345678', '计算机学院', '软件工程', '1班', '2018-09-01'),
(2, '李四', 'F', '2000-02-02', '13823456789', '经济管理学院', '会计学', '2班', '2018-09-01');-- 教师信息表示例数据
INSERT INTO Teachers (teacher_id, name, gender, title, department, email, phone_number)
VALUES 
(1, '王五', 'M', '教授', '计算机学院', 'wangwu@univ.edu.cn', '13834567890'),
(2, '赵六', 'F', '副教授', '经济管理学院', 'zhaoliu@univ.edu.cn', '13845678901');-- 课程信息表示例数据
INSERT INTO Courses (course_id, course_name, credit_hours, semester, teacher_id, classroom)
VALUES 
(1, '数据结构', 4, '2023-2024秋季学期', 1, '101室'),
(2, '财务管理', 3, '2023-2024秋季学期', 2, '202室');-- 选课信息表示例数据
INSERT INTO CourseSelections (student_id, course_id, selection_date)
VALUES 
(1, 1, '2023-09-01'),
(2, 2, '2023-09-01');-- 成绩信息表示例数据
INSERT INTO Grades (student_id, course_id, grade, term)
VALUES 
(1, 1, 85.0, '2023-2024秋季学期'),
(2, 2, 90.0, '2023-2024秋季学期');-- 管理员信息表示例数据
INSERT INTO Admins (admin_id, username, password, permissions)
VALUES 
(1, 'admin', 'hashed_password_123', '全权管理'),
(2, 'manager', 'hashed_password_456', '部分管理权限');

注意事项

  • 密码安全:密码应使用哈希算法(如SHA-256)加密存储,而不是明文。
  • 数据完整性:使用外键约束确保数据的一致性。
  • 扩展性:在设计时考虑未来可能的扩展需求,比如增加更多的字段或表。

完整的sql脚本

-- 创建数据库
CREATE DATABASE TeachingManagementSystem;
USE TeachingManagementSystem;-- 1. 学生信息表 (Students)
CREATE TABLE Students (student_id INT PRIMARY KEY,name VARCHAR(100) NOT NULL,gender CHAR(1) CHECK (gender IN ('M', 'F')),birthday DATE,phone_number VARCHAR(20),college VARCHAR(100),major VARCHAR(100),class VARCHAR(50),enrollment_date DATE
);-- 插入示例数据
INSERT INTO Students (student_id, name, gender, birthday, phone_number, college, major, class, enrollment_date)
VALUES 
(1, '张三', 'M', '2000-01-01', '13812345678', '计算机学院', '软件工程', '1班', '2018-09-01'),
(2, '李四', 'F', '2000-02-02', '13823456789', '经济管理学院', '会计学', '2班', '2018-09-01');-- 2. 教师信息表 (Teachers)
CREATE TABLE Teachers (teacher_id INT PRIMARY KEY,name VARCHAR(100) NOT NULL,gender CHAR(1) CHECK (gender IN ('M', 'F')),title VARCHAR(50),department VARCHAR(100),email VARCHAR(100),phone_number VARCHAR(20)
);-- 插入示例数据
INSERT INTO Teachers (teacher_id, name, gender, title, department, email, phone_number)
VALUES 
(1, '王五', 'M', '教授', '计算机学院', 'wangwu@univ.edu.cn', '13834567890'),
(2, '赵六', 'F', '副教授', '经济管理学院', 'zhaoliu@univ.edu.cn', '13845678901');-- 3. 课程信息表 (Courses)
CREATE TABLE Courses (course_id INT PRIMARY KEY,course_name VARCHAR(100) NOT NULL,credit_hours INT,semester VARCHAR(50),teacher_id INT,classroom VARCHAR(50),FOREIGN KEY (teacher_id) REFERENCES Teachers(teacher_id)
);-- 插入示例数据
INSERT INTO Courses (course_id, course_name, credit_hours, semester, teacher_id, classroom)
VALUES 
(1, '数据结构', 4, '2023-2024秋季学期', 1, '101室'),
(2, '财务管理', 3, '2023-2024秋季学期', 2, '202室');-- 4. 选课信息表 (CourseSelections)
CREATE TABLE CourseSelections (student_id INT,course_id INT,selection_date DATE,PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES Students(student_id),FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);-- 插入示例数据
INSERT INTO CourseSelections (student_id, course_id, selection_date)
VALUES 
(1, 1, '2023-09-01'),
(2, 2, '2023-09-01');-- 5. 成绩信息表 (Grades)
CREATE TABLE Grades (student_id INT,course_id INT,grade FLOAT,term VARCHAR(50),PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES Students(student_id),FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);-- 插入示例数据
INSERT INTO Grades (student_id, course_id, grade, term)
VALUES 
(1, 1, 85.0, '2023-2024秋季学期'),
(2, 2, 90.0, '2023-2024秋季学期');-- 6. 管理员信息表 (Admins)
CREATE TABLE Admins (admin_id INT PRIMARY KEY,username VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(100) NOT NULL,permissions TEXT
);-- 插入示例数据
INSERT INTO Admins (admin_id, username, password, permissions)
VALUES 
(1, 'admin', 'hashed_password_123', '全权管理'),
(2, 'manager', 'hashed_password_456', '部分管理权限');

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com