1.1 リレーショナルデータベースの構造およびSQLの使用方法

さまざまなデータを一定の規則に従って、格納し、効率よく利用できるようにしたものをデータベースという。
階層型
ネットワーク型
リレーショナル型

データベースを管理するためのソフトウェアをデータベース管理システム(DBMS:Database Management Sysutem)

リレーショナル型データベース管理システム(RDBMS:Relational Database Management System)

リレーショナルデータベースの構成要素は、下記の3つある。
表(リレーションの集合)
表を管理するための一連の演算子
データの整合性規則

リレーショナルデータベースは、行(ROW)と列(COLUMN)で構成される表(TABLE)という単位でデータを管理する。

表のデータを操作するには、SQLを使用する。論理演算
RDBMSがその操作をどのように実行すべきかを自動的に判断して、演算を実行する。物理演算
表への無効なデータの入力を防止するためのビジネスルールを整合性規則によって、設定する。

■リレーショナルデータベースの主な用語
表には、表名、列には列名がある。
1行で1件のデータを表す
列は同じ種類のデータであることを表す。
行と列が交差する部分をフィールドと呼ぶ
フィールドに値が含まれない状態をnullと呼ぶ

■主キーと外部キー

▼主キー
主キーとは、表の中の行を一意に識別するための列または、列の組み合わせである。
主キーには、重複した値を格納できない。NULL値を含めることができない。
主キーの値が分かれば、1つの行を特定することができる。

主キーは1つの表に1つだけ、設定ができる。

▼外部キー
外部キーは、同じ表または、別の表の主キーまたは、一意キーを参照する1つの列または、列の組み合わせである。

外部キーとして指定した列には、参照先の列(親キー)に格納されている値しか格納できない。
外部キーを設定することで、指定された値以外の登録を未然に防ぐことができる。
外部キーにはNULL値を含めることができる。
外部キーが同じ表の親キーを参照する場合は、これを自己参照型整合性制約と呼ぶ。

■SQLの概要
SQL(Structured Query Language:構造化問合せ言語)は、ANSI(米国規格協会)やISO(国際標準化機構)、JIS(日本工業規格)などで標準規格化されている。
リレーショナルデータベースを操作するための言語である。

SQLを使用すると論理レベルでデータを処理できるため、データが物理的にデータベース内のどこに格納されているか、ユーザが意識する必要はない。

■SQLの分類

分類説明含まれる文
データ操作言語(DML)データベースからのデータの取り出し、新しい行の挿入、既存の行の変更、表からの行の削除を実行する。・SELECT文(データの取り出し)
・INSERT文(新規データの挿入)
・UPDATE文(既存データの更新)
・DELETE文(既存データの削除)
・MERGE文(データのマージ)
データ定義言語(DDL)オブジェクトを設定、変更、削除する。・CREATE文(オブジェクトの作成)
・ALTER文(オブジェクト定義の変更)
・DROP文(オブジェクトの削除)
・RENAME文(オブジェクト名の変更)
・TRUNCATE文(表の切捨て)
・COMMENT文(コメントの定義)
データ制御言語(DCL)データベースとその構造体の療法に対するアクセス権の付与・取消を行う。・GRANT文(権限の付与)
・REVOKE文(権限の取消)
トランザクション制御DMLによる変更をトランザクション単位で管理する。・COMMIT文(変更の確定)
・ROLLBACK文(変更の取消)
・SAVEPOINT文(セーブポイントの作成)

1.2 Oracle Databaseの管理に使用するツールの定義

データベース管理者(DBA:Database Administrator)

■Oracleデータベースの構成要素
Oracleデータベースは、Oracleインスタンスとデータベースの2つの主要コンポーネントで構成されている。

インスタンスの2構成

SGA(システムグローバル領域)共有メモリ領域に割り当てられる
バックグラウンドプロセスデータベース内に常駐してさまざまなタスクを実行する

データベースの3構成

制御ファイル
REDOログファイル
データファイル

プロセスの種類

バックグラウンドプロセス
ユーザプロセス
サーバプロセス
リスナープロセス

共有コンポーネント

構成要素説明
Oracleソフトウェアデータベースを管理するソフトウェア
データベース複数の物理ファイル(制御ファイル、REDOログファイル、データアイル)から構成される。
データベースオブジェクトデータベースに格納される豹や索引など
インスタンス共有メモリ領域であるSGA(システムグローバル領域)とバックグラウンドプロセス群
リスナープロセスネットワークを介したデータベース接続に必要なプロセス

個別コンポーネント

構成要素説明
ユーザプロセスデータベースに接続したユーザのプロセス
サーバプロセスユーザの代わりにSQLを実行するプロセス
PGA(プログラムグローバル領域)それぞれのプロセスが専用で使用するメモリ領域

■データベース管理者のタスク
データベース管理者(DBA)の3タスク

分類タスク
データベースシステムの構築に関わる作業・Oracleソフトウェアのインストール
・データベースの作成
・Oracleネットワーク環境の構成
・データベースおよびソフトウェアのアップグレード
日々の運用管理に関わる作業・インスタンス起動および停止
・データベースの記憶域構造の管理
・ユーザおよびセキュリティの管理
・スキーマやオブジェクト(表、索引、ビューなど)の管理
・バックアップの計画と実行
・データベースの積極的な監視と障害予防処置
・パフォーマンスの監視およびチューニング
トラブルシューティング・障害発生時のリカバリの実行
・データベースの監視によって、判明した問題への対処
・診断およびOracleサポートサービスへのエラーの報告

■Oracleデータベースの管理に使用するツール

▼インストールとアップグレード関連

ツール名用途
Oracle Universal Installer(OUI)Oracleソフトウェアをインストールする。
Oracle Database Configuration Assistanto(DBCA)データベースを作成する
Database Upgrade Assistant(DBUA)既存のデータベースを新しいリリースのOracleにアップグレードする。

ネットワーク関連

ツール名用途
Oracle Net Manager(netmgr)Oracleネットワークの構成を行う。
Oracle Net Configuration Assistant(netca)Oracleネットワークの構成を行う。

インスタンスとデータベースの管理

ツール名用途
Oracle Enterprise Manager (EM)Oracleデータベースを管理する。
SQL * PlusSQLを手入力できるコマンドラインインターフェース
SQL Developerデータベースを管理するグラフィカルツール
Recovery Manager (RMAN)データベースのバックアップ、リストア、リカバリ処理を実行する。
Oracle Secure Backupテープバックアップの管理
Data Pumpデータベース間で高速にデータを転送する。
SQL * Loader外部ファイルのデータをOracleデータベースの表にロード(大量の行データを高速に挿入)する