まず、同義語
-
いくつかのオブジェクトの名前で、Oracleは非常に長く、非常に面倒なクエリを記述することで、同義語は、既存のオブジェクトの別名です。
簡略化SQL文の
B、隠されたオブジェクトの名前と所有者の
C、オブジェクトへのパブリックアクセスを提供するために -
同義語の2種類があります:
パブリック・シノニムは、すべてのデータベース・ユーザーがアクセスすることができます。
プライベート同義そのモードでのみ訪問へ、そして現在のモードと同じ名前のオブジェクトにすることはできません。 -
プライベート・シノニムとプライベート・シノニムの使用を作成します。
create synonym 同义词名称 FOR 用户名.表名;
select * from 同义词名称;
- パブリック・シノニムとパブリック・シノニムの使用を作成します。
create public synonym 同义词名称 FOR 用户名.表名;
select * from 同义词名称;
- 削除シノニム
drop synonym 私有同义词名称;
drop public synonym 公有同义词名称;
第二に、シーケンス
- シーケンスの作成
CREATE SEQUENCE stu_id
START WITH 10 --定义序列的初始值(即产生的第一个值),默认为1。
INCREMENT BY 10 --定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减的。
MAXVALUE 2000
MINVALUE 10
NOCYCLE
CACHE 10;
alter system flush shared pool; --将缓存清空
注意:
-
ステップインクリメントが否定的結果ならば、1に省略された場合、シーケンスの長さを定義するために使用される、デフォルト値は、Oracleシーケンスはこのステップに応じて減少している表します。
-
START WITHは、初期(即ち、第一の値が生成された)値のシーケンスを定義して、デフォルトは1です。
-
MAXVALUEは最大シーケンス発生器が生成することができる定義しました。NOMAXVALUEオプションがない定義された最大値を表すデフォルトのオプションであり、Oracleのシーケンスをインクリメントするための最大時間は、システムが10〜27の電力を生成することができ、降順シーケンスの場合、最大値は-1。
-
MINVALUEは、発電機が生成することができる最小の配列を定義します。NOMAXVALUEオプションは、降順シーケンスのために、システムが最小を生成することができ、定義の代わりに最低がない、デフォルトのオプションである10 ^ 26である;?シーケンスを増加させるために、最小値は1です。
-
値がサイクル限度に達しているかどうかを示す周期とNOCYCLEシーケンス発生器。CYCLE代わっサイクルではなく、NOCYCLEサイクルの代わりに。配列は、最大値、最小サイクルに達したときにループがインクリメントされている場合は、降順の場合、最大サイクルに最小となります。リサイクルされていない場合、制限に達すると、エラーが発生し、新しい値を生成し続けます。
-
規定された配列を格納するためのキャッシュメモリブロック(バッファ)のサイズは、デフォルト値は20です。NOCACHEシーケンス・バッファ・メモリを発現しません。メモリバッファのシーケンスは、演奏シーケンスを向上させることができます。
リクエスト多数の書類、出願を発生すると、パフォーマンスのボトルネックを引き起こすためにシーケンスを達成するためのシーケンスの層の使用を避けるために。Oracleは、事前にシーケンス最初のキャッシュをメモリにxは可能にするアプリケーションの数が多いがSer文が発生した場合に、シーケンスを取得するために最速のメモリに直接実行シーケンスを生成しました。データベースが再起動されたとき、それはシーケンスメモリに保存されているメモリ情報が消去されますので、しかし、キャッシュの数は、データベースが再起動されたときに、最大1シリアル番号の最初の預金から順に最後のメモリを失われます、あまりにも大きく設定することができませんキャッシュは、数ヶ月をxは。データベースが閉じているときに、このような状況は、シリアル番号が不連続につながる可能性があります。 -
有効な値は次のNEXTVAL復帰シーケンス、すべてのユーザーが参照できます。
-
配列に格納されているCURRVAL電流値は、NEXTVAL CURRVALは前に指定され、両方が同時にアクティブでなければなりません。
- 使用順序
select 序列名称.NEXTVAL from dual; --获取序列的下一个值
select 序列名称.CURRVAL from dual; --获取序列的当前值
insert into 表名(toyid, toyname, toyprice)VALUES (序列名称.NEXTVAL, 'fTWENTY', 25); --获取序列的下一个值,插入表中
- 変更、削除シーケンス
--使用ALTER SEQUENCE语句修改序列的步长为3
alter sequence 序列名称 increment by 3;
--使用DROP SEQUENCE语句删除序列
DROP SEQUENCE 序列名称;
第三に、ビュー
-
プロファイルは、ビュー
を介して方法をカスタマイズするために、1つのまたは複数のテーブルから、ビューの表示データを、
B、ビューは、「仮想テーブル」または「保存されたクエリ」として見ることができる、
C、ビューを作成するテーブルに基づいて、「ベース・テーブルと呼ばれています「;
利点は、D、図である。
別のセキュリティテーブル・レベルを提供するために、
複雑隠れデータ、
SQLコマンドの簡略化されたユーザ、
グループテーブル分離構造を変更するステップと、
別の角度から、列の名前を変更することにより、データを提供します。 -
ビューを作成します。
create or replace view 视图名称(列名······) as 查询语句 [with check option] [with read only];
- 基礎となるテーブルビューによって挿入、更新操作は、操作がデータビューを削減することができないように、その演算結果ビューを保証しなければならないときにチェックOPTIONオプションで使用ビューは、制約を追加することに相当し、作成します。
- 読み取り専用で使用する読み取り専用のビューを作成します。
- 外側を作成すると、ビューに参加します
第四に、インデックス
-
はじめにインデックス
Aは、表スペースは線形物理ストレージであり、
データはインデックス付き検索されていない場合は、検索はほとんど元の順序Bです。
C、インデックスの利点:与表关联的可选结构; 加快SQL语句的执行; 减少磁盘I/O; CREATE INDEX语句用于创建索引; Oracle自动维护索引
D、インデックス分類: - 非クラスタ化インデックス - クラスタ化インデックス
-
インデックスを削除し、インデックスを再構築、標準のインデックスを作成します。
--创建标准索引
SQL> CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE index tbs;
--重建索引
SQL> ALTER INDEX item index REBUILD;
--删除索引
SQL> DROP INDEX item_index;
- インデックスのみ
SQL> CREATE UNIQUE INDEX item index ON itemfile (itemcode);
- コンポジットインデックス
SQL> CREATE INDEX comp_index ON itemfile(p_category, itemrate);
- 転置インデックス
SQL> CREATE INDEX rev_index ON itemfile (itemcode) REVERSE; --创建反向索引
SQL> ALTER INDEX rev_index REBUID NOREVERSE; -- 修改反向索引
- ビットマップ索引
SQL> CREATE BITMAP INDEX bit index ON order_master (orderno);
-
基づく関数インデックス
注:创建时必须具有QUERY REWRITE权限; 表达式中不能出现聚合函数; 不能在LOB类型的列,上创建。
SQL> CREATE INDEX lowercase_idx ON toys (lower(toyname)); --创建带函数的索引
SQL> select * from toys order by toyname;
-
索引構成表
索引组织表的数据存储在与其关联的索引中; 索引组织表的数据存储在与其关联的索引中; 基于主键访问数据; CREATE TABLE命令与ORGANIZATION INDEX子句- -起用于创建索引组织表。
SQL> CREATE TABLE ind_org_tab(
vencode NUMBER(4) PRIMARY KEY,
venname VARCHAR2(20)
)
organization index;
-
索引パーティションテーブル
ので、収納スペースの多くを過ごすための一般的な指標を確立するために、パーティションテーブルは、多くの場合、大量のデータを格納され、パーティションテーブルの各領域は、多くの場合、異なる場所に格納され、索引パーティションテーブルの2つの方法があります。全局索引:将所有分区表的数据视为一个整体,对整个建立索引; 本地索引:为每个子分区建立各自独立的索引。
create index索引名on表名(索引列) global; --全局索引
create index索引名on表名(索引列) local; --本地索引
- 索引パーティション
- 情報のインデックスを取得
し、インデックスに関連するデータ・ディクショナリ・ビューを持っている:
- ;情報は、ユーザによって作成されたインデックスを分配USER IND PARTITIONS
USER_ IND COLUMNS -インデックステーブルに関連付けします。
SQL> SELECT 索引名称, 表名, 列名 FROM USER_IND_COLUMNS ORDER BY INDEX_NAME, COLUMN_POSITION;