ORACLE实验
一、实验要求
本实验主要是熟悉ORACLE的运行环境;建立数据表,并考虑主键、外键及值约束;掌握用户管理及权限控制方法。
二、实验内容
1.根据要求建立如下表
定义基本表格major_d101(专业)与stud_d101(学生),关系模式如下:
①major_d101(MajorNo,MNAME,loc,mdean)
②stud_d101(SNO,SNAME,SEX,TEL,E-MAIL,birthday,MNO,MajorNo)
③学号的第3,4位为MajorNo(专业编号)。
2.插入样本数据
插入3个专业,计算机科学与技术,数据科学与大数据技术,物联网工程,每个专业12人。
3.用户权限控制
为每个学生建立相关用户,实现权限控制,每个学生可查询自己的信息,班长可查询本班所有学生信息; 为每个专业负责人建立用户,每个专业负责人可查询本专业所有学生信息。
(批量创建操作总是有些bug搞不定,索性直接全部手动创建......)
-----创建并连接主用户--------------------------------------------------------------
drop user u_d902 cascade;
create user u_d902 identified by p123456;
grant resource,connect,dba to u_d902;
conn u_d902/p123456
-----建立专业表及学生表------------------------------------------------------------
drop table t_major_d902;
create table t_major_d902(
mno varchar2(32),
mname varchar2(32),
loc varchar2(32),
mdean varchar2(32));
drop table t_stud_d902;
create table t_stud_d902(
sno varchar2(32),
sname varchar2(32),
sex varchar2(32),
tel varchar2(32),
email varchar2(32),
birthday varchar2(32),
mno varchar2(32),
majorno varchar2(32));
-----插入数据:三专业,每专业4班,每班12人--------------------------------------------
delete from t_major_d902;
delete from t_stud_d902;
insert into t_major_d902 values('01','计算机科学与技术','南校区','计大');
insert into t_major_d902 values('02','数据科学与大数据技术','南校区','数大');
insert into t_major_d902 values('03','物联网工程','南校区','物大');
-----计科12人-----
insert into t_stud_d902 values('8201190101','计大','男','11111010101','jida@163.com','20010101','8201190101','01');
insert into t_stud_d902 values('8201190102','计一二','男','11111010102','jiyier@163.com','20010102','8201190101','01');
insert into t_stud_d902 values('8201190103','计一三','男','11111010103','jiyisan@163.com','20010103','8201190101','01');
insert into t_stud_d902 values('8201190201','计二一','女','11111010201','jieryi@163.com','20010201','8201190201','01');
insert into t_stud_d902 values('8201190202','计二二','女','11111010202','jierer@163.com','20010202','8201190201','01');
insert into t_stud_d902 values('8201190203','计二三','女','11111010203','jiersan@163.com','20010203','8201190201','01');
insert into t_stud_d902 values('8201190301','计三一','男','11111010301','jisanyi@163.com','20010301','8201190301','01');
insert into t_stud_d902 values('8201190302','计三二','男','11111010302','jisaner@163.com','20010302','8201190301','01');
insert into t_stud_d902 values('8201190303','计三三','男','11111010303','jisasnan@163.com','20010303','8201190301','01');
insert into t_stud_d902 values('8201190401',&