当前位置:文档之家› oracle 第13讲 使用视图、索引、序列和同义词

oracle 第13讲 使用视图、索引、序列和同义词

oracle 第13讲 使用视图、索引、序列和同义词
oracle 第13讲 使用视图、索引、序列和同义词

第13讲使用视图、索引、序列和同义词对象

1、使用视图(view)

视图是基于其他表或其他视图的逻辑表。

视图的作用:

(1)限制数据访问,访问视图时只能访问select语句所涉及到的列。

(2)简化复杂查询,如果经常需要在多个表之间执行复杂查询操作,可以基于该复杂查询语句建立视图。

视图分类:

(1)简单视图,基于单个表所建视图,不包含任何函数、表达式及分组数据的视图。(2)复杂视图,包含函数、表达式或者分组数据的视图。

(3)连接视图,基于多表所建立的视图。

(4)只读视图,至允许执行查询操作。

在视图上执行DML操作的原则:

(1)DELETE操作原则:如果视图包含有group by子句、分组函数、distinct关键字和rownum 伪列,那么不能在该视图上执行delete操作。

(2)UPDATE操作原则:如果视图包含有group by子句、分组函数、distinct关键字和rownum伪列,以及使用表达式所定义的列,那么不能在该视图上执行update操作。(3)INSERT操作原则:如果视图包含有group by子句、分组函数、distinct关键字和rownum 伪列,以及使用表达式所定义的列,或者在视图上没有包含视图基表的not null列,那么不能在该视图上执行insert操作。

使用system帐号授予scott账户create view的权限。

SQL> grant create view to scott;

1.1 建立视图

(1)建立简单的视图

例:建立视图vu_emp,包含emp表的empno,ename,sal列

create view vu_emp as

select empno,ename,sal from emp;

查看视图列

SQL> desc vu_emp;

Name Type Nullable Default Comments

----- ------------ -------- ------- --------

EMPNO NUMBER(4)

ENAME VARCHAR2(10) Y

SAL NUMBER(7,2) Y

使用数据字典user_views查看用户视图

SQL> select view_name from user_views;

VIEW_NAME

------------------------------

VU_EMP

查看视图文本:

SQL> select text from user_views where view_name=upper('vu_emp');

对简单视图的增、删、改操作

SQL>insert into vu_emp (empno,ename,sal) values (1000,'郭永洪',1500);

SQL> update vu_emp set sal=3000 where empno=1000;

SQL> delete from vu_emp where empno=1000;

视图本身没有任何数据,视图上的增、删、改、查操作都是针对视图基表来完成的。

练习:建立视图vu_emp01,可以查看雇员的编号、姓名、工资和奖金。并使用测试数据作增、删、改操作(数据自拟)。

(2)建立复杂视图

例:建立视图vu_gdept,按部门统计平均工资、合计工资、最高工资和最低工资。create view vu_gdept as

select deptno,

round(avg(sal),2) avgsal,

round(sum(sal),2) sumsal,

round(max(sal),2) maxsal,

round(min(sal),2) minsal

from emp

group by deptno;

练习:建立视图显示工资高于部门平均工资的雇员姓名、工资和部门号。

create view vu_emp02 as

select ename,sal,deptno

from emp

where sal>(select avg(e.sal)

from emp e

where e.deptno=emp.deptno);

(3)建立连接视图

例:建立视图vu_emp_dept,包含emp表的empno,ename,sal列和dept的dname列。create view vu_emp_dept as

select e.empno,e.ename,e.sal,d.dname

from emp e,dept d

where e.deptno=d.deptno;

使用数据字典视图user_updatable_columns查看视图列具有的DML权限。

select table_name,

column_name,

updatable,

insertable,

deletable

from user_updatable_columns

where table_name=upper('vu_emp_dept');

TABLE_NAME COLUMN_NAME UPDATABLE INSERTABLE DELETABLE ------------- ------------------------------ --------- ---------- --------- VU_EMP_DEPT EMPNO YES YES YES

VU_EMP_DEPT ENAME YES YES YES

VU_EMP_DEPT SAL YES YES YES

VU_EMP_DEPT DEPTNO YES YES YES

VU_EMP_DEPT DNAME NO NO NO

练习1:建立视图显示雇员的编号、姓名及其主管的编号和姓名。

练习2:建立视图显示雇员的编号、姓名、工作、部门名称和工资等级。

(4)建立只读视图

例:建立只读视图vu_emp_d20,包含列empno,ename,job,sal,deptno。

create view vu_emp_d20 as

select empno,ename,job,sal,deptno

from emp

where deptno=20

with read only;

