分享
 
 
 

Oracle初学者笔记(六)-Oracle的数据库对象

王朝oracle·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

Oracle的数据库对象

同意词

数据库对象的替换名称,优点:

简化SQL语句;

隐藏对象的名称和所有者;

为分布式数据库的远程对象提供了位置透明性;

提供对对象的公共访问;

//如果在scott账号下的某个权限不足的话,可以通过下面的一系列操作来

完成:

conn system/[password] as sysdba;

grant create synonym to scott;

conn scott/tiger;

创建:

create [(public)] synonym [别名] for tablename;

删除:

drop synonym [别名];

数据字典:user_synonyms;

公有同意词的意义就是所有用户都可以访问,别人访问的时候不必再用用户.表名

来访问;比如system为scott.emp创建了employee别名,scott和其他用户都可以查询

这个别名,但是如果试图删除或者做其他操作,就会发现,即使是scott表也看不见

这个别名表,因为这个别名是system的;

序列

能够自动产生连续唯一值的数据库共享对象;

序列用于为主键提供值;

创建序列语句:

//用create创建的,就可以用drop删除;

create sequence seq

[increment by n]

[start with n]

[{maxvalue n|nomaxvalue}]

[{minvalue n|nominvalue}]

[{cycle|nocycle}]

[{cache n|nocache}] //在缓冲区存储生成的值;

属性:其实是函数

nextval 返回下一个可用的值;初始化序列值;

currval 获取当前的序列值;

数据字典:user_sequences;

序列是个什么东西呢?它就是在数据库中创建的一个供其他表

插入或者操作表数据的时候的一个方便的工具而已;

视图

视图显示了表中的一部分数据;

虚拟表,不实际存在数据;

好处:

提供了另外一种级别的安全性,也就是说我不告诉用户基表是

谁,就告诉一个可以让用户查询知道的视图;

隐藏数据的复杂性;视图的列可以首先从基表处拼合一个简单的列;

将应用程序与基表定义的修改隔离开来;

从另一个角度提供数据;

创建:create or replace view ....

order by....按照特定的顺序对行进行排列;

force 选项可用于创建带有错误的视图;

//你一直苦于当有一个SQL语句打错了的时候,如果

用r,/只能重新执行,无法直接只修改错误的地方而需要

全部重打;下面就有一个非常好用的方法来解决这个问题:

执行一句sql语句;

ed;//将会把上一行的sql语句写入afiedt.buf中;

修改afiedt.buf中你认为错误的地方,保存;

在sql-plus中使用r,/,将会执行修改后的afiedt.buf

中的sql语句 ;

所有的子查询结果都可以放在视图中,这就是为什么说视图简化了

表的复杂性,简化了sql的原因;

子查询可以排序,可以xxxx,所以得到的视图也可以是被排序后的,

被xxxx后的;

Oracle没有top关键字,为了得到前几行数据,我们:

Oracle中有两个隐藏的列:

rowid,对每一个行的唯一的物理映射的标识,

如果用具体的rowid来检索,速度飞快;

rownum,一个输出序列;如果想要检索出前5条的话,

就用where rownum<=5;

举个例子:create or replace view v_sal as

select ename as 姓名,sal as 工资

from emp order by sal;

select * from v_sal where rownum<=10;

这个例子将得到工资最低的前十个人;

视图更强大的功能是联接视图;

数据字典:user_views

删除视图:drop view

比如:

>create or replace view v_union as

select * from temp union all select * from temp1;

可以创建temp,temp1两个表的联合的视图;

视图的维护:

alter view v_union compile;

为什么这么做呢?这跟视图的原理是有关的,视图是系统通过编译sql语句得到

的一个虚拟表,也就是说这个表是基于系统的一次编译后的sql语句而存在的;

如果基表改变了,但视图还是基于原来被编译的sql语句,所以我们需要用

alter view v_union compile来重新编译视图;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有