• 検索結果がありません。

CREATE TABLE

ドキュメント内 OSS-DB Exam Silver 技術解説無料セミナー (ページ 171-177)

他のRDBMSとの差異 - テーブルのDDL

インデックス(索引)

 インデックスとは

テーブル内のデータへ効率的にアクセスするためのオブジェクト

 WHERE

条件に指定される列に対してインデックスを作成することで、一般

SQL

の処理効率を高めることができる

様々な種類のインデックスが存在するが、Bツリーインデックスが最もよく使 用される

 B ツリーインデックスの作成方法

 CREATE INDEX

インデックス名

ON

テーブル名

(

列名

);

複数列に対してインデックスを作成することも可能

CREATE INDEX インデックス名 ON テーブル名 (列名, 列名, … );

ビュー

 ビューとは

 SELECT

文に名前をつけて、クエリ内で単なるテーブルのように使えるよう にしたもの

アプリケーション側で複雑なクエリを記述してなくても済む

ビューの実装(具体的な検索方法)を隠蔽できる

ビューは読み取り専用で、書き込みはできない

 ビューの定義方法

 CREATE VIEW

ビュー名

AS SELECT … ;

 ビューの削除方法

 DROP VIEW ビュー名;

スキーマと名前空間

 スキーマとは

オブジェクト(テーブル、インデックスなど)の論理的なコンテナ

すべてのオブジェクトはいずれか1つのスキーマに含まれる

「スキーマ名

.

オブジェクト名」がオブジェクトの完全修飾名

オブジェクト名の名前空間として機能する

別のスキーマであれば、同じ名前のオブジェクトを作成可能

 データベースとスキーマ

すべてのデータベースに「public」というスキーマが初期状態で作成済み

ひとつのデータベースに複数のスキーマを作成できる

データベース publicスキーマ

empテーブル

shスキーマ

スキーマ

 スキーマの作成

 CREATE SCHEMA

スキーマ名

;

 スキーマの削除

 DROP SCHEMA

スキーマ名

:

 "public"

スキーマを削除することもできる

 オブジェクトの検索ルールとスキーマ

 search_path

パラメータの設定に沿ってスキーマを探索

デフォルトは'"$user",public'("$user"は接続ユーザー名)

まず、接続ユーザー名と同名のスキーマ内のオブジェクトを検索

次に

public

スキーマ内のオブジェクトを検索

 新規作成オブジェクトの格納先スキーマ

スキーマを指定しないと

search_path

内の最初のスキーマに格納される

スキーマを指定すると、指定したスキーマに格納される

シーケンス

 シーケンスとは

連番を作成するオブジェクト

ただし、トランザクションをロールバックした場合など、番号に「飛び」が発生 する可能性がある

完全な連番を生成することよりも、処理の高速性を優先している

 シーケンスの定義方法

 CREATE SEQUENCE

シーケンス名

[INCREMENT [BY]

増分

] [START [WITH]

初期値

];

初期値のデフォルトは

1

、増分のデフォルトは

1

 シーケンスの操作関数

連番を取得する :

nextval('

シーケンス名

');

取得した連番を参照する :

currval('

シーケンス名

');

連番をリセットする

setval('

シーケンス名

',

次の値

);

シーケンスの作成と使用

db1=> CREATE SEQUENCE seq1 CYCLE;

CREATE SEQUENCE

ドキュメント内 OSS-DB Exam Silver 技術解説無料セミナー (ページ 171-177)