SQL> insert into vu_emp_d20 (empno,ename,job,sal) values (1003,'李四

','CLERK',1500);

ORA-01733: 此处不允许虚拟列

练习:建立只读视图显示雇员的编号、姓名、工作、部门名称和工资等级。

(5)建立带有check约束的视图

例:建立视图vu_emp_d30,显示30部门的雇员编号、姓名、工作、工资和部门号,不允许添加其它部门信息。

create view vu_emp_d30 as

select empno,ename,job,sal,deptno from emp where deptno=30

with check option constraint ck_vuempd30;

测试:

SQL> insert into vu_emp_d30 (empno,ename,job,sal,deptno) values (1004,'李四

1','CLERK',1500,20);

ORA-01402: 视图 WITH CHECK OPTIDN where 子句违规

练习:建立可以添加工作为‘CLERK’的雇员的视图,包含列编号、姓名、工作,不允许添加其他工种的雇员信息。

(6)建立视图时建立列别名

create view vu_emp_d40 as

select empno 雇员编号,

ename 雇员姓名,

job 雇员工作,

sal 雇员工资,

deptno 部门编号

from emp

where deptno=40

with check option constraint ck_vuempd40;

1.2维护视图

(1)修改视图定义

例:修改视图vu_emp_dept,增加列deptno。

create or replace view vu_emp_dept as

select e.empno,e.ename,e.sal,e.deptno,d.dname

from emp e,dept d

where e.deptno=d.deptno;

重新编译视图

alter view vu_emp_dept compile;

(2)删除视图

SQL> drop view vu_emp_dept;

2.使用索引

何时使用索引?

(1)索引正确的表和列

索引应该建立在where子句经常使用的表列上。如果在大表上频繁使用某列或某几列作为条件执行检索操作,并且检索行数低于总行数的15%,那么应考虑在该列上建立索引。

为提高多表连接的性能,应该在连接列上建立索引。

如果经常需要基于某例或某几列执行排序操作,那么通过在这些列上建立索引,可以加快数据排序的速度。

不要在小表上建立索引。

(2)限制表的索引个数

索引主要用于加快查询速度,但会降低DML操作速度。索引越多,DML操作速度会越慢,尤其会极大影响insert和delete操作速度。因此,在规划索引时,需权衡查询和DML的需要。

(3)删除不需要的索引

删除在小表上建立的索引。如果表小使用索引不会加快查询速度。

删除查询语句不会引用的索引。如果在某列或某几列上建立的索引,但这些列不会在where子句中引用,那么应该删除相应的索引。

使用数据字典视图user_indexes查询索引信息:

SQL> select table_name,index_name,uniqueness,status from user_indexes;

TABLE_NAME INDEX_NAME UNIQUENESS STATUS ----------------------------- ------------------------------ ---------- -------- DEPT PK_DEPT UNIQUE VALID EMP PK_EMP UNIQUE VALID EMP03 PK_EMPNO03 UNIQUE VALID DEPT02 UK_DNAME UNIQUE VALID DEPT02 UK_DEPTNO UNIQUE VALID XSXK PK_XSXK_XSBH_KCBH UNIQUE VALID EMP01 UK_EMP01_ENAME UNIQUE VALID EMP01 PK_EMP01_EMPID UNIQUE VALID

SQL> select table_name,index_name,column_name from user_ind_columns;

TABLE_NAME INDEX_NAME COLUMN_NAME

--------------------------- ----------------- ------------- DEPT PK_DEPT DEPTNO

EMP PK_EMP EMPNO

EMP03 PK_EMPNO03 EMPNO

DEPT02 UK_DNAME DNAME

DEPT02 UK_DEPTNO DEPTNO

XSXK PK_XSXK_XSBH_KCBH KCBH

XSXK PK_XSXK_XSBH_KCBH XSBH

EMP01 UK_EMP01_ENAME ENAME

EMP01 PK_EMP01_EMPID EMPNO

2.1建立索引(index)

创建emp04表

create table emp04(empno,ename,job,sal,deptno)

as

select empno,ename,job,sal,deptno from emp;

(1)建立单列索引

基于单个列建立索引,如果经常在where子句中引用某个列,那么应该考虑在该列上建立单列索引。

SQL>create index i_emp04_job on emp04(job);

使用索引:

SQL>select empno,ename,job,comm,deptno from emp04 where job='CLERK';

(2)建立复合索引

基于多列建立的索引,如果经常在where子句需要引用同一表的多个列定位数据,那么可以考虑在这些列上建立复合索引。

SQL> create index i_emp04_deptno_job on emp04(deptno,job);

下面两条语句使用索引:

SQL> select empno,ename,job,comm,deptno from emp04 where deptno=20 and job='CLERK'; SQL> select empno,ename,job,comm,deptno from emp04 where deptno=20;

下面两条语句不使用索引:

SQL> select empno,ename,job,comm,deptno from emp04 where deptno=20 or job='CLERK'; SQL> select empno,ename,job,comm,deptno from emp04 where job='CLERK';

(3)建立非唯一索引

索引列值可以重复的索引。

SQL> create index i_emp04_ename on emp04(ename);

(4)建立唯一索引

索引列值不能重复的索引。

SQL> create unique index i_emp04_empno on emp04(empno);

2.2维护索引

(1)重建索引

在使用delete删除数据时,在索引上只是逻辑删除,其占用的空间不能供其他插入操作使用。频繁执行update和delete操作,应定期重建索引,提高空间利用率。

SQL> alter index i_emp04_job rebuild;

(2)联机重建索引

当用户正在表上执行DML操作时,重建索引会失败。指定online选项可以最小化DML影响。

SQL> alter index i_emp04_job rebuild online;

(3)删除索引

SQL> drop index i_emp04_job;

3.使用序列(sequence)

3.1 建立序列

(1)建立序列

语法:

Create sequence Sqe_Name

[increment by n]

[start with n]

[{maxvalue n | nomaxvalue}]

[{minvalue n | nominvalue}]

[{cycle | nocycle}]

[{cache n | nocache}]

说明:

Sqe_Name:序列对象名。

increment by n:序列递增值(正整数)或递减值(负整数)。

start with n:起始序列值(该项缺省,则默认为1)。

maxvalue n:可产生的最大序列值(大于或等于start with指定的值,且大于minvalue),默认值为nomaxvalue。

Minvalue n:可产生的最小序列值(小于或等于start with指定的值,且小于maxvalue),默认值为 nominvalue。

Cycle:达到序列最大值或最小值后是否继续生成序列号,默认为nocycle。

Cache n:在内存中可以预分配的序列号个数(默认20),nocache指不使用内存。

例1:建立一个产生雇员编号的序列,雇员编号从8000开始,依次增长1,最大值9999,不允许序列循环,不使用高速缓存技术。

create sequence seq_empno

increment by1

start with8000

maxvalue9999

nocache

nocycle;

例2:建立一个产生部门编号的序列,雇员编号从50开始,每次增长10,最大值99,高速缓存10个。

create sequence seq_deptno

increment by10

start with50

maxvalue99

cache10;

以上序列将产生50,60,70,80,90共5个依次递增的序列值。

查询序列:

select sequence_name,increment_by,cache_size,max_value,last_number from seq;

(2)使用序列

伪列nextval返回下一个序列值,首次使用序列时,只能使用为例nextval。

位列currval返回当前序列值,currval使用前,必须使用nextval产生一个序列值。

例1:在dept表中添加研发部门,使用序列seq_deptno产生研发部门的部门编号,部门地点在常州。

SQL>insert into dept (deptno,dname,loc)values(seq_deptno.nextval,'研发部','常州');

查询:

SQL> select * from dept;

DEPTNO DNAME LOC

------ -------------- -------------

50 研发部常州

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

例2:为研发部门添加一个雇员“马云”,职位“CEO”,月薪2万,入职日期“2011-5-24”,雇员编号使用序列seq_empno产生。

insert into emp (

empno,

ename,

job,

sal,

hiredate,

deptno)

values(seq_empno.nextval,

'马云',

'CEO',

20000,

to_date('2011-5-24','yyyy-mm-dd'),

seq_deptno.currval);

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

----- ---------- --------- ----- ----------- --------- --------- ------

8000 马云 CEO 2011/5/24 20000.00 50

7369 SMITH CLERK 7902 1980/12/17 1760.00 160.00 20

7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30

7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30

7566 JONES MANAGER 7839 1981/4/2 3272.50 297.50 20

7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30

7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30

7782 CLARK MANAGER 7839 1981/6/9 1500.00 300.00 10

7788 SCOTT ANALYST 7566 1987/4/19 3300.00 300.00 20

7839 KING PRESIDENT 1981/11/17 5000.00 10

7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30

7876 ADAMS CLERK 7788 1987/5/23 1210.00 110.00 20

7900 JAMES CLERK 7698 1981/12/3 950.00 30

7902 FORD ANALYST 7566 1981/12/3 3300.00 300.00 20

7934 MILLER CLERK 7782 1982/1/23 1300.00 10

练习:创建一个序列seq_author为作者提供编号,范围1000至9999,递增步长为1。并使用该序列产生器产生的编号在author表中添加两条作者信息。

3.2 维护序列

(1)修改序列

当序列值不符合实际需求时,可以执行alter sequence命令修改序列。

语法:

alter sequence Sqe_Name

[increment by n]

[{maxvalue n | nomaxvalue}]

[{minvalue n | nominvalue}]

[{cycle | nocycle}]

[{cache n | nocache}]

注意:启动序列号不可以修改(start with n)

例:序列seq_deptno的递增步长修改为1

alter sequence seq_deptno

increment by1

maxvalue99

cache10;

SQL> select seq_deptno.nextval from dual;

NEXTVAL

----------

91

(2)删除序列

SQL>drop sequence seq_deptno;

4.使用同一词

4.1 建立同义词

授予scott账户创建公共同义词的权限。

SQL> grant create public synonym to scott;

授予scott账户创建私有同义词的权限。

SQL> grant create synonym to scott;

(1)建立公共同义词

SQL>create public synonym public_emp for scott.emp;

分别用scott账户和system账户访问同义词表:

SQL> select * from public_emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 8000 马云 CEO 2011/5/24 20000.00 50 7369 SMITH CLERK 7902 1980/12/17 1760.00 160.00 20 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30

7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 7566 JONES MANAGER 7839 1981/4/2 3272.50 297.50 20 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 7782 CLARK MANAGER 7839 1981/6/9 1500.00 300.00 10 7788 SCOTT ANALYST 7566 1987/4/19 3300.00 300.00 20 7839 KING PRESIDENT 1981/11/17 5000.00 10 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987/5/23 1210.00 110.00 20 7900 JAMES CLERK 7698 1981/12/3 950.00 30 7902 FORD ANALYST 7566 1981/12/3 3300.00 300.00 20 7934 MILLER CLERK 7782 1982/1/23 1300.00 10

(2)建立私有同义词

SQL>create synonym private_emp for scott.emp;

切换到system账户:

访问私有同义词:

SQL> select * from private_emp;

ORA-00942: 表或视图不存在

访问公共同义词:

SQL> select * from public_emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 8000 马云 CEO 2011/5/24 20000.00 50 7369 SMITH CLERK 7902 1980/12/17 1760.00 160.00 20 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 7566 JONES MANAGER 7839 1981/4/2 3272.50 297.50 20 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 7782 CLARK MANAGER 7839 1981/6/9 1500.00 300.00 10 7788 SCOTT ANALYST 7566 1987/4/19 3300.00 300.00 20 7839 KING PRESIDENT 1981/11/17 5000.00 10 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987/5/23 1210.00 110.00 20 7900 JAMES CLERK 7698 1981/12/3 950.00 30 7902 FORD ANALYST 7566 1981/12/3 3300.00 300.00 20 7934 MILLER CLERK 7782 1982/1/23 1300.00 10

练习:建立dept表的公共和私有同义词并在不同账户下测试。

4.2 删除同义词

(1)删除公共同义词

SQL> drop public synonym public_emp;

(2)删除私有同义词

SQL> drop synonym private_emp;

同义词和同义词辨析

同义词 意义相同或相近的一组词 意义相同的叫等义词,意义相近的叫近义词。 一、等义词 ㈠概念义、附属义完全相同,在任何语境中都能够替换,也叫绝对同义词, 如: 单车——自行车青霉素——盘尼西林电机——马达 六弦琴——吉他立刻——马上 ㈡概念义相同,附属义有一些细微的差别: 西红柿——番茄母音——元音剪刀——剪子 玉米——包谷、棒子公尺——米 二、近义词 美丽——漂亮 矗立——耸立——屹立 都有:高高的立起的意思,但不同: 矗立,着眼于直,是直而高的立着。用于物,不用于人。 耸立,着眼于高,高而突出的立着。 屹立,着眼于稳固,用于物,也可用于人。 近义词从形式上看,有三种: ①语素不同: 道路——途径毛病——缺点杰出——卓越美丽——

漂亮 谨慎——小心企图——打算忧虑——担心检举—— 揭发 ②素有同有异: 保卫——捍卫辩论——争论严格——严厉希望——期待 请求—恳求—哀求—乞求 赞赏—赞颂—赞扬—赞叹 ③素颠倒: 力气——气力整齐——齐整展开——开展粮食——食粮 情感——感情榜样——样榜兄弟——弟兄到达——达到 妒忌——忌妒健康——康健 同义词形成的原因: 一、认识深化的结果 人们在语言实践中因为认识的深化而不断创造新词,新词旧词并存使用,意义上有交叉,于是就形成了同义词。如: 拉:抓住一物,使之离开原处。 拖:磨着地面拉。 提:从下往上拉。

扯:不规则地拉。 抽:只拉其中一个部分。 拽:使劲拉 波动:上下起伏地动 摇动、摆动、晃动:前后或左右地动 转动:围绕一点旋转地动。 移动、挪动:从一个位置移到了另一个位置。 二、客观现象相近、相类联系的反映。 看、见、望、顾、窥、盯、观、察 三、语汇内部发展的结果(吸收各方面词语的结果) 语言的发展具有继承和发展两个方面,一方面创造新词,一方面吸收外来词、方言词、行业语等等,各方面的词并用,于是就出现了众多的同义词 见面(会晤)想念(缅怀)生日(诞辰)黎明(拂晓)——古语词 扩音器(麦克风)扳手(士巴拿)公共汽车(巴士) 发电机(马达)滑稽(幽默)——外来词 玉米——包谷、棒子、向日葵(朝阳花、望日莲)——方言 四、交际的特殊需要 人们对于客观事物的反映,往往带有一种主观的评价。而语言是传递信息,

oracle系统表和视图说明

1.视图的概述 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束) 2.视图的存储 与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额外的存储空间。 3.视图的作用 用户可以通过视图以不同形式来显示基表中的数据,视图的强大之处在于它能够根据不同用户的需要来对基表中的数据进行整理。视图常见的用途如下: 通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制 隐藏数据复杂性 视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。 简化用户的SQL 语句 用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的。 以不同的角度来显示基表中的数据 视图的列名可以被任意改变,而不会影响此视图的基表 使应用程序不会受基表定义改变的影响 在一个视图的定义中查询了一个包含4 个数据列的基表中的3 列。当基表中添加了新的列后,由于视图的定义并没有被影响,因此使用此视图的应用程序也不会被影响。 保存复杂查询 一个查询可能会对表数据进行复杂的计算。用户将这个查询保存为视图之后,每次进行类似计算只需查询此视图即可。

Oracle应用程序编程1_5章试题汇总

一、选择题(每题1分,共40分) 1、Oracle数据库存储数据的方式包括()A A、文件系统 B、网络存储 C、自动存储设备 D、裸设备 2、Oracle是一种()数据库。D A、文件型 B、层次型 C、网状模型 D、关系型 3、Oracle10g的新特性是()D A、支持grid网格计算 B、提供RAC功能 C、为internet而设计 D、提供基于浏览器的企业管理器 4、Oracle数据库启动时必须启动的服务是()A A、OracleService B、OracleJobSchedulerOrcl C、OracleDBConsole D、OracleOraDB10g_homeliSQL*Plus 5、Oracle服务器提供的安装类型不包括()D A、企业版 B、标准版 C、个人版 D、移动版 6、下面哪项信息不会保存在控制文件中(D) A、日志文件的名称及位置 B、数据库的名称 C、初始化参数文件的位置 D、数据文件的名称和位置 7、下列哪个组件不是Oracle例程的组成部分?()C A、系统全局区SGA B、PMON后台进程 C、控制文件 D、调度进程 8、下列哪一个后台进程和对应的数据库组件能够保证即使用户对数据库所做的修改没有写入数据文件,也不会发生修改内容丢失的情况?()D A、DBWN后台进程与数据库缓存 B、LGWR后台进程与重做日志文件 C、CKPT后台进程与控制文件 D、ARCn后台进程与归档重做日志文件 9、如果一个服务器进程非正常终止,Oracle系统将使用下列哪一个进程来释放它占用的资源()A A、SMON B、PMON C、CKPT D、DBWR 10、以下不属于Oracle的物理组成结构的是()D A、控制文件 B、日志文件 C、数据文件 D、安装文件 11、系统全局区(SGA)是一个庞大的共享内存结构,包含了一个数据库实例的数据或控制信息。SGA可以分为不同的池,以下池不属于SGA的是()C A、共享池 B、大池 C、数据池 D、Java池 12、在Oracle数据库中数据增长的基本单位是()B A、区 B、块 C、段 D、表空间

Oracle索引分析与查询优化

龙源期刊网 https://www.doczj.com/doc/be9499010.html, Oracle索引分析与查询优化 作者:崔黎明志远李婧 来源:《数字技术与应用》2016年第07期 摘要:Oracle是目前国内在大型数据存储中用得比较多的一种关系型数据库,磁盘阵列技术(RAID)和集群技术(RAC)的运用,使Oracle在处理数据效率和数据安全上有非常大的提高,在国内交通、电力,通信和金融等重要领域都有广泛的用途。本文基于Oracle 11g版本,对Rowid和索引的原理机制做出分析,并论述利用这些原理对大型数据表查询的优化。 关键词:Oracle Rowid 索引查询 中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2016)07-0234-02 在逻辑上,Oracle是由多个表空间构成的,在新建一个表空间的时候,必须指定存储的文件,可以指向多个存储在不同磁盘上的数据。表空间下面分为段、区、块。新建一张表的时候,Oracle数据库就会为它创建一个段。所谓区就是指连续的块(block)构成的空间,一般区包含8个空块,block是Oracle数据库最小的数据空间,一般为8k或16k,当开始往这个表中插入数据的时候,Oralce数据库会自动为这个表分配一个区,并把数据不断往此区进行填充,当数据填满此区后,Oralce数据库会重新为该表分配一个区而不是一个段。实际上,对于我们不同的查询过程中,就是通过一些谓词过滤条件,从对应的数据块中获取正确的一行数据或多行数据。如何快速定位到该数据行,是一个数据库学习者不断探索的方向。 1 Rowid 1.1 简介 从字面上理解是行标识的意思,它是Oracle数据库中数据表的一个伪列,用于存放该表中每一行数据的地址,在8i版本之前,Oracle采用受限制的rowid,它是由数据文件编号,块编号和数据在该块内的偏移量这三个部分构成,长度为6个字节,因此在8i之前的版本中,每 个数据库最多可以包含1022个文件,每个文件最多能有4m个数据块,而每个数据库最多能 存储64k条记录。为了突破长度的限制和解决其他一些缺陷,Oracle数据库引入了这样一个概念:相对文件号。它的主要特点是改变之前rowid中数据文件编号是整个数据库范围组成的表空间,即文件编号为5的文件不再是数据库中编号为5的数据文件,而是表空间中对应编号的数据文件。如下图1所示为Oracle11g中一个普通表的rowid。 从该图1中可以看到rowid共有18位,分为四部分,格式为:AAAAAABBBCCCCCCDDD,其中AAAAAA六位表示dataobjectid,根据这个id可以确定该行数据在哪个段中;BBB三位表示相对文件号,通过这个字段号可以用来确定该行数据的绝 对文件号;CCCCCC六位表示datablocknumber,它是相对于datafile的编号;最后三位DDD

2017oracle期末考试题及答案

5.10.15.20.25.30. 1、以下()内存区不属于SGA。A A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、()模式存储数据库中数据字典的表和视图。 B A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字, 则Oracle就将()表空间分配给用户作为默认表空间。 C A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 B A.汇总 B.分析 C.分组 D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary D A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。D

A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不 允许插入、更新和删除行。 C A.行共享 B.行排他 C.共享 D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。B A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区 B.截断分区 C.拆分分区 D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列 B.范围 C.列表 D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION

Sql_Lab4 视图、序列、同义词和索引

SQL实验四视图、序列、同义词和索引 实验目标: ?创建视图 ?创建序列 ?插入值时在表中使用序列 ?创建同义词 ?创建索引 4.1 视图 视图是一个虚拟表,其内容是借助于查询从表中获取的。在这些表中所作的更改自动反映在视图中。语法如下: CREATE VIEW viewname AS SELECT; 注意:ORDER BY 不能与视图一起使用。 实验4-1 建立“上海”客户的视图,并取名“Customer_sh”。 上面的查询创建一个名为“Customer_sh”的视图。创建视图之后,您可像查看任何表一样查看该视图。请给出如下所示的语句:

实验4-2 建立一个名为Order_Sh的包含所有上海客户订单信息的视图,要求在该视图中包括各客户的公司名称、订单代号和订购日期等属性列。 实验4-3 删除名为 Customer_sh的视图。 4.2 序列 序列用来生成可用作主键的唯一整数。语法如下: CREATE SEQUENCE sequencename INCREMENT BY START WITH ; ?sequencename 是创建的序列的名称; ? 是指定的递增数,默认值是 1; ? 是序列的开始数。 实验4-4 创建名从3开始、步长为1、名为“seqno”的序列。

上面的查询创建名为“seqno”的序列,我们也可以在创建序列之后插入值。格式如下: INSERT INTO tablename(sequence column number, columnnames) VALUES (sequence name.NEXTVAL, values); ?Sequence column number是您生成序列编号的列名称 ?Column names是表的其他列。 实验4-5 假定数据库中有一个名为new_ptype的表,其结构和数据如下图所示: 请给出如下所示的语句:

oracle数据字典详解

学习笔记:oracle数据字典详解 --- 本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。然后列出一些附例。 数据字典系统表,保存在system表空间中。 由表和视图组成,由服务器在安装数据库时自动创建,用户不可以直接修改数据库字典,在执行DDL 语句时,oracle会自动修改。 记录一些表和视图(只读的),新建的表不要和这空间建在一起(9i以前的版本新用户建的表默认表空间为system,注意修改) --查询数据字典: select * from dictionary --数据字典导出方法: conn / as sysdba spool on spool c:\dic.txt select * from dictionary spool off 主要四部分: 1,内部RDBMS表:x$…… 2,数据字典表:……$ 3,动态性能视图:gv$……,v$…… 4,数据字典视图:user_……,all_……,dba_……

数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图) +++ 一,内部RDBMS表x$……,例如:x$kvit,x$bh,x$ksmsp,x$ksppi和x$ksppcv 核心部分,用于跟踪内部数据库信息,维持DB的正常运行。 是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。最好不要修改. x$kvit=Kernel Layer Performance Layer V Information tables Transitory Instance parameter 数据库启动时,动态创建x$…… +++ 二,数据字典表……$,如tab$,obj$,ts$…… --用来存储表、索引、约束以及其他数据库结构的信息。 --创建数据库时通过脚本sql.bsq来创建,脚本:$oracle_home/rdbms/admin/sql.bsq +++ 三,动态性能视图gv$……,v$……,如V$parameter --记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。 --数据库创建时建立的。 --只有sysdba可以直接访问。 --查看表v$fixed_view_definition(***),可以查看GV$和V$视图的创建语句。(oracle提供一些特殊视图,用来记录其他视图的创建方式,v$fixed_view_definition就是其中之一) --select view_definition from v$fixed_view_definition where view_name='V$FIXED_TABLE'; --gv$……=Global V$,在X$……基础上创建,是为了满足OPS环境(多个实例)的需要面产生的,可以返回多个实例的信息。

