選課系統
6. 創建數據庫創建數據庫設置編碼為UTF8
CREATE DATABASE choose CHARSET = utf8;
6.1 創建班級表
表名:classes
字段:
class_no 整型 自增長 主鍵 -- 班級編號
class_name char(20) 非空 唯一 -- 班級名稱
department_name char(20) 非空 -- 院系名稱
create table classes( class_no int auto_increment primary key, class_name char(10) unique not null, department_name char(20) not null );
6.2 創建教師表
表名:teacher
字段:
teacher_no char(10) 主鍵 -- 教師工號
teacher_name char(10) 非空 -- 教師姓名
teacher_contact char(20) 非空 -- 聯系方式
create table teacher( teacher_no char(10) primary key, teacher_name char(10) not null, teacher_contact char(20) not null );
6.3 創建學生表
表名: student
字段:
student_no char(11) 主鍵 --學號
student_name char(10) 非空 --姓名
student_contact char(20) 非空 --聯系方式
class_no int 外鍵 --引用的是班級表中的班號(class_no)|學生表和班級表中的外鍵
create table student( student_no char(11) primary key, student_name char(10) not null, student_contact char(20) not null, class_no int,
設定約束別名(student_class_fk)指定自身字段(class_no)為外鍵來引用學生表(classes)的字段(class_no) constraint student_class_fk foreign key(class_no) references classes(class_no) );
6.4 創建課程表
表名: course
字段:
course_no int 自增長 主鍵 --課程號
course_name char(16) 非空 --課程名
up_limit int 默認 60 --人數上限值
description varchar(100) 非空 --描述信息
status char(6) 默認 未審核 --課程狀態默認值(未審核)
teacher_no char(10) 非空 唯一 外鍵 --主講老師|課程表和教師表之間的外鍵
create table course( course_no int auto_increment primary key, course_name char(16) not null, up_limit int default 60, description varchar(100) not null, status char(6) default '未審核', teacher_no char(10) unique not null, constraint course_teacher_fk foreign key(teacher_no) references teacher(teacher_no) );
6.5 創建選課表
表名: choose
字段:
choose_no int 自增長 主鍵 --編號
student_no char(11) 非空 外鍵 --學生學號
course_no int 非空 外鍵 --課程號
score tinyint unsigned --成績
choose_time datetime 非空 --選課時間
create table choose( choose_no int auto_increment primary key, student_no char(11) not null, course_no int not null, choose_time datetime not null, score tinyint unsigned, constraint choose_student_fk foreign key(student_no) references student(student_no), constraint choose_course_fk foreign key(course_no) references course(course_no) );
6.6多對多的基本模型基本完成