「保存」の中身を、いま開ける

カテゴリAのA-03で部品を学んだとき、保存の担当はデータベースだとお伝えしました。以来この講座では、保存という言葉が出るたびにデータベースを指し続けてきました。カテゴリLは、そのデータベースの中身をいよいよ開ける章です。最初の一歩として、まずは言葉の正確な区別から始めます。
このスライドのポイント
- A-03で「保存の担当はデータベース」と学んだ
- 以来この講座は、保存という言葉のたびにデータベースを指し続けてきた
- カテゴリLは、そのデータベースの中身を開ける章
- 最初の一歩は、言葉の正確な区別から
2つの言葉を分けて定義する

はじめに、2つの言葉を分けて定義します。データベースとは、整理されて保存されたデータの集まりそのものを指します。一方でDBMSとは、そのデータベースを管理するソフトウェアのことです。参照スタックのPostgreSQLは、このDBMSにあたります。DBMSの仕事は、保存・検索・更新の3つに加えて、複数の利用者が同時に触れたときの調停と、壊れたデータを作らない整合性の維持まで含みます。
このスライドのポイント
- データベース=整理されて保存されたデータの集まりそのもの
- DBMS=そのデータベースを管理するソフトウェア(PostgreSQLは参照スタックのDBMS)
- DBMSの仕事: 保存・検索・更新
- +同時アクセスの調停/整合性の維持(壊れたデータを作らない)
なぜ必要か——「ファイル保存でいいのでは?」への答え

この区別を持たないと、「CSVファイルに保存すればいいのでは」という素朴な問いに答えられません。答えはこうです。複数の人が同時に書き込み、同時に検索し、しかもデータを壊さない。これを自分のプログラムだけで作るのは、現実には無理があります。DBMSは、その難しい部分をまとめて引き受けてくれる既製の仕組みです。だからこそ、ファイル保存ではなくDBMSを使う、という判断ができるようになります。
このスライドのポイント
- 区別を持たないと「CSVファイルでいいのでは」に答えられない
- 答え: 複数人が同時に書き込む・検索する・壊さない、を自力で作るのは無理
- DBMSは、その難しい部分をまとめて引き受ける既製の仕組み
- だから「ファイルではなくDBMSを使う」と判断できる
構造——アプリ・DBMS・データベースの3層

全体像を、3つの層で見てみます。いちばん上に、これまで学んできたアプリ側のプログラム。真ん中に、門番であり管理者でもあるDBMS。いちばん下に、データ本体であるデータベースがあります。ここで大切なのは、アプリはDBMSを経由してしか、データ本体に触れられないという点です。A-03で「ブラウザからデータベースへ直接は触れない」とお伝えしましたが、その理由をここで一段深く見ていることになります。
このスライドのポイント
- 上: アプリ側のプログラム(J章)
- 中: DBMS(門番・管理者)
- 下: データベース(データ本体)
- アプリはDBMS経由でしかデータ本体に触れない(A-03の深掘り)
処理の流れ——2人が同時に保存すると

経費アプリを例にします。2人の社員が、ほぼ同時に経費を申請して保存したとします。このときDBMSが2つの書き込みを調停し、どちらも正しく保存されるように順番を整えます。もしファイルへ直接書き込む作りだったら、片方の書き込みがもう片方を上書きして、一方の申請が消えてしまうかもしれません。これはB-03で見たファイルの扱いの知識で理解できる事故です。DBMSは、この上書き消失を仕組みとして防いでくれます。
このスライドのポイント
- 経費アプリで2人の社員がほぼ同時に申請を保存
- DBMSが2つの書き込みを調停し、両方を正しく保存
- ファイル直書きなら、片方が片方を上書きして消える恐れ(B-03の知識で理解できる事故)
- DBMSは、この上書き消失を仕組みで防ぐ
技術サンプル——3層とDBMSの4つの仕事

この講義のサンプルは、コードではなく構成図です。目的は、アプリ・DBMS・データベースの3層の関係と、DBMSが担う4つの仕事を1枚で確認することです。図では、アプリからDBMSへ依頼が向かい、DBMSがデータベースを操作する流れと、保存・検索・更新・整合性の維持という4つの役割を並べています。読み取ってほしいのは、矢印が必ずDBMSを通っていること、そしてアプリがデータ本体を直接は触っていないことの2点です。
混同しやすい——データベースとDBMS

混同しやすいのは、データベースとDBMSです。データベースはデータの集まりそのもの、DBMSはそれを管理するソフトウェアで、役割がはっきり違います。日常会話では、両方をまとめて「データベース」と呼んでしまうことがよくあります。ふだんはそれで困りませんが、この講座では設計や指示の精度に関わるため、2つを分けて扱います。
バイブコーディングでの確認点

バイブコーディングでの確認点です。AIに保存機能を作ってもらうときは、「このデータは同時に複数人が使う前提ですか」と一度確認してください。この問いへの答えが、そもそもDBMSを使うべきかどうかの判断根拠になります。同時に使う前提があるなら、ファイル保存ではなくDBMSを前提に設計を進める、という筋道が立ちます。
このスライドのポイント
- AIに保存機能を頼むとき「このデータは同時に複数人が使う前提ですか」を確認
- この答えが、DBMSを使うべきかの判断根拠になる
- 同時利用があるなら、ファイル保存ではなくDBMSを前提に設計を進める
まとめと次回

最後に一問一答です。同時アクセスの調停と、整合性の維持を担うのは何でしょうか。……答えは、DBMSです。データベースはデータそのもの、それを管理するのがDBMSでした。30秒でまとめます。保存の正体はデータベースというデータの集まりで、それを安全に扱う管理者がDBMSであり、ファイル保存では作りにくい同時利用と整合性を引き受けてくれる、という関係です。次回は、そのデータを表の形と関係で表す、リレーショナルの考え方へ進みます。関連資料は「業務アプリDB設計パターン50」と「DBワード50」です。
このスライドのポイント
- 一問一答: 同時アクセスの調停と整合性維持を担うのは? → DBMS
- 30秒まとめ: 保存の正体はデータベース、それを安全に扱う管理者がDBMS
- 次回: 表の形と関係でデータを表す「リレーショナル」の考え方へ
- 関連資料: 「業務アプリDB設計パターン50」「DBワード50」