公文写作中常用同义词辨析

公文写作中常用同义词辨析 公文是处理公务的一种重要的文字工具,在制作过程中,对公文常用同义词语的选用是一件煞费苦心的事,下面从常用同义词中选取几组进行辨析。 截止与截至“截止”是指“到一定期限停止”,如“报名在昨天已经截止”,“截至”是截止到某个时候,如“报名日期截至本月底止”。在“截至”中“截”的意思就是“截止”,而“至”则是“到”的意思,所以“截至”就是“截止到”的意思,例如“北京市申办2000年夏季奥运会得到了北京市人大代表和政协委员的大力支持。截至今天18时,已有500多位人大代表和近300名政协委员在网上签名支持北京申办奥运会”(《人民日报》2000年2月18日),句中“截至”就不能用作“截止”。 布置与部署“布置”是指“在一个地方安排和陈列各种东西或人以使这个地方适合某种需要”,也指“对一些活动做出安排”;“部署”是指“安排、布置(人力、任务)”。比较起来,“布置”适用的范围要比“部署”宽泛一些。“部署”一般适用于较大规模的、比较正式的、带有较浓厚的书面色彩的或者与军事有关的场合,只能与人力、任务、工作等少数几个词语搭配,如“军事部署、战略部署、统一部署”等,如果我们把“布置房间”说成“部署房间”那就错了,如果把“部署”写成“布署”那就是写别字了。 其他与其它“其他”是指“别的”,可以指人,也可以指事物,如“抓住主要矛盾,其他问题也就迎刃而解了”,“其他”用在单音节词前要带“的”,用在双音节词前一般不带“的”;“其它”是从“其他”中分化出来的,仅用于事物。在公文写作过程中,将“其他”与“其它”混用的现象比较普遍,有些是选用不当,有些则是难于取舍造成的,实际上,在典范的现代白话文著作中,已逐步淘汰了“其它”而一律用“其他”,既指人,也指事物。 中心与重心“中心”是指“跟四周距离相等的位置;事物的主要部分;在某一个方面占主要地位的城市或地区;设备、技术力量等比较完备的机构和单位(多用作单位的名称)”等。“重心”是指“物体各部分所受的重力产生合力,这个合力的作用点就叫做这个物体的重心”,由此引申为事情的中心或主要部分。写作中不能把“中心工作”写成“重心工作”。 启用与起用“启用”是指“开始使用”,“启”有“开始”的意思,如“启用单位印信”、“新机场已经落成,即将启用”等;“起用”是指重新任用已退职或免职的官员”,在这里,“起”有“向上”的意思。两个词语的根本区别在于“起用”指人,而“启用”一般不指人。 称谓:我、本、该;你、您、贵;大家 时间:不日,不时,即日,即刻,当即,一度,几度,如期,限期,届时,定于,兹,行将,旋即,在即,如期,拟于,逾期,曾,前迄,自,嗣后,俟,径行,先期,迅即 发端:为了,根据,按照,遵照,顷据,顷奉,接,前接,近接,闻,近闻,悉,兹有,兹因,兹派,兹聘,兹定于,电悉,谨悉,欣闻,欣悉 收束:函告,函复,函达,盼复,盼示,见复,此令,此复,此致,此据,谨此,谨呈,谨贺,谨启,谨上,为要,为盼,为荷,为宜,请批复,请批示,请核示,请予审批 期请:期,以期,望,尚望,希,盼,切盼,请,务请,呈请,报请,提请,恳请,敬请,敬希拟请,烦请,切望,敬祈,尚祈

