20.2.4 建表脚本
本小节写出了创建16张表的建表脚本。具体内容如下。
1.用户信息表(Sys_User)
建表脚本如下:
CREATE TABLE SYS_USER
(
USERID VARCHAR2(10)NOT NULL,
USERNAME VARCHAR2(20)NOT NULL,
PASSWORD VARCHAR2(32)NOT NULL,
IDENTITY VARCHAR2(10)NOT NULL,
USERSTATE CHAR(1)NOT NULL,
REMARK VARCHAR2(200),
PRIMARY KEY(USERID)
);
2.角色表(Sys_Roles)
建表脚本如下:
CREATE TABLE SYS_ROLES
(
ROLEID VARCHAR2(10)NOT NULL,
ROLENAME VARCHAR2(20)NOT NULL,
PRIMARY KEY(ROLEID)
);
3.资源表(Sys_Resource)
建表脚本如下:
CREATE TABLE SYS_RESOURCE
(
RESOURCEID VARCHAR2(10)NOT NULL,
RESOURCENAME VARCHAR2(50)NOT NULL,
RESOURCEURL VARCHAR2(100),
PRIMARY KEY(RESOURCEID)
);
4.用户角色表(Sys_User_Roles)
建表脚本如下:
CREATE TABLE SYS_USER_ROLES
(
USERID VARCHAR2(10)NOT NULL,
ROLEID VARCHAR2(10)NOT NULL
);
5.角色资源表(Sys_Role_Resource)
建表脚本如下:
CREATE TABLE SYS_ROLE_RESOURCE
(
ROLEID VARCHAR2(10)NOT NULL,
RESOURCEID VARCHAR2(10)NOT NULL
);
6.教师表(Teachers)
建表脚本如下:
CREATE TABLE TEACHERS
(
TEACHERID VARCHAR2(10)NOT NULL,
TEACHERNAME VARCHAR2(20)NOT NULL,
DUTY VARCHAR2(10),
REMARK VARCHAR2(200),
PRIMARY KEY(TEACHERID)
);
7.教务人员表(Managers)
建表脚本如下:
CREATE TABLE MANAGERS
(
MANAGERID VARCHAR2(10)NOT NULL,
MANAGERNAME VARCHAR2(20)NOT NULL,
DUTY VARCHAR2(10),
REMARK VARCHAR2(200),
PRIMARY KEY(MANAGERID)
);
8.职务表(Duty)
建表脚本如下:
CREATE TABLE DUTY
(
DUTYID VARCHAR2(10)NOT NULL,
DUTYNAME VARCHAR2(50),
REMARK VARCHAR2(200),
PRIMARY KEY(DUTYID)
);
9.学生表(Students)
建表脚本如下:
CREATE TABLE STUDENTS
(
STUDENTID VARCHAR2(10)NOT NULL,
STUDENTNAME VARCHAR2(20),
GRADE NUMBER(3,0),
CLASSNAME VARCHAR2(20),
PRIMARY KEY(STUDENTID)
);
10.课程表(Courses)
建表脚本如下:
CREATE TABLE COURSES
(
COURSEID VARCHAR2(10)NOT NULL,
COURSENAME VARCHAR2(10)NOT NULL,
COURSESTYPE VARCHAR2(4)NOT NULL,
PRIMARY KEY(COURSEID)
);
11.课程类型表(CoursesType)
建表脚本如下:
CREATE TABLE COURSESTYPE
(
COURSESTYPEID VARCHAR2(4)NOT NULL,
COURSESTYPE VARCHAR2(20),
PRIMARY KEY(COURSESTYPEID)
);
12.学生选课关系表(Student_Course)
建表脚本如下:
CREATE TABLE STUDENT_COURSE
(
STUDENTID VARCHAR2(10)NOT NULL,
COURSEID VARCHAR2(10)NOT NULL,
TERM VARCHAR2(20)
);
13.考试表(Exam)
建表脚本如下:
CREATE TABLE EXAM
(
EXAMID VARCHAR2(10)NOT NULL,
STARTDATE DATE NOT NULL,
ENDDATE DATE NOT NULL,
COURSEID VARCHAR2(10)NOT NULL,
PUBLISHERID VARCHAR2(10),
TERM VARCHAR2(20),
PRIMARY KEY(EXAMID)
);
14.试卷表(ExamPaper)
建表脚本如下:
CREATE TABLE EXAMPAPER
(
PAPEREID VARCHAR2(10)NOT NULL,
EXAMID VARCHAR2(10)NOT NULL,
COURSEID VARCHAR2(10)NOT NULL,
PUBLISHERID VARCHAR2(8)NOT NULL,
PAPERCODE VARCHAR2(10),
DURATION NUMBER(8,0),
TOTALSCORE NUMBER(8,1),
SUBMITSTATE NUMBER(2,0)NOT NULL,
URI VARCHAR2(200),
PRIMARY KEY(PAPEREID)
);
15.学生答卷表(AnswerPaper)
建表脚本如下:
CREATE TABLE ANSWERPAPER
(
PAPEREID VARCHAR2(10)NOT NULL,
STUDENTID VARCHAR2(10)NOT NULL,
EXAMID VARCHAR2(10)NOT NULL,
TOTALSCORE NUMBER(8,1),
AVAILABILITY CHAR(1)NOT NULL,
SUBMITTIME TIMESTAMP NOT NULL,
ISFINISH CHAR(1)NOT NULL,
URI VARCHAR2(200),
PRIMARY KEY(PAPEREID)
);
16.考试批卷关系表(Graders_Exam)
建表脚本如下:
CREATE TABLE GRADERS_EXAM
(
ID VARCHAR2(10)NOT NULL,
PAPERID VARCHAR2(10)NOT NULL,
TEACHERID VARCHAR2(10)NOT NULL,
SUBJECTNUMBER NUMBER(3,0)NOT NULL,
PRIMARY KEY(ID)
);