本文へスキップ

データベースと DBMS の基礎・NoSQL の種類

低頻約 39 分8 用語過去問 7 題

この単元の目標

  • データベース(データの集まり)と DBMS(それを管理するソフトウェア)を分けて説明できる。
  • DBMS を使う目的と、DBMS が受け持つ主な機能を挙げられる。
  • 表で管理する RDBMS と、表に縛られない NoSQL の各型を、データの持ち方で見分けられる。
用語総表(8 語)
用語ひとことでデータの持ち方
データベース共有できるよう整理して蓄えたデータの集まり方式は問わない(データそのもの)
DBMSデータベースを管理し、利用者との間を取り持つソフトウェアデータの管理と操作を担う(データの集まりそのものではない)
RDBMS関係データモデルに基づき、表でデータを管理する DBMS行と列の表、表どうしを共通の項目で関連付ける
NoSQL関係データモデルの表によらないデータベースの総称型によって異なる
キーバリューストアキーと値の組でデータを持つ NoSQLキー 1 つに値 1 つ
KVSキーバリューストアの略称キーバリューストアと同じ
ドキュメント指向データベースJSON などの文書を 1 件の単位として持つ NoSQL文書ごとに項目が違ってよい
グラフ指向データベースノードとエッジでデータのつながりを持つ NoSQL点と線のネットワーク

用語

データベースは、複数の利用者やアプリケーションが共有できるように、目的に沿って整理して蓄えたデータの集まりである。

部署ごとにばらばらのファイルで同じ顧客情報を持つと、片方だけ住所を直して食い違う、といったことが起こる。データを一か所にまとめて整理しておけば、重複が減り、誰が見ても同じ最新の内容を参照できる。

たとえ家族の連絡先を各自の手帳に書く代わりに、居間に 1 冊の共用アドレス帳を置くようなもの。誰かが書き直せば、全員が同じ内容を見られる。

覚え方データの「ベース(基地)」= データが集まって置かれている場所、と字面で覚える。

出題のポイント

  • 混同注意データベースはデータの集まりそのものであり、管理するソフトウェアである DBMS とは別物である。

この用語の過去問 1 題 データベース

DBMS(Database Management System、データベース管理システム)は、データベースを管理し、利用者やアプリケーションの代わりにデータを読み書きするソフトウェアである。

  1. アプリケーション
  2. DBMS
  3. データベース

DBMS がデータベースを読み書きし、結果をアプリケーションへ返す。

3 / 3

アプリケーションはデータの置き場所や形式を直接扱わず、DBMS に依頼してデータを取り出したり書き換えたりする。DBMS は、同じデータを何人もが同時に更新しても矛盾が出ないように、ほかの処理を待たせるなどして調整する同時実行制御を受け持つ。ほかにも、障害で壊れたデータをバックアップなどから元に戻す障害回復や、利用者ごとに操作できる範囲を決めるアクセス権管理も DBMS の役割である。

たとえ図書館の書庫係のようなもの。利用者は書庫に入らず窓口で頼み、係が本を探して渡し、返却や貸出の記録も係がつける。

覚え方Management は「管理」。データの管理人を名前に持つのが DBMS。

出題のポイント

  • 出題DBMS は、アプリケーションの依頼に応じてデータベースの中のデータを探したり書き換えたりするソフトウェアである。
  • 出題DBMS を使う目的は、多くの利用者やプログラムが同じデータを同時に使っても、内容の整合性を崩さずに共有できるようにすることである。

この用語の過去問 3 題 DBMS

「データベース」と「DBMS」の違い

観点データベースDBMS
決め手正体整理して蓄えたデータの集まりデータベースを管理するソフトウェア
役割共有される中身を持つデータの読み書きと保護を受け持つ

RDBMS(関係データベース管理システム)は、データを表(テーブル)の形で持つ関係データモデルに基づいてデータベースを管理する DBMS である。

商品番号商品名単価
P01ノート150
P02ボールペン120
P03消しゴム80

表の横 1 行が 1 件のデータ(レコード)、縦 1 列が 1 つの項目に当たり、列の名前と型はあらかじめ決めておく。別の表と共通の項目(例えば商品番号)を持たせれば、表どうしを結び付けて取り出せる。RDBMS の操作には SQL という言語を使う。

たとえ列見出しを先に決めた表計算ソフトのシートを何枚も用意し、共通の番号で行どうしを突き合わせるようなもの。

覚え方R は Relational(関係)の頭文字。関係データモデルでは表そのものを「関係」(リレーション)と呼ぶので、「表でデータを管理する DBMS」と読める。

出題のポイント

  • 出題関係データモデルは、データを表の形で表現するモデルで、1 行が 1 件、1 列が 1 項目に当たる。

この用語の過去問 2 題 RDBMS

NoSQL は、関係データモデルの表によらない形でデータを持つデータベースをまとめて呼ぶ総称である。

  • NoSQL(代表的な型の例)
    • キーバリューストア(KVS)
    • ドキュメント指向データベース
    • グラフ指向データベース

