データベースとは?基本情報技術者試験の重要用語解説!

データベースとは?基本情報技術者試験の重要用語解説!

基本情報技術者試験の合格のためには、データベースに関する理解が欠かせません。データベースはすべてのシステムの基本となるもので、基本情報技術者試験でも必ず問われる内容です。

この記事では、データベースの概要やデータベースの種類、そしてデータベースに関して基本情報技術者試験に出るポイントについて解説します。

目次

データベースとは

データベースとは、言葉の通りデータを集めたものを指します。データベースで管理されるデータは特定の共通項目を持っているという特徴があります。たとえば「人」のデータベースであれば、「名前」や「年齢」「住所」などの共通項目を持つことになります。共通項目を持つデータを集めることで、データの整理や検索などがしやすいようになっています。

データベースの活用方法

データベースは主にシステム構築において活用されます。システムでは顧客情報の管理や商品の購入情報などたくさんのデータを扱うことになるため、データを効率的に管理するデータベースは必須となります。

また、システム以外でも書籍の管理のために索引を作ったり、連絡帳を作ったりするような日常的な用途でもデータベースは用いられます。

データベースのメリット

データベース化によるメリットは以下の通りです。

  • データの整合性の担保
  • データの操作性向上
  • 同時アクセス性の確保

データベースでは各データが保有できる項目は決まっています。先ほどの「人」のデータベースを例にすると、「名前」や「年齢」「住所」は保有できますが、「商品名」や「単価」といった情報は保有できません。
データベースで保有できる情報を制限することで、誤ったデータがデータベースに登録されることを防ぎ、データの整合性を確保できるようになっています。

また、データベース化を行うことで、特定の条件でデータを検索したり、データの追加・削除が容易となります。例えば、10歳から20歳の人を検索したい場合などでも、データベースの「年齢」の項目によって簡単に情報抽出が可能です。

データベース化のメリットとして、複数人がデータを操作することができる点があります。データベースは複数人が同時に操作しても整合性が確保される仕組みを持っており、大人数で行う大規模なシステム開発においても正しくデータを管理することができます。

データベースの種類

データベースには様々な種類が存在します。ここでは、基本情報技術者試験で良く問われるデータベースについて解説します。

階層型データベース

階層型データベースは、データが階層化されたツリー構造となっているデータベースのことです。まるで木の枝のように、親の要素に対して複数の子の要素が存在します。イメージとしては、会社の組織図を思い浮かべるとよいかもしれません。

階層型データベースには検索速度が速いというメリットがありますが、データの追加や削除に弱いというデメリットがあり、近年のシステム開発で利用されるケースは少ないです。

リレーショナルデータベース

リレーショナルデータベースは、現在もっとも一般的に利用されているデータベースです。基本情報技術者試験でも多く問われます。リレーショナルデータベースの特徴は、表形式でのデータ管理とリレーション(関係性)です。

リレーショナルデータベースはExcel表のように一定の共通項目を持ったレコードとしてデータを管理します。さらに、リレーショナルデータベースではリレーションと呼ばれる複数の表をつなぎ合わせる機能があります。共通の番号(ID)を持ったデータをつなぎ合わせることで、幅広いデータ表現が可能となります。

一つ例をあげましょう。例えば「商品」というデータベースには、「商品の名称」「売価」「仕入価格」などの情報があります。一方で「売上」というデータベースには「商品の名称」「売上日」「購入者」といった情報があります。この二つのデータベースを「商品の名称」でつなぎ合わせることで、例えば売上日ごとに売上金額を計算するようなこともできます。

商品

商品の名称 売価 仕入価格
みかん 100円 50円
りんご 200円 100円
バナナ 300円 200円


売上

商品の名称 売上日 購入者
みかん 2/1 田中さん
みかん 2/4 佐藤さん
バナナ 2/4 森永さん


「商品」と「売上」を「商品の名称」でつなぎ合わせたもの

商品の名称 売上日 購入者 売価 仕入価格
みかん 2/1 田中さん 100円 50円
みかん 2/4 佐藤さん 100円 50円
バナナ 2/4 森永さん 300円 200円

→ 2/4の売上は100+300で400円

