勉強メモ_OSS-DBSilver

作成日:2025/08/09 13:13:43
更新日:2025/12/13 22:01:38
トップページ


概要

概要


出題範囲

出題範囲

  1. 一般知識
    1. OSS-DBの一般的特徴
    2. リレーショナルデータベースに関する一般知識
  2. 運用管理
    1. インストール方法
    2. 標準付属ツールの使い方
    3. 設定ファイル
    4. バックアップ方法
    5. 基本的な運用管理作業
  3. 開発/SQL
    1. SQL コマンド
    2. 組み込み関数
    3. トランザクションの概念

公開情報

PostgreSQL日本語ドキュメント


1.OSS-DBの一般的特徴

日本PostgreSQLユーザ会


2.リレーショナルデータベースに関する一般知識

データベース管理システム(DBMS)

SQLの種別


3.インストール方法

環境変数PGDATA

環境変数PGDATAは、PostgreSQLデータベースのデータディレクトリの場所を指定するために使用されます。PostgreSQLサーバは、起動時にこの環境変数を参照して、データベースファイルがどこに保存されているかを認識します。 環境変数PGDATAは、PostgreSQLのデータディレクトリの場所をpostgresコマンドやpg_ctlコマンドに伝えるために使用されます。
通常、PGDATAはinitdbコマンドでデータベースクラスタを初期化する際に設定されます。また、手動で環境変数を設定することも可能です。

export PGDATA=/var/lib/pgsql/data  # 環境変数定義

その他の環境変数

代表的な環境変数は以下です。

データベースクラスタ


4.標準ツール

pg_ctl


5.設定ファイル

設定ファイル一覧


6.バックアップ・リカバリ/Point In Time Recovery(PITR)

非排他モードの低レベルバックアップ

WALファイル

PITR(Point In Time Recovery)


7.基本的な運用管理作業

バキューム


8.SQLコマンド/DB設定

スキーマ


8.SQLコマンド/DBオブジェクト

表のデータ方

キー制約付きの表定義

表継承

暗黙シーケンス

以下の構文によりテーブル内で暗黙シーケンスを定義することができる

CREATE TABLE sample(id INTEGER GENERATED BY DEFAULT AS IDENTITY, name VARCHAR(10));

索引の種類


8.SQLコマンド/SQL結合

SQL結合一覧

内部結合/概要

結合条件に指定している値が両方のテーブルに存在する行を抽出します。

外部結合/概要

結合するどちらかのテーブルに該当する行が存在すれば抽出します。

外部結合/RIGHT OUTER JOIN(右外部結合)

外部結合では結合キーの値が等しいデータに加えて、条件に一致しなかったデータが取得されます。 “RIGHT OUTER JOIN”を指定しているため、「groupNo」カラムの値が一致するデータに加えて、
条件に一致しなかった「department」テーブルの残りのデータも取得されます。

SELECT * FROM member RIGHT OUTER JOIN department USING (groupNo);

外部結合/LEFT OUTER JOIN(左外部結合)

外部結合では結合キーの値が等しいデータに加えて、条件に一致しなかったデータが取得されます。 結合キーに「groupNo」を指定してLEFT OUTER JOINを用いているため、 「groupNo」カラムの値が一致するデータに加えて、 条件に一致しなかった「member」テーブルの残りのデータも取得されます。

SELECT * FROM member LEFT OUTER JOIN department USING (groupNo);

外部結合/FULL OUTER JOIN

外部結合では結合キーの値が等しいデータに加えて、条件に一致しなかったデータが取得されます。 SQL文ではNATURALを用いているため、カラム名の一致する「tel」「groupNo」とカラムが結合キーになります。 また、FULL OUTER JOINを指定しているため、結合キーの値が一致するデータに加えて、 条件に一致しなかった両テーブルの残りのデータが取得されます。

SELECT * FROM member NATURAL FULL OUTER JOIN department;

INTERSECT(積集合)

共通するレコードのみ抽出する


9.組み込み関数

LIKE文

~~演算子はLIKE式と等価で、~~*はILIKEに対応します。 またNOT LIKEおよびNOT ILIKEを表す!~~および!~~*演算子があります。 これら全ての演算子はPostgreSQL固有のものです。

10.トランザクションの概念

トランザクション分離レベル

セーブポイント

同一のセーブポイント名が存在する場合には、一番最後のセーブポイントが削除される