ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
IBM Db2 とは
IBM Db2(旧称 DB2)は IBM が開発・販売するリレーショナルデータベース管理システム。1983 年にメインフレーム向けに登場し、後に Linux / Unix / Windows / クラウド向けに拡張されました。世界中の銀行・保険・航空会社など巨大な基幹システムで使われています。
Oracle / SQL Server と並ぶ伝統的な商用 RDBMS の一角で、特にメインフレーム (z/OS) と IBM i (旧 AS/400) では事実上の標準データベースです。
Db2 のバリアント
| 製品名 | プラットフォーム | 特徴 |
|---|---|---|
| Db2 for LUW | Linux / Unix / Windows | 最も汎用的。オンプレ・クラウド両対応 |
| Db2 for z/OS | IBM Z メインフレーム | 金融・大規模 OLTP 向け。最高クラスの可用性 |
| Db2 for i | IBM i (AS/400 後継) | OS と一体。中堅企業の基幹で広く採用 |
| Db2 on Cloud | IBM Cloud | マネージド・サーバーレス対応 |
| Db2 Warehouse | クラウド / オンプレ | 分析・データウェアハウス用カラム指向 |
エディション
- Db2 Community Edition: 無償版(旧 Db2 Express-C)。CPU 4 コア / メモリ 16GB / ストレージ 100GB の制限内で商用利用も可能
- Db2 Standard Edition: 中規模向け有償
- Db2 Advanced Enterprise Server Edition (AESE): フル機能・無制限
- Db2 Developer Edition: 開発者向け(非本番)
インストールと CLI
# Docker で Db2 Community を最速起動
docker run -itd --name mydb2 --privileged=true \
-p 50000:50000 \
-e LICENSE=accept \
-e DB2INST1_PASSWORD=password \
-e DBNAME=testdb \
ibmcom/db2
# コンテナに入る
docker exec -ti mydb2 bash -c "su - db2inst1"
# Db2 CLI 起動
db2
# 接続
db2 => CONNECT TO testdb
# SQL 実行
db2 => SELECT * FROM SYSCAT.TABLES FETCH FIRST 5 ROWS ONLY
# 終了
db2 => TERMINATE
典型的な SQL
-- データベース作成
CREATE DATABASE MYDB AUTOMATIC STORAGE YES
USING CODESET UTF-8 TERRITORY JP;
CONNECT TO MYDB;
-- テーブル作成
CREATE TABLE employees (
emp_id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
name VARCHAR(100) NOT NULL,
dept_id INTEGER,
salary DECIMAL(10, 2),
hire_date DATE,
PRIMARY KEY (emp_id)
);
-- INSERT (Db2 は VALUES の前で OK)
INSERT INTO employees (name, dept_id, salary, hire_date)
VALUES ('Alice', 10, 50000.00, '2024-01-15');
-- ページネーション
SELECT *
FROM employees
ORDER BY emp_id
OFFSET 20 ROWS FETCH FIRST 10 ROWS ONLY;
-- カタログ情報
SELECT tabname FROM syscat.tables WHERE tabschema = 'DB2INST1';
Db2 と Oracle の違い
| 項目 | Db2 | Oracle |
|---|---|---|
| 手続き型言語 | SQL PL / PL/SQL 互換モード | PL/SQL |
| シーケンス | SEQUENCE / IDENTITY 両対応 | SEQUENCE |
| SQL 標準準拠 | 高い | 高い(ANSI 準拠 + 独自) |
| サブクエリの FROM 句 | 必須エイリアス | 任意 |
| 分離レベル | UR / CS / RS / RR の 4 段階 | READ COMMITTED / SERIALIZABLE |
| カラム指向 | BLU Acceleration 標準搭載 | Database In-Memory (有償) |
Oracle 互換モード
Db2 9.7 以降で導入された機能で、PL/SQL や Oracle 固有 SQL がそのまま動く互換レイヤー。Oracle からの移行コストを大幅に削減します。
-- 互換モード有効化(DB 作成時)
CREATE DATABASE MYDB COMPATIBILITY_VECTOR ORA;
-- DUAL テーブル使用可
SELECT 'hello' FROM DUAL;
-- ROWNUM 使用可
SELECT * FROM employees WHERE ROWNUM <= 10;
-- PL/SQL ブロックも動く
BEGIN
FOR rec IN (SELECT * FROM employees WHERE dept_id = 10) LOOP
DBMS_OUTPUT.PUT_LINE(rec.name);
END LOOP;
END;
/
IBM Cloud Pak for Data との連携
Cloud Pak for Data は IBM のデータ + AI 統合プラットフォーム。Kubernetes 上で Db2 をはじめ Watson 系 AI サービス、データ仮想化、データガバナンスを統合提供します。
- Db2 を Kubernetes Operator で簡単デプロイ
- Watson Studio で機械学習
- データ仮想化で複数 DB / S3 / Hive を統一クエリ
- Watson Knowledge Catalog でガバナンス
クライアントツール
| ツール | 用途 |
|---|---|
db2 CLI | 標準対話型 SQL クライアント |
| IBM Data Studio | Eclipse ベース GUI (非推奨化) |
| Db2 Data Management Console | Web 管理コンソール(現行推奨) |
| DBeaver / DataGrip | サードパーティ GUI (JDBC 接続) |
FAQ
Q: Db2 と DB2 の表記の違いは
A: 2017 年から IBM の公式表記が Db2(小文字 b)に変更されました。以前は DB2 と全大文字。意味は同じです。
Q: Db2 Express-C はまだ使えるか
A: Db2 Express-C 後継が現在の Db2 Community Edition。公式サイトから無償ダウンロードでき、商用利用も可能です。
Q: Db2 for z/OS は LUW と SQL 互換性があるか
A: 大部分の SQL は共通ですが、メインフレーム固有の構文・型・カタログテーブルがあります。可搬性を重視するなら ISO/ANSI SQL の範囲に絞ると安全です。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?