oracle视图总结

oracle视图总结(转) 视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立性,试图可从多个表检索数据。 4.对于相同的数据可产生不同的视图。 视图的分类: 视图分为简单视图和复杂视图。 两者区别如下: 1.简单视图只从单表里获取数据,复杂视图从多表获取数据; 2.简单视图不包含函数和数据组,复杂视图包含; 3.简单视图可以实现DML操作,复杂视图不可以。 视图的创建: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] 其中: OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图; FORCE:不管基表是否存在ORACLE都会自动创建该视图; NOFORCE:只有基表都存在ORACLE才会创建该视图: alias:为视图产生的列定义的别名; subquery:一条完整的SELECT语句,可以在该语句中定义别名; WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束; WITH READ ONLY :该视图上不能进行任何DML操作。 例如: Sql代码 1.CREATE OR REPLACE VIEW dept_sum_vw 2.(name,minsal,maxsal,avgsal)

几个Oracle的笔试题

Oracle笔试试题 1. SQL必备 <选择题每空 1 分共 14题> 1. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 ( ) A.OR B.NOT C.AND D.NONE 2. 外连接的条件可以放在以下的那一个子句中( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 3. 在从两个表中查询数据时,连接条件要放在哪个子句中( ) A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 4. 用以下哪个子句来限制分组统计结果信息的显示( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 5. 以下需求中哪个需要用分组函数来实现( ) A.把ORDER表中的定单时间显示成 'DD MON YYYY' 格式 B.把字符串 'JANUARY 28, 2000' 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 6. 以下那些命令可以暗含提交操作( )

A.GRANT B.UPDATE C.SELECT D.ROLLBACK 7.RDBMS是下列哪一项的缩写( ) A. Relational DataBase Management System(关系数据库管理系统) B. Relational DataBase Migration System(关系数据库移植系统) C. Relational Data Migration System(关系数据移植系统) D. Relational DataBase Manage System(关系数据库管理系统) 8.INSERT 是( ) A. DML语句 B. DDL语句 C. DCL语句 D. DTL语句 9.SELECT CHR(66) FROM DUAL的结果是( ) A. Z B. S C. B D. 都不是 10.函数返回一个值除以另一个值后的余数( ) A. MOD B. ABS C. CEIL D. 以上都不是 11. 什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新, 或删除行( ) A. 共享 B. 排他 C. 共享更新 D. 以上都不是 12.什么是oracle提供的一个对象,可以生成唯一的连续的整数( ) A. 同义词 B. 序列 C. 视图 D. 没有 13. 那种类型的约束可以自动创建索引( ) A.CHECK B.UNIQUE

同义词与近义词

:姓名班级学号: 《同义词,近义词与对完汉语词汇教学》综述 一.前言 目前,在同义词,近义词的分合,定义分类等方面学界还存在不少争论,而对同义词,近义词的辨析也缺乏一种比较系统和操作性强的方法。 这对于对外汉语同义词、近义词的教学的开展是不利的。因此,本文针对这一现象,对这篇《同义词,近义词与对完汉语词汇教学》的论文进行综述。 二.正文 这篇论文的关键词有:同义词,近义词,辨析,以及最外汉语。 (一)作者做了一份关于“将对外汉语作为第二语言的学习者的同义词、近义词学习情况”的调查。她选择了二十二名来自不同国家,对汉语有 着不同掌握程度的学习者来进行调查,调查结果显示1 学习者在同义 词、近义词的掌握方面,总体上不乐观。2 学习者对不含相同语素的 同义词、近义词掌握得最好,而对同素逆序的同义词。近义词掌握最 差。3 学习者对同义词、近义词的掌握程度和其自身的母语情况,汉 语学习时间没有必然联系。从以上三点可以看出,由于在对外汉语教 学方面缺乏专门针对同义词和近义词的学习的词典,甚至在在同义 词、近义词本体的研究上还存在分歧,因此有必要针对这个问题进行 研究探讨。 (二)研究一开始针对同义词与近义词的本体,对于二者是否等同,至今仍存在争议,本文从三个方面问题谈作者的看法。 1 二者的差别在于,两物完全相同无差别,叫“同”,两物有重合也有差别,叫“近”。判断是否有同义词,可从意义上,看二者是否属于同一概念,但由于词义与概念并不完全等同,概念还具有不同的层次,所以又有了以是否为同一事物为标准的说法,但又由于虚词无法囊括其中而且存在一物多词的现象,因此不得不发现,最重要的其实是联系词与事物之间的桥梁——思维 2 面对这些,出现了一些判断标准,。有人提出了“义位标准”,但由于主观性太强,缺乏客观标志,难以成立。又有人提出了意义形式标准,并随之而产生了“替换法”和“同形结合法”。前者若是替换之后是同一事物则是同义词,否则是近义词。但有时会出现特定情境下课互换但并不明显不同义的情况,因此替换法的判别只能充当辅助手段。后者则是指,当不同词指同样的事物对象,它们各与指另一相同事物对象联合,其联合体也必然是同一对象。也就是A+C=B+C,则A=B。 3 作者认为,不同词性的词不是同义词,因为语法意义总是通过一定的语汇意义或依附于一定的语汇意义实现的,词汇意义与语法意义有密切联系。 (三)同义词,近义词的分类 1 意义角度分类 作者认为葛本仪所说的同义词分为完全同义词、不完全同义词、义项交叉同义词和言语同义词。

Oracle同义词

相当于alias(别名),比如把user1.table1在user2中建一个同义词table1 create synonym table1 for user1.table1; 这样当你在user2中查select * from table1时就相当于查select * from user1.table1; 优点自己总结吧。 例如: 在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个同义词吧!这样我们就可以直接使用同义词来使用表了。 Oracle数据库对象—同义词 1 同义词的概念 Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。 2 同义词的分类 Oracle数据库同义词有两种类型,分别是公用同义词与私有同义词: 公用同义词由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。 私有同义词是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。 3 同义词的创建及删除 创建公有同义词的语法: Create [public] synonym 同义词名称for [username.]objectName; Drop [public] synonym 同义词名称 4同义词的作用 (1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。

oracle同义词

oracle同义词.txt30生命的美丽,永远展现在她的进取之中;就像大树的美丽,是展现在它负势向上高耸入云的蓬勃生机中;像雄鹰的美丽,是展现在它搏风击雨如苍天之魂的翱翔中;像江河的美丽,是展现在它波涛汹涌一泻千里的奔流中。Oracle同义词创建及其作用 在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个Oracle同义词吧!这样我们就可以直接使用同义词来使用表了。 1.同义词的概念 Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。 2.Oracle同义词的分类 Oracle同义词有两种类型,分别是公用Oracle同义词与私有Oracle同义词。 1)公用Oracle同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。 2)私有Oracle同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。 3.Oracle同义词创建及删除 创建公有Oracle同义词的语法:Create [public] synonym 同义词名称for [username.]objectName; Drop [public] synonym 同义词名称 4.Oracle同义词的作用 1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user 名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。 2) 为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。 3)为分布式数据库的远程对象提供位置透明性。 5.Oracle同义词在数据库链中的作用 数据库链是一个命名的对象,说明一个数据库到另一个数据库的路径,通过其可以实现不同数据库之间的通信。 Create database link 数据库链名 connect to user名 identified by 口令 using ‘Oracle 连接串’; 访问对象要通过 object名@数据库链名。同义词在数据库链中的作用就是提供位置透明性。

