「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スキーマ

pointこの用語のポイント

point何かの構造だよ

pointうまく説明できないや。ごめんね

スポンサーリンク

簡単に書くよ

スキーマ(英:schema)とは

何かの「構造」を指す用語だけど、分かりやすく説明できないや。ごめんね。
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

何かの「構造」

を意図した表現が「スキーマ」です。

例えば、XMLファイルの構造を定義したファイルがあるとします。
このファイルの書き方ルールを「スキーマ言語」と呼んだりします。
※「XMLファイル」や「スキーマ言語」がどんなものか知りたい人は、用語「スキーマ言語」の説明を ご覧ください。

とはいえ、ITの分野で「スキーマ」という用語が頻繁に出てくるのは、データベース関連でしょう。
このページをご覧になっているあなたも、データベースのお勉強中ではないですか?

データベースの分野におけるスキーマ、それは

データベースの構造

です。

分かります、分かりますよ。

だから「データベースの構造」ってなんだよ!

ですよね?

それは、ですね~。
う~ん。

まずは、データベース全体で考えてみましょう。

世の中には「データベースの構造を3つに分けて定義しましょう」な考え方があります。
このやり方を「3層スキーマ三層スキーマ」と言います。

分け方はいくつかありますが、

・外部スキーマ
・概念スキーマ
・内部スキーマ


の3つに分ける考え方と

・概念スキーマ
・論理スキーマ
・物理スキーマ


の3つに分ける考え方が有名です。

ここまでの説明がよく分からない方は、データベースを「ピヨ太君」に置き換えて考えてみましょう。

スキーマ

ピヨ太君という人間(?)がどんなやつかを説明したいとします。
ですが、ピヨ太君はとっても奥ゆかしいやつです。
とても一言では説明できません。

そこで、ピヨ太君の要素を3つに分けて説明することにしました。
その3つとは

・頭
・身体
・心


の3つです。

スキーマ2

頭は、ピヨ太君が「何を考えるか」の部分です。
身体は、ピヨ太君が「何をできるか」の部分です。
心は、ピヨ太君が「何を感じるか」の部分です。

ピヨ太君の頭、身体、心がどうなっているかをそれぞれ説明することによって、ピヨ太君という人間(?)がどんなやつかを説明できるでしょう。

3層スキーマも同じ考え方です。

データベースがどんなものかを一言で定義するのは大変です。
そこでデータベースの要素を3つに分けて、それぞれを定義することによって、全体を定義しようと考えました。
それが3層スキーマです。

はい、ここまでで「スキーマ」という単語がいっぱい出てきましたね。
ここまでに登場した「スキーマ」は、すべて「構造」と読み替えて結構です。

データベースの構造を3つに分けて定義しような「3層構造」という考え方があります。
3つの分け方は「外部構造」「概念構造」「内部構造」や「概念構造」「論理構造」「物理構造」と分けるのが有名です。


ちゃんと意味は通じますよね?

さて、ここまではデータベース全体のお話でした。

次に個々のデータベースについて見ていきます。
ただし、ここまでに説明したスキーマの説明は一旦、忘れてください。

それでは個々のデータベースのお話です。

データベースにはいろいろな種類があります。
有名どころは、OracleSQL ServerMySQLPostgreSQLMicrosoft Accessなどでしょうか。

データベースによって「スキーマ」と呼ばれる概念を持っているデータベースと持っていないデータベースがあります。

この説明を書いている時点の状況ですが、Oracle、SQL Server、PostgreSQLにはスキーマと呼ばれる概念があります。
MySQL、Microsoft Accessにはスキーマと呼ばれる概念は ありません。

Oracle、SQL Server、PostgreSQLで出てくる「スキーマ」は、それぞれ、似てはいますが微妙な違いがあります。

まず、Oracleにおけるスキーマですが……うんちゃらかんちゃら。
ごめんなさい。
それぞれのスキーマの意味を説明し始めると長ったらしくなってしまうので、ここでは書くのを止めておきます。

まとめるとですね。

Oracleの話で「スキーマ」という用語が出てきます。
SQL Serverの話でも「スキーマ」という用語が出てきます。
PostgreSQLの話でも「スキーマ」という用語が出てきます。

そして、先ほども説明した通り、データベースの概念的な話でも「スキーマ」という用語が出てきます。

すべて同じ「スキーマ」という用語です。
ですが、それぞれが指し示すものは少し違います。

ですから、お勉強するときは気を付けてください。

Oracleのスキーマを勉強しているときにSQL Serverのスキーマの説明を読んでしまうと、間違って覚える可能性があります。
データベース固有のスキーマを調べているときに概念としてのスキーマの説明を読んでしまうと、混乱するでしょう。

繰り返しになりますが「スキーマ」という用語が具体的に何を示すかは、分野によって微妙に異なります。
おそらくですが、IT用語辞典系の資料を見ても、適切な情報を拾い上げるのは難しいと思います。

あなたの知りたい「スキーマ」がOracleの話であればOracleの専門書を読んでください。
SQL Serverの話であればSQL Serverの専門書を読みましょう。

その分野におけるスキーマの意味を調べてください。


image piyo2

一言でまとめるよ

まぁ「スキーマ」って単語が出てきたら「何かの構造なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像055
書籍画像031

おまけ

■訳してみるよ

「schema(スキーマ)」の意味は

・図式
・図表
・図解
・概要


とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践