Oracle数据库其他对象-视图

数据库其他对象

索引
临时表
外部表
分区表
簇表

视图
视图是一个虚拟表,它同真实表包含名称,列,行数据,视图不在数据中存贮数据值,他的行和列中的数据来自于视图的查询语句所使用的表
数据库只在数据字典存储定义视图本身的SQL语句
用户可以在视图上进行 insert,update,delete 操作,通过视图修改数据,实际上修改的存储的数据

视图可以基于表创建视图
可以基于视图和表创建

创建视图,主要是为了将一个或多个表中经常被使用到的数据结合到一起,方便用户使用
create [or replace] view view_name as <select 语句> [whith check option]

whith check option : 主是要对视图中数据进行操作的时候验证
实际上,系统在创建视图的时候,只是将视图中定义的SQL存入到了数据库
create or replace view emp_sal_view as select empno,ename,sal from emp where sal>2000;
select * from emp_sal_view;

可更新视图
可以通过修改视图中的数据,修改基本表,
一个视图可以同时包含可更新字段和不可更新字段,字段是否可以被更新主要取决于select语句
一个视图中。通过计算得到的列不可以被修改
create or replace view emp_comm_view (编号,名称,工资, 奖金)
as
select empno,ename, sal+100, comm from emp;

select * from emp_comm_view;

select * from emp;
update emp_comm_view set 奖金= 300 where 编号 = 7369;
update emp_comm_view set 工资= 1200 where 编号 = 7369;--虚拟列不可被修改

select * from user_updatable_columns where table_name= upper('emp_comm_view');--查看列是否可以被修改
在创建有条件的视图的时候,应添加with check option 选项, 可以有效的限制对视图的操作
检查约束: with check option;(where 后面条件)
删除
drop view view_name;

序列

序列是Oracle提供的用于生产一系列唯一的数字的数据库对象
使用序列可以实现主键值增长,序列也可以在多用户下并发使用
为用户生产不重复的数字
序列不占用实际的存储空间,只是在数据字典中存储定义

创建序列必须要有 create sequence 系统权限
create any sequence

create sequence sequence_name
create sequence emp_seq
start with 1000
increment by 10
nomaxvalue
cache 20

select emp_seq.nextval from dual;

select emp_seq.currval from dual;

同义词

同义词就是表,索引,视图 ,等模式对象的一个别名,不占用实际存储空间

公有同义词: 在数据中所使用的用户都已使用
私有同义词: 只有自身使用

create public synonym public_dept for dept;

select * from public_dept; --查看
drop public synonym public_dept; --删除同义词

临时表 ;

只有想临时表中添加数据的时候才会被Oracle分配存储空间

堆表

:通过create table语句执行后,oracle就会分配一个盘区
l临时表存储数据是以实物或会话为基础的.
事务级别的临时表
create global temporary table temp_stu(
id number,
name varchar2(30)
)on commit delete rows;
会话级别:

    create global temporary table temp_stu(
    id number,
    name varchar2(30)
    )on commit preserve rows;
    退出数据会自动清空

外部表:
 oracle系统提供的文件系统数据库.
oracle 可以将一个格式化的文本文件,转换成虚拟的数据库表

 create directory wuyu_dir as 'd:\db'; 指向数据文件的目录(创建一个目录对象)


 create table stu(
    id number,
    name varchar2(20),
    gender varchar2(2),
    age number
)
organization external(
type oracle_loader
default directory wuyu_dir
access parameters(
fields terminated by ',')
location('wuyu.txt')
);

oracle_loader : 本地加载进程
default directory : 用来指定所使用的目录对象,该目录对象指向外部数据文件所在目录.
location : 指定源数据文件
access parameters : 设置访问驱动程序数据格式转换的参数
fields terminated by  : 用来指定字段直接的分隔符

分区表和分区索引表

分区表是指将巨型表分成较小的,可独立管理的部分,分区后的表和未分区的表在执行DML操作的时候没有区别
优点:
增强可用性 : 表的某个分区出现故障。不影响其他分区的数据使用
维护方便 : 如果表的某个分区坏了,只需要修改该分区
均衡I/o可以将不同的分区映射到不同磁盘中
改善查询性能,可以仅搜索某个分区,从而体格哦查询性能

分类
1. 范围分区
2. 散列分区
3. 列表分区
4. 组合分区
5. 组合范围分区

  create table student(
            id number primary key,
            name varchar2(20),
            subject varchar2(10),
            score number
        )
        partition by range(score)
        (
            partition part1 values less than(60) tablespace hnkj,
            partition part2 values less than(80) tablespace hnkj,
            partition part3 values less than(maxvalue) tablespace hnkj
        )
    
  create table student2(
    id number primary key,
    name varchar2(20),
    subject varchar2(10),
    score number
  )
    partition by hash(id)
  (
    partition part1 tablespace hnkj,
            partition part2 tablespace hnkj,
            partition part3 tablespace hnkj
        )

  create table student3(
    id number primary key,
    name varchar2(20),
    subject varchar2(10),
    score number
  )
    partition by list(subject)
  (
    partition part1 values ('java','jsp','javascript') tablespace hnkj,
    partition part2 values ('C#','ASP.NET') tablespace hnkj
)

查询指定分区中的数据
SQL> select * from student partition(part3)

备份和恢复

物理备份 : 对数据库的物理文件进行复制,分为脱机备份和联机备份
RMAN
逻辑备份 : 通过使用Oracle提供的导出工具进行备份

SQL优化

  1. 避免使用“”代替所有列 用 oracle 数据库先分析,在编译执行

2.delete 和truncate
truncate 删除数据的时候,直接将物理空间收回
表被截断

delete 保留被删除的空间提供给新数据使用

delete 是逐行删除,性能差,可以被事务回滚
truncate 一次性删除,效率高,但是不可回退

  1. 在确保完整性前提下,尽量多使用commit
  2. 减少表的查询次数
  3. 使用where 代替having
  4. 使用 <= 代替<

实体关系模型(E-R图)

实体(tnrity)
    现实世界各种事物的抽象
属性(attribute)
    属性是实体具有的若干特性
联系
    实体与实体之间的各种联系
    一对一
    一对多
    多对多
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,712评论 0 2
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,077评论 0 0
  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 1,225评论 0 0
  • 5.DML DML 语句 语句操作语言 INSERT UPDATE DELETE MERGE INSERT 方法:...
    乔震阅读 937评论 0 0
  • 在天空 乌云如此层峦叠嶂 如此浓密沉重 如在心头 所以渴望 并看见 阳光 巨斧破柴般劈下 线条笔直清晰 其心一如吾...
    兽眸深情如兽心阅读 520评论 3 1