常见同义词替换

常见同义词替换 1 解决: Solve, deal with, cope with, handle, resolve, address, tackle 2 损害: Damage, hurt, injure, harm, impair, undermine, jeopardize 3 给与:Give, offer, render, impart, provide, supply, afford 4 培养::Develop, cultivate, foster 5 优势:Advantage, merit, virtue, benefit, upside, strength 6 缺陷:Disadvantage, demerit, drawback, downside, weakness 7 使迷惑:Puzzle, bewilder, perplex, baffle 8 重要的:Key, crucial, critical, important, significant, vital, substantial, indispensable, imperative 9 认为:Think, believe, insist, maintain, assert, conclude, deem, hold, argue, be convinced, be firmly convinced, be fully convinced 10 保护:Protect, conserve, preserve 11 确保:Assure, ensure, guarantee, pledge 12 有害的: Bad, baneful evil, harmful, detrimental 13 要求:Request, demand, needs, requisition 14 消除:Eliminate, clear, remove, clear up, take away, smooth away 15 导致: Lead to, bring about, result in, cause, spark off, conduce to, procure, induce, generate 16 因此: So, therefore, thus, hence, consequently, as a consequence, accordingly, as a result, because of this, as a result of this 17 增长至:Grow to,rise to,increase to,go up to,climb to,ascend to,jump to,shoot to 18 降低至:Dip to,fall to,decline to,decrease to,drop to,go down to,reduce to, slump to, descend to,sink to,slide to 19 保持稳定:Level out,do not change,remain stable,remain still,remain steady,be stable, maintain the same level,remain unchanged,be still,remain the same level,stay constant,keep at the same level,level off,stabilize,keep its stability,even out 20 急剧地:Dramatically,drastically,sharply,hugely,enormously,steeply,substantially, considerably,significantly,markedly,surprisingly,strikingly,radically,remarkably,vastly, noticeably 21 平稳地:Steadily,smoothly,slightly,slowly,marginally,gradually,moderately,mildly 22 宣称:Allege, assert, declare, claim 23 发生:Happen, occur, take place 24 原因:Reason, factor, cause 25 发展:Development, advance, progress 26 有益的:Useful, helpful, beneficial, profitable, rewarding, advantageous

