DBMSとは何か

2026年11月7日
7分

一言で!

DBMSとは

データベースの編集担当。

他には?

データを取り出す、しまう、直す、消す、などなど、すべて引き受ける頼もしいヤツ。

DBMSとは?

正式名称はDatabase Management System。

日本語では、データベース管理システムという。

テレビ局の編集担当

テレビ局の保管庫の内容から、過去の映像をまとめた番組を作るとする。

ディレクターの頼みを受けて、探して、形にして渡す人がいる。編集担当だ。

リレーショナルデータベースで、この役を受け持つソフトがDBMSだ。

ディレクター (人・アプリ)
     |  頼む    ^  渡す
     v          |
編集担当 (DBMS)
     |  探す    ^  取り出す
     v          |
保管庫 (データ)

データは保管庫に。頼まれて動くのがDBMS。

編集担当の仕事

DBMSは、データと、使う人やプログラムのあいだに立つ窓口だ(Oracle「What Is a Database?」)。

  • 取り出す:「佐藤さんの11月の分だけ」と頼まれたら、合うものを集めて渡す。
  • しまう:新しいデータを受け入れて、決まった場所へ入れる。
  • 直す・消す:頼まれたデータだけを書き換える。
  • 見守る:処理の速さの監視や、バックアップと復元も受け持つ(Oracle「What Is a Database?」)。

「編集」と聞くと、元のデータが書き換わると思うかもしれない。

総集編を作っても、保管庫の元の映像はそのままだ。

渡す形を作るだけなら、元のデータは変わらない。もちろん、本当にデータの書き換えもできる。

アプリは、これらの操作をDBMSに頼むだけでよい。

頼むときの言葉:SQL

DBMSへの頼みごとは、SQLという言語で書くのが一般的だ(PostgreSQL「The SQL Language」)。

ディレクターが渡す指示書のようなもので、DBMSはこれを読んで動く。

ただ、編集担当は、指示書に書かれたとおりに動く。

アプリの入力欄から悪意のある命令を紛れ込ませると、秘密のデータを読まれることがある。これをSQLインジェクションという(OWASP「SQL Injection」)。

そのため、入力された値と命令を分けて扱い、DBMSに与える権限を必要最小限に絞る(OWASP「SQL Injection Prevention Cheat Sheet」)。

何でも引き受けるからこそ、守りが要る。

編集担当の働き方は2つある

局に常駐する編集担当と、アプリの中に住み込む編集担当がいる。

PostgreSQLは前者で、サーバーで動き、ほかのパソコンからネットワークでつなぐ(PostgreSQL「Architectural Fundamentals」)。

SQLiteは後者で、別のサーバーを持たず、ふつうのファイルを直接読み書きする(SQLite「About SQLite」)。

サーバー型 (PostgreSQLなど)

パソコン1 ---+
             +--> サーバー
パソコン2 ---+    (DBMS + データ)

組み込み型 (SQLite)

アプリ (DBMS入り) --> ファイル1つ

みんなで使うならサーバー型、1つのアプリの中なら組み込み型。用途でDBMSの種類を選ぶ。

まとめ・私見

DBMS。

優秀とはいえ、今までSQLがわからないと話がまともにできなかった。

それに、悪意のある命令をすれば簡単に秘密のデータが持ち出せることができてある意味ポンコツなとこもあった。

ただ、これからはAIが外国人との会話のように翻訳を仲介してくれる。

悪意の命令に引っかからないように、対策してくれる。

DBMSにはますます活躍してもらわないといけない。

そして我々もよく、彼らのことを知らないといけない🤔

豆知識

  • SQL: DBMSへ頼みごとを伝える言語。
  • SQLインジェクション: 入力欄から悪意のある命令を紛れ込ませる攻撃。
  • PostgreSQL: 無料で使える、リレーショナルデータベース用のDBMS。
  • MySQL: Webアプリ向けに作られた、オープンソースのDBMS。
  • SQLite: アプリの中に組み込んで使う、小さなDBMS。
  • サーバー: ほかのパソコンからの頼みを受けて動くコンピューター。
  • オープンソース: 中身のプログラムが公開され、誰でも使えるソフト。

歴史

はじまり:工場の生産管理から

1960年代、GE(ゼネラル・エレクトリック)のチャールズ・バックマンが、工場の生産管理の仕組みを作る。

そこからIDS(Integrated Data Store)が生まれた。

ディスクに置くDBMSとして、日々の仕事で使われた最初のものとされる(Computer History Museum「Charlie Bachman」)。

壁と転換点:大企業の製品から、誰でも使えるものへ

1970年、IBMのエドガー・コッドが、データを表で持つ考えを論文にする(Codd「A Relational Model of Data for Large Shared Data Banks」)。

IBMは1983年に、製品のDB2を出荷する(IBM「The relational database」)。

同じころ、1986年にカリフォルニア大学バークレー校でPOSTGRESの開発が始まる(PostgreSQL「A Brief History of PostgreSQL」)。

研究の終了後、1994年に手が加えられ、オープンソースとして公開された。1996年に、名前がPostgreSQLになる(PostgreSQL「A Brief History of PostgreSQL」)。

編集担当を、無料で雇えるようになった。

いま進んでいる開発

この先

DBMSを自分のサーバーで動かすのではなく、Aurora DSQLのように外のサービスへ任せる形が広がっている。

データを取り出す、しまうという仕事は同じでも、動かす場所と管理する人は変わっていく。

どこまで外へ任せるのが標準になるかは、まだ分からない。

年表

年代・年主な出来事主な人物・組織主な国・地域特徴
1960年代GEでIDSが生まれるチャールズ・バックマンアメリカ(GE)工場の生産管理から生まれた、初期のDBMS。[Computer History Museum](https://computerhistory.org/profile/charlie-bachman/)
1970年データを表で持つ考えの論文エドガー・コッドアメリカ(IBM)リレーショナルデータベースの出発点。[Codd(1970)](https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf)
1983年DB2が出荷されるIBMアメリカ表で持つDBMSが製品になった。[IBM](https://www.ibm.com/history/relational-database)
1986年POSTGRESの開発が始まるマイケル・ストーンブレーカーほかアメリカ(カリフォルニア大学バークレー校)PostgreSQLの源流。[PostgreSQL](https://www.postgresql.org/docs/current/history.html)
1996年名前がPostgreSQLになるPostgreSQL Global Development Group国際オープンソースとして育っていく。[PostgreSQL](https://www.postgresql.org/docs/current/history.html)
2025年5月Amazon Aurora DSQLの一般提供AWSアメリカサーバーの管理が要らない分散データベース。[AWS](https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available/)
2026年10月PostgreSQL 19の最初のリリース候補PostgreSQL Global Development Group国際正式版の手前の版が公開された。[PostgreSQL](https://www.postgresql.org/about/news/postgresql-19-rc-1-released-3409/)