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) 第三范式:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是一种关系型数据库管理系统,广泛用于企业级应用程序中。学习Oracle需要全面了解其结构、基本概念和操作技巧。 首先,了解Oracle数据库的体系结构非常重要。Oracle数据库由实例和数据库组成。实例是数据库在内存中的运行实体,数据库是磁盘上存储数据的地方。了解实例和数据库之间的关系以及它们各自的功能对于后续学习非常重要。 其次,掌握SQL语言对于学习Oracle至关重要。SQL是结构化查询语言的缩写,用于与数据库进行交互。学习SQL语言,包括基本的SELECT、INSERT、UPDATE和DELETE语句,以及高级的聚合函数、连接查询和子查询等操作,可以帮助我们有效地访问和操作Oracle数据库。 此外,熟悉Oracle数据库的基本概念也是学习的关键。如表、视图、索引、约束、触发器等一系列数据库对象的使用和管理,以及事务的概念和ACID特性的重要性等。 了解Oracle的性能调优也是学习Oracle的必备知识之一。通过优化查询、索引和存储结构等手段来提高数据库的性能可以使数据库系统更加高效地运行。 最后,了解Oracle的高级特性和功能也是学习的重点。如分区表、数据泵、分布式数据库、备份和恢复等高级功能,在复杂的企业级环境中能够更好地应对各种需求。 总之,学习Oracle需要综合掌握数据库的结构、SQL语言、基本概念、性能调优和高级特性等。通过理论学习和实践操作相结合,逐步积累经验,才能够成为熟练的Oracle数据库管理员或开发人员。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值