常用同义词和词的本义举例

常用同义词举例 购、买——“购”的本义是“悬赏征求”、“重金收买”,《说文》:“购,以财有所求也。”段玉裁注:“县(悬)重价以求得其物也。”《史记·项羽本纪》:“吾闻汉购我头千金。”“买”的本义是“市也”,即花钱买物,如《淮南子·说林》:“然酤酒买肉,不离屠沽之家。” 偷、窃——“偷”在上古主要作“苟且”、“轻薄”讲,如《礼 记· 表记》:“安肆曰偷。”郑玄注:“偷,苟且也。”《论语·泰伯》:“故旧不遗,则民不偷。”邢昺疏:“偷,薄也。”汉代以后,“偷”产生了“盗窃”义,如《淮南子·道应》:“楚有善为偷者。”“窃”的本义就是“偷盗”,《玉篇》:“窃,盗也。”《尚书·微子》:“今殷民乃攘窃神祗之牺牷牲。”《墨子·非攻》:“今有一人,入人圜圃,窃其桃李。” 邻、里——都指“邻居”。周代的居民组织有“邻、里、族、党、州、乡”六种,五家为邻,五邻为里(二十五家),四里为族(一百家),五族为党(五百家),五党为州(二千五百家),五州为乡(一万二千五百家)。 模、镕、型、范——都是铸物的模子,段玉裁说:“以木曰模,以金曰镕,以土曰型,以竹曰范,皆法也。” 锐、利——都有“锋利”之义。“锐”的本义是“芒也”(“芒”是“草端”),指金属武器的尖子,引申表示刀剑等锋芒的尖锐。“利”的本义是“ GE89D 也”,即刀口锋利。“锐”重在“尖”,“利”重在刀口“快”。 口、嘴——“口”专指人的嘴,《说文》:“口,人所以言食也。”“嘴”则专指鸟的嘴。“口”、“嘴”二字在文言中区分清楚,不可混用。 互、相——都有“交互”、“互相”之义。但“互”只表“交错”(此义系由本义“绞绳的工具”发展引申而来,如《汉书·谷永传》:“百官盘互,亲疏相错。”颜师古注:“…互?字或作…牙?,言如豕牙之盘曲,犬牙之相入也。”)、“互相”(如范仲淹《岳阳楼记》:“渔歌互答,此乐何极!”)之义,而“相”不仅表“互相”即“甲对乙,乙对甲”的关系,如《周易·系辞上》:“刚柔相推而生变化。”《庄子·大宗师》:“四人相视而笑,莫逆于心,遂相与为友。”而且表“单相”即“一方对另一方”的关系,如《列子·汤问》:“聚室而谋曰:…吾与汝毕力平险,指通豫南,达于汉阴,可乎??杂然相许。”“杂然相许”即“纷纷表示赞成愚公”。还可表示“递相”即“传递式的单相”关系,如《史记·魏其武安侯列传》:“天下者,高祖天下,父子相传,此汉之约也。”“父子相传”即“父传子,子传孙,一代一代传下去”。 完、备——都有“全”义,但“完”重在强调形体的完整不缺,如《世说新语·言语》:“大人岂见覆巢之下复有完卵乎?”而“备”则强调数量的齐全不漏,如唐元稹《遣兴十首》之七:“择才不求备,任物不过涯。” 更、改、革——都有“更改”、“改革”之义,但“更”强调“改变”、“变换”,《商君书·更法》:“贤者更礼。”《史记·秦始皇本纪》:“更名河(黄河)曰德水。”“改”强调“改正”,《周易·益》:“君子以见善则迁,有过则改。”“革”则强调“去旧换新”,《周易·杂卦》:“革,去故也。”《国语·周语下》:“厉(周厉王)始革典(法典),十四王矣。” 问、讯、诘——都有“问”义,但“问”多指一般性的询问,《论语·泰伯》:“以能问于不能,以多问于寡。”“讯”多指细细地询问,《诗经·小雅·正月》:“召彼故老,讯之占梦。”“诘”常表“责问”、“追问”,如《三国志·魏志·王朗传》引《献帝春秋》:“孙策率兵如闽越讨朗,朗泛舟浮海,欲走交州,为兵所逼,遂诣军降。策令使者诘朗。” 仇、敌——在“仇敌”之义上,两者义同,但“仇”有“配偶”之义,《尔雅》:“仇,匹也。”《说文》:“仇,雠也。”段玉裁注:“雠犹应也。《左传》曰:…嘉偶曰妃,怨偶曰仇。?……仇为怨匹,亦为嘉偶。”“敌”则有“相等”、“相当”之义,《战国策·秦策五》:“四国之兵敌。”高诱注:“敌,强弱等也。” 责、让——都有“批评”、“责备”的意思,但轻重程度不同。“责”的词义较轻,表示一般

