スキーマ【schema】

概要

スキーマとは、図式、図解、概要、あらまし、などの意味を持つ英単語。物事や計画の概略や仕組み、構造、形式などを示したものを意味することが多い。ITの分野では英語の音に近い「スキーマ」という表記が一般的だが、他分野の専門用語としてはドイツ語由来の「シェーマ」という表記が用いられることがある。

データベーススキーマ

データベースにどのような種類のデータをどのような構造で格納するか定義したものをスキーマという。抽象度に応じて段階的に複数の異なるスキーマを用いることが多く、よく用いられるのはデータの表現と格納について「概念スキーマ」「論理スキーマ」「物理スキーマ」の三段階で定義する「3層スキーマ」である。

「概念スキーマ」はデータベースが取り扱う対象がどのような概念で構成され、それぞれの概念がどのような属性の集合として表されるかをモデル化して定義する。この段階ではデータベースへの格納方法などは考慮せず、対象をどんな形で表現するのかを明確にする。

「論理スキーマ」は概念スキーマで定義したモデルを、具体的な特定のデータベーシステムで取り扱えるデータ形式の集合として記述していく。リレーショナルデータベースであれば、各概念をどんなテーブル(表/関係)に、どんなフィールド(属性)の集合として格納し、それぞれのフィールド間、テーブル間の関係はどうなっているか、といったことを定義していく。単にスキーマといった場合、この定義のを指すことがある。

「物理スキーマ」は論理スキーマで定義したデータモデルを、具体的なコンピュータシステムでどのように格納・管理するかを定義したもので、データベース管理システムDBMS)がコンピュータストレージ外部記憶装置)上にデータを記録する方法を指示したものを表す。

3層で構成されるデータベーススキーマには他に、「外部スキーマ」「概念スキーマ」「内部スキーマ」の三段階を用いる「ANSI/SPARC3層スキーマ」もよく知られている。概念-論理-物理の場合とそれぞれの役割は似ているものの、詳細は微妙に異なっている。

スキーマ言語

SGMLXMLなどの汎用的なマークアップ言語で、使用するタグ(要素)の定義や属性の書式などを記述し、ある特定の用途やデータ構造のための具体的なマークアップ言語の仕様を定義するための言語を「スキーマ言語」という。言語を定義する言語である「メタ言語」の一種である。

例えば、Webページをマークアップ言語で記述するには「画像の埋め込みを指示するタグ」「段落の開始と終了を指示するタグ」などが必要になるが、汎用マークアップ言語にはこのような特定の用途における特定の目的のための具体的なタグなどは用意されていない。

そこで、Webページを記述するのに必要なタグの名称(例:imgタグ)や、指定できる属性の種類(width属性)、属性値の内容(自然数かパーセンテージ)などを体系的に定義し、汎用マークアップ言語の記法に則した具体的なマークアップ言語として用いる。

その際に、言語仕様の定義を記述するための言語のことをスキーマ言語という。実際、初期のHTMLSGMLの仕様に則って定義され、スキーマ言語の「DTD」(Document Type Definition)によって仕様が記述されていた(現在はSGMLから切り離され単体の言語として定義されている)。

(2024.3.27更新)

他の用語辞典による「スキーマ」の解説 (外部サイト)

資格試験などの「スキーマ」の出題履歴

▼ 基本情報技術者試験
令7修6 問18】 DBMSにおいて,スキーマを決める機能はどれか。
令6修1 問18】 DBMSにおいて,スキーマを決める機能はどれか。
令3修7 問25】 RDBMSにおけるスキーマの説明として,適切なものはどれか。
令1修7 問26】 RDBMSにおけるスキーマの説明として,適切なものはどれか。
平30修1 問26】 DBMSにおいて,スキーマを決める機能はどれか。
平29修7 問26】 RDBMSにおけるスキーマの説明として,適切なものはどれか。
平28修1 問26】 RDBMSにおけるスキーマの説明として,適切なものはどれか。
平27秋 問25】 DBMSにおいて,スキーマを決める機能はどれか。
平26秋 問26】 RDBMSにおけるスキーマの説明として,適切なものはどれか。
平26修6 問27】 スキーマを決めるDBMSの機能はどれか。
平25修7 問30】 関係データベース管理システムにおけるスキーマの説明として,適切なものはどれか。
平23修7 問32】 スキーマを決めるDBMSの機能はどれか。
平23修6 問31】 関係データベース管理システムにおけるスキーマの説明として,適切なものはどれか。
平22修6 問31】 関係データベース管理システムにおけるスキーマの説明として,適切なものはどれか。