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)

);