Oracle数据库应用

Oracle账户解锁 Oracle数据库自带了许多账户,但默认情况下,Oracle只对其中5个账户进行了解锁,分别是sys、system、dbsnmp、sysman和mgmt_view,而其他账户出于锁定状态,其中sys、system具有管理员权限。 查看Oracle账户的锁定状态: SQL>select username, account_status from dba_users; (expired)表示账户为过期状态(需要设置口令才能解除此状态) SQL>alter user scott account unlock; SQL>alter user scott identified by tiger; (为scott账户设置口令) SQL>select username, account_status from dba_users where username = 'SCOTT'; (通过数据字典dba_users查看scott账户的状态) Oracle数据库体系结构 一般Oracle数据库在物理上主要由3种类型的文件组成,分别是数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)。还有参数文件、备份文件、归档重做日志文件,以及警告、跟踪日志文件等。

Oracle数据库从逻辑存储结构上来讲,主要包括表空间(tablespace)、段(segment)、区(extent)和数据块(block)。其中数据块都具有相同的结构:块头部、表目录、行目录、空闲空间、行空间。 Oracle进程结构: DBWn(Database Writer,数据库写入)进程 LGWR(Log Writer,日志写入)进程 CKPT(Check Point,检查点或检验点)进程 SMON(System Monitor,系统监控)进程 PMON(Process Monitor,进程监控)进程 ARCn(Archive Process,归档)进程 RECO(Recovery,恢复)进程 数据字典 Oracle数据字典的视图类型

相关主题
文本预览
相关文档 最新文档