NoSQLデータベース

NoSQLデータベースは、近年登場した新しいデータベースです。厳密には、NoSQLという単一のデータベースがあるわけではなく、リレーショナルデータベース以外の様々なデータベースの総称をNoSQLと呼びます。一例としては、キーバリュー型のデータベースやドキュメント型のデータベース、またグラフ型などがNoSQLのデータベースとして知られています。

NoSQLデータベースは、リレーショナルデータベースの欠点を解消するために生み出されました。具体的には、NoSQLは大量のデータの処理に向いています。近年話題となっているビッグデータの管理などに向いているデータベースです。

データベース関連で試験に出るポイント

ここでは、データベース関連で試験に出るポイントについて解説します。

テーブル

テーブルとは、その言葉通りデータベースの構成要素である表のことです。テーブルは共通項目を持ったデータの集まりです。一般には、横列に「名前」「年齢」「住所」といったデータの項目を並べ、その一行ごとの要素として「田中さん」「25歳」「東京都」といったデータを保管していきます。

この一行一行の要素のことを「レコード」と呼びますので、合わせて覚えておくとよいでしょう。

正規化

正規化とは、データの重複を排除し、効率的にデータを管理できる形式にデータベースを変更することを指します。基本情報技術者試験ではほぼ確実に出題される頻出のポイントです。

正規化には、第1正規化から第5正規化までの段階があります。一般的には第3正規化までを行うことが多いです。段階ごとに「データの繰り返しの削除」や「部分従属性の排除」、「推移従属性の排除」を行うことになります。

DBMS

DBMSとは、データベースの管理ソフトウェアのことを指します。Microsoftが販売しているSQLServerやオラクルのOlacle Databaseなど、製品によって特長があります。DBMSはデータの登録や削除、検索などのデータ操作に加えて、データのバックアップなどの様々な機能を提供します。

一般的にシステムを構築する際には、何らかのDBMSを用意してデータベースを構築することになります。

SQL

SQLは、データベースを操作するための言語です。SQLを用いることで、データの検索や登録、削除などを実現します。

例えば、データを登録するためのINSERT文やデータを検索するためのSELECT文、データを削除するためのDELETE文などは必ず覚えておくとよいでしょう。

基本情報技術者試験では、SQLの様々な構文が出題されます。任意検索が可能な%や検索元を示すWHEREなどもよく出題されますので覚えておくとよいでしょう。

リレーション

リレーションは、テーブル間の関係性を示すためのものです。上述したように、テーブル同士はリレーションにより結合し、連携してデータを利用することができます。

リレーションはリレーショナルデータベース特有の考え方で、他のデータベースにはありません。リレーションによりデータの整合性が担保されるという特徴がありますが、一方で整合性を求めすぎるとデータの処理速度や柔軟なデータベース操作ができなくなってしまうというデメリットもあります。

E-R図

E-R図は、データベースのテーブル間のリレーションを示したものです。リレーションがあるテーブル同士を線でつなぎ、視覚的にテーブル同士の関係性が分かるようになっています。E-R図を作成することでデータベースの構造を表現することができます。

E-R図の解釈は基本情報技術者の過去問でも多く出題されていますので、押さえておくとよいでしょう。

3層スキーマ

3層スキーマとは、データベースを概念スキーマ、外部スキーマ、内部スキーマに分けて整理することで、データベースの独立性を担保するための考え方です。

概念スキーマはデータベース上のデータ同士の関連性を示す構造を指し、外部スキーマはデータベースの利用者からみた見え方を、そして内部スキーマは物理的な記憶装置上のデータの格納方法を指します。

少し抽象的で難しいですが、基本的には概念スキーマがテーブルそのもの、外部スキーマがテーブルから特定の情報を抜き出して表示したもの(ビューといいます)、そして内部スキーマが利用者からは見えないデータの物理的な配置を意味すると覚えておけばよいでしょう。

まとめ

この記事では、基本情報技術者試験を受けようとされている方に向けて、データベースについての解説を行いました。特に初学者の方にとってデータベースはつまづきやすいポイントだと思います。この記事を読んで、分からないところがあれば重点的に学習することをおすすめします。