Skip to the content.

最終更新日:2026年8月2日

まず結論

3層クライアントサーバシステムとは、システムの役割を次の3つに分けた構成です。

プレゼンテーション層
→ 入力を受け付ける・結果を表示する

ファンクション層
→ 業務処理・計算・データ加工を行う

データベースアクセス層
→ データベースを検索・登録・更新する

基本情報技術者試験では、次の一文で切り分けます。

表示はプレゼンテーション、処理はファンクション、保存・検索はデータベースアクセス。

直感的な説明

3層構成は、レストランの役割分担に置き換えると分かりやすくなります。

プレゼンテーション層
→ 接客担当
→ 注文を受け、料理を客へ見せる

ファンクション層
→ 調理担当
→ 注文内容に沿って料理を作る

データベースアクセス層
→ 倉庫担当
→ 必要な食材を取り出し、在庫を管理する

接客担当が直接倉庫へ行って食材を取り出し、そのまま料理するわけではありません。

同じように、3層クライアントサーバシステムでは、画面側のプレゼンテーション層がデータベースへ直接アクセスするのではなく、ファンクション層を通して処理します。

定義・仕組み

3層クライアントサーバシステムは、システムを論理的に3つの役割へ分離した構成です。

プレゼンテーション層

プレゼンテーション層は、利用者との入出力を担当します。

主な役割は次のとおりです。

  • 画面を表示する
  • 入力を受け付ける
  • 入力内容をファンクション層へ渡す
  • 処理結果を利用者へ表示する
入力する
表示する
画面を作る
→ プレゼンテーション層

Webシステムでは、Webブラウザや画面部分に相当します。

ファンクション層

ファンクション層は、業務ロジックやデータ加工を担当します。

主な役割は次のとおりです。

  • 入力内容を検証する
  • 計算や判定を行う
  • データベースへの問い合わせ内容を組み立てる
  • 取得したデータを加工する
  • 加工結果をプレゼンテーション層へ返す
計算する
判定する
加工する
業務処理を行う
→ ファンクション層

アプリケーション層、アプリケーションロジック層、業務処理層と呼ばれることもあります。

データベースアクセス層

データベースアクセス層は、データベースとのやり取りを担当します。

主な役割は次のとおりです。

  • SQLを実行する
  • データを検索する
  • データを登録する
  • データを更新・削除する
  • データを保管する
検索する
登録する
更新する
削除する
→ データベースアクセス層

試験では「データ層」と表現されることもあります。

データの流れ

典型的な流れは次のとおりです。

利用者
↓
プレゼンテーション層
↓
ファンクション層
↓
データベースアクセス層
↓
データベース

結果は逆向きに返ります。

データベース
↓
データベースアクセス層
↓
ファンクション層で加工
↓
プレゼンテーション層で表示

このテーマは、基本情報技術者試験のシステム構成要素に関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、各層の役割を説明する選択肢から、正しいものを選ぶ問題として出題されます。

まず、問題文の動詞を見ます。

問題文の表現 対応する層
入力を受け付ける プレゼンテーション層
結果を表示する プレゼンテーション層
データを加工する ファンクション層
業務処理を行う ファンクション層
SQLを実行する データベースアクセス層
データを検索・更新する データベースアクセス層

よくある誤答の形

データベースアクセス層がデータを加工する
→ 誤り
→ 加工はファンクション層

ファンクション層がSQLを解釈する
→ 誤り
→ SQLの実行はデータベース側

プレゼンテーション層がDBへ直接問い合わせる
→ 誤り
→ 通常はファンクション層を経由する

選択肢を切る順番

画面に関する処理か
→ プレゼンテーション層

業務ロジックや加工か
→ ファンクション層

DBへの保存・検索か
→ データベースアクセス層

どんな場面で使う?

3層構成は、Webシステムや業務システムで広く使われます。

Webシステム

普段使うWebシステムでは、次のように対応します。

Webブラウザ
→ プレゼンテーション層

アプリケーションサーバ
→ ファンクション層

データベースサーバ
→ データベースアクセス層

例えば、ログイン処理では次のように動きます。

利用者がID・パスワードを入力
→ プレゼンテーション層

入力値を検証し、認証処理を行う
→ ファンクション層

利用者情報を検索する
→ データベースアクセス層

保守しやすくする

役割を分離すると、一つの変更がほかの部分へ影響しにくくなります。

例えば、画面デザインだけを変える場合、業務ロジックやデータベースを大きく変更せずに済みます。

画面の変更
→ プレゼンテーション層

業務ルールの変更
→ ファンクション層

保存方法の変更
→ データベースアクセス層

2層クライアントサーバとの違い

2層構成では、クライアント側が画面だけでなく、業務処理も担当することがあります。

2層構成

クライアント
→ 画面 + 業務処理

データベースサーバ
→ データの保管・検索

一方、3層構成では、画面と業務処理を分離します。

3層構成

プレゼンテーション層
→ 画面

ファンクション層
→ 業務処理

データベースアクセス層
→ データベース処理

比較すると、次のようになります。

比較 2層構成 3層構成
業務処理 クライアント側に置かれやすい 中間層へ分離
DBアクセス クライアントから直接行う場合がある ファンクション層を経由
保守 クライアントごとの変更が必要になりやすい 層ごとに変更しやすい
拡張 大規模化で負担が増えやすい 負荷分散しやすい

科目Bでどう使う?

科目Bでは、システムの処理の流れや、どの部分で何を行うかを読むときに役立ちます。

例えば、次のような処理があったとします。

1. 画面で商品番号を入力する
2. 商品情報を検索する
3. 割引額を計算する
4. 結果を画面へ表示する

各処理は次のように分けられます。

商品番号を入力
→ プレゼンテーション層

商品情報を検索
→ データベースアクセス層

割引額を計算
→ ファンクション層

結果を表示
→ プレゼンテーション層

疑似言語や設計図を読むときも、「入力・処理・保存」のどれかで考えると整理しやすくなります。

よくある誤解・混同

ファンクション層は画面を表示する

誤りです。

画面の表示はプレゼンテーション層です。

ファンクション層は、業務処理やデータ加工を行います。

データベースアクセス層がデータを加工する

データベースアクセス層は、データの検索・登録・更新が中心です。

取得したデータを利用者向けに加工するのは、主にファンクション層です。

プレゼンテーション層が直接SQLを実行する

3層構成では、通常、プレゼンテーション層からデータベースへ直接アクセスしません。

プレゼンテーション層
↓
ファンクション層
↓
データベースアクセス層

の順に処理します。

ファンクション層がSQLを解釈する

ファンクション層はSQL文を組み立てることがありますが、SQLを実行・解釈するのはデータベース側です。

3層とはサーバが必ず3台あること

誤りです。

3層は論理的な役割分担です。

1台のサーバ上に複数の層が配置される場合もあります。

3層
≠
必ず3台のコンピュータ

まとめ(試験直前用)

  • 3層クライアントサーバは、画面・業務処理・DB処理を分離する
  • プレゼンテーション層は入力受付と結果表示
  • ファンクション層は計算・判定・データ加工
  • データベースアクセス層は検索・登録・更新
  • SQLを実行するのはデータベース側
  • プレゼンテーション層からDBへ直接アクセスしない
  • 2層構成ではクライアント側が業務処理を持ちやすい
  • 3層はサーバ台数ではなく、論理的な役割分担

表示はプレゼンテーション、処理はファンクション、保存・検索はデータベースアクセス。

© 2024-2026 stemtazoo. All rights reserved.