oracle学习—视图、序列、索引、约束练习

今天学习了oracle之视图、序列、索引、约束,下面用一些练习来巩固今天的学习

练习:

1、创建一个视图v_emp_salesman,内容是所有职位SALESMAN的员工。


2、创建一个视图v_mgr_salary,列出每个主管的名字,以及他的下属中的最高薪水和最低薪水。


3、创建学生表student及序列stu_seq,然后,对student表进行插入,插入数据时,使用该序列生成主键。

       
要求:
1)创建一个序列stu_seq,初始值是1000,步进是2。
2)构造SQL语句,向student数据表中插入一条记录,其信息如下:学号使用上一步创建的序列生成,学生姓 名为张无忌,生日为1987-11-17,总成绩为639分。


4、需要经常在emp表的ename列上执行大小写无关搜索,在此列上建立一个基于UPPER函数的索引。


5、已知学生表student,该表两个字段学号(id)—主键、姓名(name),
其中id列为主键列。

有课程表course ,该表有两个字段编号(id)—主键、课程名称(name),
其中id列为主键列。

有选课表sc,该表有三个字段学号(sid)、课程编号(cid)、
成绩(score)。

本案例要求建立下列外键关联关系:
1).sc表的学号列(sid),外键关联学生表(student)的学号列(id)。
2).sc表的课程编号列(cid),外键关联课程表(course)的编号列(id)。
请写出建立上述关联关系的SQL语句。


===================================答案:==========================================

ps:本联系所用表格请参照:

http://blog.csdn.net/xie_xiansheng/article/details/50785030

--1
select ename,job from emp where job = 'salesman';
create view v_emp_salesman as(select ename,job from emp where job = 'salesman');
--2
select m.ename,max(w.sal) max_sal,min(w.sal) min_sal 
from emp w,emp m where w.mgr=m.empno group by m.ename;
--3
create table student(id number(4) primary key,name varchar2(20) not null,
birthday date,score number(9,2)); --创建student
create sequence stu_seq start with 1000 increment by 2;
insert into student(id,name,birthday,score) values(stu_seq.nextval,'张无忌',
to_date('1987-11-17','yyyy-mm-dd'),639);
commit;
--4
create index upper_ename_idx on emp(upper(ename));
--5
create table student5(id number(10) primary key,name varchar2(20));
create table course5(id number(10) primary key,name varchar2(20));
create table sc5(
sid number(10) CONSTRAINT t_sc_student5_fk references  student5(id),
cid number(10) CONSTRAINT t_sc_course5_fk references  course5(id),
score number(5,2)
);


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值