第1章 リレーショナルデータベース

ページ 3 / 5

01/ 05データベース

リレーショナルデータベース

読了目安 約 3入門
読みはじめる

表とキーで整理する、業務データの標準

代表 5 製品の土台は同じで、違いは種別・ライセンスと得意分野に出ます。

  1. 共通言語読み書きはどれも SQL で行う
  2. 2 つの型サーバ型 4 つと、同梱型の SQLite
  3. PostgreSQL無料・万能・縛りの小ささで採用

なぜ違いが分かりにくいのか

Oracle・MySQL・PostgreSQL——名前は知っていても、違いを説明できる人は多くありません。業務システムの土台選びなのに、比べる軸が見えないからです。どこが同じで、どこで枝分かれするのか。まず 5 つの顔ぶれを種別ごとに眺めましょう。

気になるカードはクリックで説明が出ます →

OracleOracle Database
SQL ServerMicrosoft
PostgreSQL★このサイト採用
MySQLWeb の定番
SQLite1ファイルで完結

各ブロックや矢印をクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

構成図「代表的な5つのRDBMS — 種別で並べる」。ブロック5個、つながり0本。 枠: 商用(プロプライエタリ)(ブロック2個)、OSS・サーバー型(ブロック2個)、OSS・ファイル型(ブロック1個)。 【ブロック】 - Oracle: Oracle Database - SQL Server: Microsoft - PostgreSQL: ★このサイト採用 - MySQL: Web の定番 - SQLite: 1ファイルで完結 【図の符号】青の枠=人・利用者 / 赤紫の枠=データの置き場 / 青の囲み枠=境界の囲み / 橙の囲み枠=守られた内側

5つを7つの観点でくらべる(早見表)

各セルをクリックすると、その意味や詳しい説明がここに表示されます。

この図をテキストで読む

比較表。5列 × 7行。 【列】 1. Oracle(商用・最古参) 2. SQL Server(Microsoft 商用) 3. PostgreSQL(OSS・万能型 ★採用)〔おすすめ〕 4. MySQL(OSS・Web 定番) 5. SQLite(OSS・ファイル型) 【比較】(観点ごとに) ■ 種別・ライセンス - Oracle: 商用 / プロプライエタリ - SQL Server: 商用 / 一部無償版あり - PostgreSQL: OSS / 寛容ライセンス - MySQL: OSS / GPL/商用の二重 - SQLite: OSS / パブリックドメイン ■ コスト感 - Oracle: 高め / 5 つで最上位級 - SQL Server: 中〜高 / Oracle より手頃 - PostgreSQL: 無料 / ソフトは $0 / 運用/利用料のみ - MySQL: 無料 / コミュニティ版 / 商用サポートも有 - SQLite: 無料 / 完全無償 ■ アーキテクチャ - Oracle: サーバ型 / 大規模 HA も - SQL Server: サーバ型 / Windows/Linux - PostgreSQL: サーバ型 / 拡張で強化 - MySQL: サーバ型 / レプリカ容易 - SQLite: ファイル型 / サーバ無し / DB=1 ファイル ■ 得意・典型用途 - Oracle: 超大規模基幹系 / 金融・通信 - SQL Server: MS 系の企業システム / BI・社内系 - PostgreSQL: 汎用・新規開発全般 / 1 台で多用途 - MySQL: Web・CMS / Web の定番 - SQLite: アプリ内蔵・モバイル・試作 / ローカル/小規模 ■ 拡張性・機能の幅 - Oracle: 非常に広い / 多くは追加課金 - SQL Server: 広い / BI が強い - PostgreSQL: 最も広い部類 / 拡張で何でも / PostGIS/pgvector - MySQL: 標準的 / 8.0 で近代化 - SQLite: 軽量・必要十分 / 型は緩い ■ 標準 SQL・移植性 - Oracle: 独自方言が多い / ロックイン強 - SQL Server: 独自方言あり / MS 前提に寄る - PostgreSQL: 標準準拠が高い / 移しやすい - MySQL: 広く使われる / 情報量が多い - SQLite: ファイルごと可搬 / 用途は別物 ■ 向き・このサイトの見方 - Oracle: 既存 Oracle 資産・最高信頼 - SQL Server: Microsoft 中心の組織 - PostgreSQL: 迷ったらこれ(採用) / 無料・万能・中立 - MySQL: Web/CMS・既存資産 - SQLite: アプリ内蔵・試作 【観点】 - Oracle を見る: Oracle - SQL Server を見る: SQL Server - PostgreSQL を見る: PostgreSQL - MySQL を見る: MySQL - SQLite を見る: SQLite

順位ではなく適材適所。数値・条件は目安として最新を各公式で。

順位ではなく“適材適所”

5 つに絶対の優劣はなく、既存資産・スキル・要件で最適解は変わります。価格・機能・ライセンス条件は更新が頻繁なので、導入前に必ず各公式サイトで最新を確認してください。

押さえておきたい用語

RDBMS / リレーショナルデータベース
データを表(テーブル)に行と列で整理し、表どうしをキーで関連づけて管理するしくみ(とそのソフト)。
SQL
リレーショナルデータベースを読み書きする共通言語。製品ごとに方言はあるが、基本は標準として共通している。
この用語の解説を読む
テーブル / 行 / 列
データを入れる表と、その 1 件分(行=レコード)・項目(列=カラム)。リレーショナル DB の最小の入れ物。
主キー / 外部キー(リレーション)
各行を一意に識別するのが主キー、別の表の主キーを指して関連づけるのが外部キー。この“つながり”が名の由来。
トランザクション / ACID
複数の更新を「全部成功か、全部なかったことに」とまとめる単位。堅く守る性質を ACID と呼ぶ。
スキーマ
テーブルをまとめる名前空間(引き出し)。このサイトは自前テーブルを website スキーマに隔離している。
サーバ型 / ファイル型
DB サーバを立ててネットワーク越しに使う形と、アプリに同梱して 1 ファイルを直接開く『ファイル型』(SQLite 等。正式には組込み型)。
ページ 3 / 5