生活随笔
收集整理的這篇文章主要介紹了
oracle学生-教师-班级表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
a)??????建立下列管理用的數(shù)據(jù)表。注意,表名和字段名都是英文。
學(xué)生表(student)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 學(xué)號(hào) | S_NO | CHAR(6) | 主鍵 |
| 姓名 | S_NAME | CHAR(10) | 非空 |
| 性別 | S_SEX | CHAR(2) | 只取男、女 |
| 出生日期 | S_BIRTHDAY | DATE | ? |
| 入學(xué)成績 | S_SCORE | NUMBER(5,1) | ? |
| 附加分 | S_ADDF | NUMBER(5,1) | ? |
| 班級(jí)編碼 | CLASS_NO | CHAR(5) | 外鍵,關(guān)聯(lián)班級(jí)表CLASS_NO |
班級(jí)表(class)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 班級(jí)編碼 | CLASS_NO | CHAR(5) | 主鍵 |
| 班級(jí)名 | CLASS_NAME | CHAR(10) | 非空 |
| 所屬系部 | DEPT_NO | CHAR(2) | 外鍵,關(guān)聯(lián)系部表DEPT_NO |
系部表(department)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 系部編碼 | DEPT_NO | CHAR(2) | 主鍵 |
| 系部名 | DEPT_NAME | CHAR(10) | 非空 |
課程表(course)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 課程編碼 | COURSE_NO | CHAR(5) | 主鍵 |
| 課程名 | COURSE_NAME | CHAR(20) | 非空 |
教師表(teacher)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 教師編碼 | T_NO | CHAR(6) | 主鍵 |
| 教師姓名 | T_NAME | CHAR(8) | 非空 |
| 性別 | T_SEX | CHAR(2) | 只取男、女 |
| 出生日期 | T_BIRTHDAY | DATE | ? |
| 職稱 | TECH_TITLE | CHAR(10) | ? |
選修表(choice)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 學(xué)生編碼 | S_NO | CHAR(6) | 主鍵,與學(xué)生表中S_NO外鍵關(guān)聯(lián),級(jí)聯(lián)刪除 |
| 課程編碼 | COURSE_NO | CHAR(5) | 主鍵,與課程表中COURSE_NO外鍵關(guān)聯(lián) |
| 成績 | SCORE | NUMBER(5,1) | ? |
授課表(teaching)
| 字段 | 名稱 | 數(shù)據(jù)類型 | 約束 |
| 教師編碼 | T_NO | CHAR(6) | 主鍵,與教師表中T_NO外鍵關(guān)聯(lián),級(jí)聯(lián)刪除 |
| 課程編碼 | COURSE_NO | CHAR(5) | 主鍵,與課程表中COURSE_NO外鍵關(guān)聯(lián) |
?
b)??????為每個(gè)表添加1至2條測試數(shù)據(jù)。
c)??????使用字典表user_constraints和user_cons_columns?查詢學(xué)生表上有哪些約束?
d)??????通過復(fù)制學(xué)生表和班級(jí)表創(chuàng)建?copy_student?、copy_class,并為復(fù)制的表添加和學(xué)生表和班級(jí)表相同的約束。班級(jí)表DEPT_NO?的外鍵不需要添加。
e)??????使用字典表user_constraints和user_cons_columns?查詢確認(rèn)約束添加成功。
f)???????刪除copy_student、copy_class上的約束,使用字典表user_constraints和?user_cons_columns查詢確認(rèn)約束刪除成功。
g)??????查詢編號(hào)為c002班級(jí)中所有女同學(xué);
h)??????查詢所有學(xué)生出生日期,要求輸出格式為'yyyy-mm-dd';
i)???????查詢總分(入學(xué)成績+附加分)在550和600之間的所有學(xué)生;
j)???????查詢名字中帶“小”字的所有學(xué)生;
k)??????查詢所有學(xué)生,按總分(入學(xué)成績+附加分)降序排列;
l)???????查詢?nèi)雽W(xué)成績大于平均入學(xué)成績的所有學(xué)生;
[sql]? view plain copy
?? 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','機(jī)電');?? INSERT?INTO?department?VALUES('05','汽車');?? ?? INSERT?INTO?course?VALUES('01','C語言');?? INSERT?INTO?course?VALUES('02','營養(yǎng)與健康');?? INSERT?INTO?course?VALUES('03','大學(xué)英語');?? INSERT?INTO?course?VALUES('04','線性代數(shù)');?? INSERT?INTO?course?VALUES('05','計(jì)算機(jī)網(wǎng)絡(luò)');?? ?? 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','機(jī)電','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','小強(qiáng)','男',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;??
總結(jié)
以上是生活随笔為你收集整理的oracle学生-教师-班级表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。