名前は「Not only SQL」の意味とされ、1 つの製品ではなく、データの持ち方が異なる複数の型をまとめた呼び名である。表の列をあらかじめ決めなくてもよい型が多く、形のそろわないデータや、多数のサーバに分けて置く大量のデータを扱う用途で使われる。

たとえRDBMS がマス目の決まった原稿用紙だとすると、NoSQL は無地のノート、単語カード、付箋などをまとめた文具の棚にあたる。

覚え方No は「いいえ」ではなく Not only(〜だけではない)と読むのが一般的。SQL を捨てるのではなく、表以外の持ち方も認めるという意味になる。

出題のポイント

  • 混同注意NoSQL は特定の製品名ではなく、表によらないデータベースの型をまとめた総称である。

「RDBMS」と「NoSQL」の違い

観点RDBMSNoSQL
決め手データの持ち方関係データモデルの表(行と列)表によらない形(型によって異なる)
項目の決め方列をあらかじめ決める先に決めなくてよい型が多い
範囲表で管理する DBMS複数の型をまとめた総称

キーバリューストアは、データを探すためのキーと、その中身である値(バリュー)を 1 組にして保存する NoSQL である。

キー値
session:7731ログイン中の利用者情報
cart:2048買い物かごの中身
img:logo画像データ

キーを指定すると対応する値が 1 つ返ってくる、という単純な仕組みで、そのぶん読み書きが速い。値の中身の形は DBMS が決めないため、値の内部の項目を条件にして探すような使い方には向かない。

たとえ番号札で預けるクロークのようなもの。札の番号を言えば荷物はすぐ出てくるが、荷物の中身を手がかりに探してもらうことはできない。

覚え方辞書の「見出し語 → 説明」と同じ形。見出し語がキー、説明が値。

出題のポイント

  • 混同注意キーバリューストアはキーで値を引くことに特化し、値の内部を条件にした検索はドキュメント指向データベースのほうが得意である。

KVS は Key-Value Store の頭文字をとった、キーバリューストアの略称である。

指すものはキーバリューストアと同じで、文章によって日本語表記と略称のどちらも使われる。キーと値の組でデータを持つという性質も、そのまま当てはまる。

覚え方K(Key)・V(Value)・S(Store)の 3 文字を順に開くと正式名になる。

ドキュメント指向データベースは、JSON や XML のように項目を持った文書(ドキュメント)を 1 件の単位として保存する NoSQL である。

文書持っている項目
会員 1氏名、メールアドレス
会員 2氏名、電話番号、好きなジャンル

文書ごとに持つ項目が違ってもよく、表のように列をそろえておく必要がない。DBMS が文書の中の項目を読み取れるため、項目の値を条件にした検索もできる。

たとえ決まった様式の申込用紙ではなく、人によって書く欄の違う自由記入のカードを 1 枚ずつ綴じたファイルのようなもの。

覚え方ドキュメント(document)は「書類」。書類 1 枚がそのまま 1 件のデータ。

出題のポイント

  • 混同注意ドキュメント指向データベースは 1 件ごとに項目が違ってよく、列を先に決める RDBMS の表とは持ち方が異なる。

「キーバリューストア」と「ドキュメント指向データベース」の違い

観点キーバリューストアドキュメント指向データベース
1 件の形キーと値の組項目を持つ文書
決め手中身の扱い値の中身は DBMS が解釈しない文書の中の項目を DBMS が読み取れる
検索キーで引く項目の値を条件にして探せる

グラフ指向データベースは、データをノード(点)、データ同士のつながりをエッジ(線)として保存する NoSQL である。

友人

友人

友人

利用者A

利用者B

利用者C

ここでのグラフは折れ線グラフではなく、点と線で結んだネットワークの形を指す。つながりそのものをデータとして持つため、知り合いの知り合いや、駅から駅への経路のように、つながりを何段もたどる処理が得意である。

たとえ人物の名前を丸で囲み、関係のある人同士を線で結んだ相関図をそのまま保存しておくようなもの。

覚え方グラフ = 棒や折れ線ではなく、鉄道の路線図のような「駅(点)と線路(線)」の図。

出題のポイント

  • 混同注意RDBMS は表どうしを共通の項目で結び付けてつながりを表し、グラフ指向データベースはつながりをエッジとして直接持つ。

要点

  • データベースは、重複を減らして共有するために、目的に沿って整理して蓄えたデータの集まりである。
  • DBMS は、多くの利用者が同じデータを同時に使っても整合性が崩れないように共有を支え、障害回復やアクセス権管理も受け持つ。
  • RDBMS は関係データモデルに基づき、行と列から成る表でデータを管理し、SQL で操作する。
  • NoSQL は表によらないデータベースの総称で、キーと値の組、文書、ノードとエッジなど、型ごとに異なる持ち方をする。

確認問題

この単元の過去問から 4 題

確認問題を解く

この分野の過去問をすべて見る