--刪除表
DROP TABLE department CASCADE CONSTRAINT;
DROP TABLE course CASCADE CONSTRAINT;
DROP TABLE teacher CASCADE CONSTRAINT;
DROP TABLE class CASCADE CONSTRAINT;
DROP TABLE student CASCADE CONSTRAINT;
DROP TABLE choice CASCADE CONSTRAINT;
DROP TABLE teaching CASCADE CONSTRAINT;--創建表
CREATE TABLE department(dept_no char(2) CONSTRAINT pk_department_dept_no PRIMARY KEY,dept_name char(10) CONSTRAINT nn_department_dept_name NOT NULL
);
CREATE TABLE course(course_no char(5) CONSTRAINT pk_course_course_no PRIMARY KEY,course_name char(20) CONSTRAINT nn_course_course_name NOT NULL
);
CREATE TABLE teacher(t_no CHAR(6) CONSTRAINT pk_teacher_t_no PRIMARY KEY,t_name CHAR(8) CONSTRAINT nn_teacher_t_name NOT NULL,t_sex NCHAR(1) CONSTRAINT ck_teacher_t_sex CHECK(t_sex IN('男','女')),t_birthday DATE,tech_title CHAR(10)
);
CREATE TABLE class(class_no CHAR(5) CONSTRAINT pk_class_class_no PRIMARY KEY,class_name CHAR(10) CONSTRAINT nn_class_class_name NOT NULL,dept_no CHAR(2)
);
CREATE TABLE student(s_no CHAR(6) CONSTRAINT pk_student_s_no PRIMARY KEY,s_name CHAR(10) CONSTRAINT nn_student_s_name NOT NULL,s_sex NCHAR(2) CONSTRAINT ck_student_s_sex CHECK(s_sex IN('男','女')),s_birthday DATE,s_score NUMBER(5,1),s_addf NUMBER(5,1),class_no CHAR(5)
);
CREATE TABLE choice(s_no CHAR(6),course_no CHAR(5), score NUMBER(5,1),CONSTRAINT pk_choice_s_no_course_no PRIMARY KEY(s_no,course_no)
);
CREATE TABLE teaching(t_no CHAR(6),course_no CHAR(5),CONSTRAINT pk_teaching_t_no_course_no PRIMARY KEY(t_no,course_no)
);
--向表中插入記錄
INSERT INTO department VALUES('01','工商');
INSERT INTO department VALUES('02','旅游');
INSERT INTO department VALUES('03','信息');
INSERT INTO department VALUES('04','機電');
INSERT INTO department VALUES('05','汽車');INSERT INTO course VALUES('01','C語言');
INSERT INTO course VALUES('02','營養與健康');
INSERT INTO course VALUES('03','大學英語');
INSERT INTO course VALUES('04','線性代數');
INSERT INTO course VALUES('05','計算機網絡');INSERT INTO teacher VALUES('0101','司馬','男',TO_DATE('13-07-1987','dd-mm-yyyy'),'甲');
INSERT INTO teacher VALUES('0201','諸葛','男',TO_DATE('21-03-1976','dd-mm-yyyy'),'乙');
INSERT INTO teacher VALUES('0302','慕容','女',TO_DATE('7-05-1985','dd-mm-yyyy'),'丙');
INSERT INTO teacher VALUES('0403','夏侯','男',TO_DATE('18-08-1982','dd-mm-yyyy'),'甲');
INSERT INTO teacher VALUES('0502','歐陽','女',TO_DATE('25-02-1989','dd-mm-yyyy'),'丙');INSERT INTO class VALUES('1101','工商','01');
INSERT INTO class VALUES('1201','旅游','02');
INSERT INTO class VALUES('1102','信息','03');
INSERT INTO class VALUES('1202','機電','04');
INSERT INTO class VALUES('1103','汽車','05');INSERT INTO student VALUES('0001','小明','男',TO_DATE('13-07-1990','dd-mm-yyyy'),89,12,'1101');
INSERT INTO student VALUES('0002','小紅','女',TO_DATE('13-07-1991','dd-mm-yyyy'),83,17,'1201');
INSERT INTO student VALUES('0003','小強','男',TO_DATE('13-07-1990','dd-mm-yyyy'),80,11,'1102');
INSERT INTO student VALUES('0004','小剛','男',TO_DATE('13-07-1991','dd-mm-yyyy'),75,19,'1202');
INSERT INTO student VALUES('0005','小花','女',TO_DATE('13-07-1991','dd-mm-yyyy'),90,15,'1103');INSERT INTO choice VALUES('0001','01',98);
INSERT INTO choice VALUES('0002','02',87);
INSERT INTO choice VALUES('0003','03',91);
INSERT INTO choice VALUES('0004','04',94);
INSERT INTO choice VALUES('0005','05',83);INSERT INTO teaching VALUES('0101','01');
INSERT INTO teaching VALUES('0201','02');
INSERT INTO teaching VALUES('0302','03');
INSERT INTO teaching VALUES('0403','04');
INSERT INTO teaching VALUES('0502','05');--添加外鍵約束
ALTER TABLE student ADD CONSTRAINT fk_student_class_no FOREIGN KEY(class_no) REFERENCES class(class_no);
ALTER TABLE class ADD CONSTRAINT fk_class_dept_no FOREIGN KEY(dept_no) REFERENCES department(dept_no);
ALTER TABLE choice ADD CONSTRAINT fk_choice_s_no FOREIGN KEY(s_no) REFERENCES student(s_no) ON DELETE CASCADE;
ALTER TABLE choice ADD CONSTRAINT fk_choice_course_no FOREIGN KEY(course_no) REFERENCES course(course_no) ON DELETE CASCADE;
ALTER TABLE teaching ADD CONSTRAINT fk_t_no FOREIGN KEY(t_no) REFERENCES teacher(t_no) ON DELETE CASCADE;
ALTER TABLE teaching ADD CONSTRAINT fk_course_no FOREIGN KEY(course_no) REFERENCES course(course_no) ON DELETE CASCADE;SELECT TABLE_NAME FROM USER_TABLES;SELECT * FROM department;
SELECT * FROM course;
SELECT * FROM teacher;
SELECT * FROM class;
SELECT * FROM student;
SELECT * FROM choice;
SELECT * FROM teaching;