/* --备注:
学期:年份-上下学年;02上学期,09下学期,eg:2012-09,表示2012届下学年
性别:男/女
出生地:eg:广东省深圳市布吉街道办下水径村 */
/* --创建系部表*/
create table department_tb(
dep_no_n number not null primary key, --系部编号,主键 dep_name_s varchar2(40) not null, --系部名称,eg:RJGC,(dep_name_s,term_s须唯一,即同一学期系部唯一)
term_s varchar2(7) not null, --学期 constraint
unique(dep_name_s,term_s)
);
/* --创建专业表*/ create table major_tb(
major_no_n number NOT NULL PRIMARY KEY, --专业编号,主键
major_name_s varchar2(40) NOT NULL, --专业名称,eg:RJ,(term_s,dep_no_s,major_name_s须唯一,即同一学期同一系部专业唯一)
dep_no_n number not null, --系部编号,外键 term_s varchar2(7) not null, --学期
foreign key(dep_no_n) references department_tb(dep_no_n), constraint
/* --创建教师信息表*/
major_tb_name_dep_term_unique
unique(major_name_s,dep_no_n,term_s) );
dep_tb_name_term_unique
create table teacher_tb(
work_no_s varchar2(10) not null primary key, --工号(eg:SD000001),主键
name_s varchar2(10) not null, --姓名 sex_c char(2) not null, --性别
born_date_s varchar2(10) not null, --出身日期(eg:1980-01-01)
born_address_s varchar2(60) not null, --出生地
idcard_no_s varchar2(18) not null unique, --身份证号码,唯一 employed_date_s varchar2(10) not null --入职时间 );
/* --创建教师系部表*/ create table teacher_dep_tb(
work_no_s varchar2(10) not null primary key, --工号,主键,外键
dep_no_n number not null, --系部编号,外键
foreign key(work_no_s) references teacher_tb(work_no_s), foreign key(dep_no_n) references department_tb(dep_no_n) );
/* --创建班级表*/ create table class_tb(
class_no_n number not null primary key, --班级编号,主键 class_name_s varchar2(20) not null unique, --班级名称,eg:RJ12002,唯一
major_no_n number not null, --专业编号,外键 term_s varchar2(7) not null, --学期
foreign key(major_no_n) references major_tb(major_no_n) );
/* --创建学生信息表*/
create table student_info_tb( --有待补充
stu_no_n number not null primary key, --学生编号,主键 stu_name_s varchar2(10) not null, --学生姓名 sex_c char(2) not null, --性别
born_date varchar2(10) not null, --出身日期(eg:1980-01-01) born_address_s varchar2(60) not null, --出生地 class_no_n number not null, --班级编号,外键 term_s varchar2(7) not null, --学期
idcard_no_s varchar2(18) not null unique, --身份证号码,唯一 foreign key(class_no_n) references class_tb(class_no_n) );
/* --创建课程表*/ create table course_tb(
course_no_n number not null primary key, --课程编号,主键 course_name_s varchar2(30) not null, --课程名称 term_s varchar2(7) not null, --学期
major_no_n number NOT NULL, --专业编号,外键
foreign key(major_no_n) references major_tb(major_no_n), constraint /* --创建成绩表*/ create table grade_tb(
grade_no_n number not null primary key, --成绩序列号,主键 score_n number not null, stu_no_n
number
not
null,
--学号,外键,
(stu_no_s,course_no_s,time_tg_s必须唯一,即同一次考评成绩下同一学号同一课程成绩唯一)
course_no_n number not null, --课程号,外键 term_s varchar2(7) not null, --学期
time_tg_s varchar2(10) not null, --时间标识(标识什么时间的成绩eg:2012-01-01)
course_tb_name_term_major_uni
unique(course_name_s,term_s,major_no_n) );
foreign key(course_no_n) references course_tb(course_no_n), foreign key(stu_no_n) references student_info_tb(stu_no_n), constraint /* --创建功能表*/ create table function_tb(
fun_no_n number not null primary key, --功能序号(eg:001),主键
fun_name_s
varchar2(20)
not
null,
--功
能
名
称,(fun_name_s,parent_no_n须唯一,即同一父节点下该功能唯一)
parent_no_n number, --父节点,外键
foreign key(parent_no_n) references function_tb(fun_no_n), constraint
unique(fun_name_s,parent_no_n)
);
insert into function_tb(fun_no_n,fun_name_s,parent_no_n) values (0,'根节点',0);
alter table function_tb modify (parent_no_n number not null); /* --创建角色表*/ create table role_tb(
role_no_n number not null primary key, --角色编号(eg:001),主键
role_name_s varchar2(20) not null unique, --角色名称,唯一 fun_no_n number not null, --功能编号,外键
foreign key(fun_no_n) references function_tb(fun_no_n) );
/* --创建学生用户信息表*/ create table user_tb(
user_no_n number not null primary key, --用户编号(eg:0000000001),主键,外键
fun_tb_name_parent_uni grade_tb_stu_cou_time_uni
unique(stu_no_n,course_no_n,time_tg_s)
user_name_s varchar2(10) not null, --用户姓名(term_s,user_name_s,class_name_s必唯一,即同一学期同一班级用户名唯一)
user_pwd_s varchar2(100) not null, --用户密码,密文 role_no_n number not null, --角色编号,外键 stu_no_n number not null, --学号,外键 term_s varchar2(7) not null, --学期
class_name_s varchar2(20) not null, --班级名称,外键 foreign key(role_no_n) references role_tb(role_no_n), foreign key(stu_no_n) references student_info_tb(stu_no_n), foreign key(class_name_s) references class_tb(class_name_s), foreign key(user_no_n) references student_info_tb(stu_no_n), constraint
/* --创建教职工用户表*/ create table teacher_tb(
work_no_s varchar2(10) not null primary key, --工号,主键,外键
user_pwd_s varchar2(100) not null, --用户密码,密文 role_no_n number not null, --角色编号,外键 );
user_tb_term_name_class_uni
unique(term_s,user_name_s,class_name_s) );
因篇幅问题不能全部显示,请点此查看更多更全内容