天天看點

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

1. 本章任務

根據上一節的讨論,本章來實作真實的MySQL資料庫結構。

貓哥習慣于使用Navicat進行MySQL操作,對于MySQL和Navicat的使用在前面的教程已經介紹過了,此處不再贅述,感興趣的童鞋可以翻看之前的部落格。

2. 使用者表 user

首先得有一個表存儲使用者的資訊,姓名name是必須要存儲的,另外為了防止重名,還需要給他為一個唯一編号id,另外使用者登入需要密碼password,最後由于使用者還要區分角色role,是以使用者表設計如下。

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

需要注意幾點:

user_id是自動增長的,也就是說資料庫會從1、2、3、4依次給記錄配置設定user_id。

user_role的取值為master、teacher、student,分别代表校長、教師、學生。

3. 課程表 course

課程需要唯一辨別id,課程名稱name,還有課程所屬的教師id(使用者id)。是以設計如下:

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

4. 學生選課表 selection

需要記錄唯一辨別id,學生id和選擇的課程id。

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

5. 作業題目表 title

需要記錄唯一辨別id,作業題目所屬的課程,作業題目釋出時間,作業題目内容。

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

6. 學生送出作業内容表 job

需要記錄唯一辨別id,作業内容content,對應的題目title,對應的學生user,送出時間time,得分情況score。

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結

7. 總結

此時總體結構如下,Navicat可直接檢視整體結構圖:

JSP+Servlet教育訓練班作業管理系統[7]–Mysql資料庫結構實作4. 學生選課表 selection5. 作業題目表 title6. 學生送出作業内容表 job7. 總結
同時也提供下生成該資料庫的sql語句:


-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course`  (
  `course_id` int(11) NOT NULL AUTO_INCREMENT,
  `course_user` int(255) DEFAULT NULL COMMENT '所屬教師id',
  `course_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`course_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job
-- ----------------------------
DROP TABLE IF EXISTS `job`;
CREATE TABLE `job`  (
  `job_id` int(11) NOT NULL AUTO_INCREMENT,
  `job_title` int(255) DEFAULT NULL COMMENT '對應題目',
  `job_user` int(255) DEFAULT NULL COMMENT '對應學生',
  `job_time` datetime(0) DEFAULT NULL COMMENT '時間',
  `job_content` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '内容',
  `job_score` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '得分',
  PRIMARY KEY (`job_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for selection
-- ----------------------------
DROP TABLE IF EXISTS `selection`;
CREATE TABLE `selection`  (
  `selection_id` int(11) NOT NULL AUTO_INCREMENT,
  `selection_user` int(255) DEFAULT NULL COMMENT '選課學生id',
  `selection_course` int(255) DEFAULT NULL COMMENT '選課課程id',
  PRIMARY KEY (`selection_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for title
-- ----------------------------
DROP TABLE IF EXISTS `title`;
CREATE TABLE `title`  (
  `title_id` int(11) NOT NULL AUTO_INCREMENT,
  `title_content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '題目内容',
  `title_course` int(255) DEFAULT NULL COMMENT '對應課程id',
  `title_time` datetime(0) DEFAULT NULL COMMENT '釋出時間',
  PRIMARY KEY (`title_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_role` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `user_password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;