Oracle学习笔记4

 

一. 索引

1) // 可以跟多个字段,表示多个字段组成的索引

Create index idx_stu_email on stu(email)

2) Drop index idx_stu_email

3) 加主键约束或者唯一约束时,系统会自动加索引

4) 加了索引会使读更快,但修改更慢,不要轻易建立索引

 

二. 视图

1) 视图就是一个子查询,视图越多维护越难

2) 视图可以更新数据,但是很少用它更新数据

3) Create view v$_avg_sal as

  select deptno, grade

  from (

select deptno,avg(sal) avg_sal from emp group by deptno) t join salgrade s on

                       (t.avg_sal between s.lowsal and s.highsal)

     ) t1 join dept d on (t1.deptno = d.deptno);

 

三. 序列( sequence Oracle 特有)

1) 维护主键,线程安全

2) Create sequence seq;

3) Create sequence seq start with 1 increment by 1;

4) Select seq.nextval from dual;

5) Drop sequence seq;

 

四. DML

1) insert into tablename(col1, col2, col3) values(v1, v2, v3);

2) update tablename set col1 = value1 where…

3) delete from tablename where ….

 

五. DDL

1) Create table emp2 as select * from emp;

2) Create table stu

(

         Id number(6) primary key,

         -- 给约束起别名,字段级约束

         Name varchar2(20) constraint stu_name_notnull not null,

         Sex number(1),

         Age number(3),

         Sdate date,

         Grade number(2) default 1,

         Classid number(4) references class(id),

         -- 字段唯一,但是可以插入 null

         Email varchar2(50) unique,

         -- 表级约束

         Constraint stu_name_email_unique unique(email, name)

         --constraint stu_id_pk primary key(id, name)

         --constraint stu_class_fk foreign key (classid) references class(id)

);

Create table class

(

         Id number(4) primary key,

         Name varchar2(20) not null

);

-- 若表级约束和字段级约束同时存在,则先对字段进行判断

3) Alter table stu add(addr varchar2(100));

Alter table stu drop(addr);

Alter table stu modify (addr varchar2(150));

Alter table stu drop constraint stu_class_fk;

Alter table stu add constraint stu_class_fk foreign key(class) references class(id);

4) Drop table tablename;

 

六. 事务

1) 一个事务从第一条 dml 语句开始,遇到 rollback commit 结束,另外遇到 dcl ddl 语句或者 exit 会自动 commit ,遇到非正常结束会 rollback

 

七. 三范式(理论指导,实际问题实际分析)

1) 第一范式:要有主键,字段不可再分,字段不可重复

2) 第二范式:不能存在部分依赖(不是主键的字段不能部分依赖组合主键),多对多关系分成三个表

3) 第三范式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值