Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

Accessでデータベース作成やデータ中心のアプリケーション開発に取り掛かる前に、まずはデータベースおよびリレーショナルデータベース管理システム(RDBMS)に関する基本的な概念をおさえておきましょう。これらは実用的で役立つデータベースを作成するために必要な基礎知識であり、データベース関連の書籍やチュートリアル、Webサイト、技術文書などでも頻繁に登場する用語です。

リレーショナルデータベース管理システム(RDBMS)の基本概念

そもそもデータベースとは何か?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

データベースとは、端的にいえば「電子的に整理され体系化されたデータの集合体」であり、必要に応じてアクセス・操作・検索ができるリポジトリ(保管庫)のことです。データベースにはさまざまな種類を作成できます。現在もっとも広く使われているのはリレーショナルデータベースですが、NoSQLデータベースと呼ばれる非リレーショナル型のデータベースを作成することも可能です。

リレーショナルデータベースとは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

データベースにおける構造上の基本単位は「テーブル」です。リレーショナルデータベースでは、キーを使って各テーブル同士を関連付け、リレーションシップ(関係)を構築します。つまり、リレーショナルデータベースとは「互いに関連付けられたテーブルの集合体」ということになります。

リレーショナルデータベースのテーブルはどのような構造か?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

リレーショナルデータベースのテーブルは、レコード(行)とフィールド(列)で構成されます。各テーブルには必ず「主キー」フィールドが必要であり、この主キーによって各行を一意に識別できるようになっています。

テーブルは、単一のエンティティ(実体)や一つのテーマ・概念に関する情報を格納します。たとえば、パン屋さんの情報を管理するデータベースなら、「Products(商品)」「Orders(注文)」「Customers(顧客)」などのテーブルを持つことになるでしょう。Customersテーブルには、顧客名、住所、希望する支払方法などの情報が格納され、これらがフィールド(列見出し)となります。

その後、これらのテーブル間にリレーションシップが設定されます。Excelで表を作った経験のある方は多いと思いますが、Excelの行・列にもリレーショナルデータベースのレコード・フィールドに相当するものがあります。ただし、リレーショナルデータベースは非常に厳格で、テーブル内の各列に格納できるデータ型が厳密に定められています。リレーショナルデータベースでのテーブル作成に関するルールは、Excelよりもはるかに厳密です。また、Excelの表はワークブック内で独立して存在することが多く、他の表と関連付ける必要がない点も異なります。

テーブル間のリレーションシップはどのように作られるのか?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

リレーションシップは「キー」によって作成されます。テーブルの主キーとは、テーブル内の各行を一意に識別できるフィールドのことです。たとえば、地域の獣医師のために小さなデータベースを作り、診療する動物のワクチン接種状況などを管理するとしましょう。「Owners(飼い主)」テーブルにはOwnerID、氏名、支払方法などのフィールドを設け、「Pets/Animals(ペット・動物)」テーブルには動物の種類や名前などを分類して格納します。

一人の飼い主が複数のペットを飼っている場合もありますが、このデータベースでは各ペットに登録される飼い主は1人だけとします(実際には家族全員が飼い主であるケースもありますが、ここでは簡単化のため、支払責任者を飼い主として扱います)。OwnersテーブルにはOwnerIDという列があり、これがテーブル内のすべての飼い主を一意に識別します。

リレーションシップを作るには、この主キーを別のテーブルに配置します。別テーブルに置かれた主キーは「外部キー」と呼ばれます。OwnerIDフィールドをPets/Animalsテーブルに配置すれば、それはPets/Animalsテーブルにおける外部キーとなります。なお、Pets/Animalsテーブル自体にも、PetID(AnimalID)という独自の主キー列があり、これにより各ペットを一意に識別します。

2つのテーブル間に関係を作るには、両者がどのように結びついているかを確認したうえで、OwnersテーブルのOwnerID(主キー)とPets/AnimalsテーブルのOwnerID(外部キー)を連結します。

もっとも一般的なリレーションシップの種類は「一対多(1対多)」です。他人が作成したデータベースを見るときに、最もよく目にするのもこのタイプでしょう。たとえばEmployees(従業員)テーブルとCustomers(顧客)テーブルの関係を考えると、1人の従業員が多くの顧客を担当できる一方で、各顧客に割り当てられている担当者は1人だけ、という形になります。

ときには「一対一(1対1)」のリレーションシップに出会うこともあります。これは、あるテーブルの1件のレコードが、別のテーブルの1件のレコードと対応する関係です。このタイプは比較的まれで、特別な理由や業界要件がない限り、通常はデータベース管理者が2つのテーブルを1つに統合します。

さらに「多対多」のリレーションシップも存在します。これは、あるテーブルの1件以上のレコードが、別のテーブルの1件以上のレコードと関連するケースです。多対多の関係は、通常、中間テーブル(第3のテーブル)を作り、それぞれのテーブルと一対多の関係で結びつけることで処理されます。

参照整合性とは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

参照整合性とは、2つのテーブル間にリレーションシップが設定され、一方のテーブルのすべてのレコードが、もう一方のテーブルの対応するレコードと正しく一致している状態を指す用語です。言い換えれば、主キー側のテーブルに存在しない値が、関連テーブルの外部キーとして登録されていてはならないということです。

たとえばEmployeeIDを使ってEmployeesテーブルとCustomersテーブルの間に参照整合性を設定した場合、Customersテーブル側に、Employeesテーブルに存在しないEmployeeIDを入力することはできません。参照整合性を指定することで、テーブル間の関係の妥当性が保たれ、データの一貫性が検証されます。

エンティティ・リレーションシップ図(ER図)とは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

データベース理論やモデルを学んでいると、「エンティティ・リレーションシップ図(ER図)」という用語に出会います。データベースを計画する際、データベース管理者は必要となるテーブル(=エンティティ)を洗い出します。各エンティティはそれ自体で一つのテーマや概念を表し、エンティティ間の関係がデータベース内のテーブル間の関係を記述します。エンティティには属性もあり、これはテーブル内のフィールドに相当します。たとえばEmployeesテーブルには、EmployeeID、氏名、役職、職務内容などの属性があります。

ER図は紙に手描きしてもよいですし、専用ソフトウェアで作成することもできます。包括的なER図を視覚的に表現する場合、エンティティは長方形で、リレーションシップは線で示されます。本格的なER図では、主キー・外部キー・その他の列も明示すべきです。ただし、最初の計画段階では簡略化したER図を作り、主要なエンティティ(テーブル)とその関係を特定できたら、属性や主キー・外部キーまで詳細に記述したより包括的なER図を設計するとよいでしょう。

データベース管理システム(DBMS)とは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

データベース管理システム(DBMS)とは、データベース管理者がデータベースやそこに格納されたデータを作成・更新・操作できるようにするプログラムです。市場には多数のDBMSが存在し、商用製品もあればオープンソースのものもあります。その多くはエンタープライズレベルの製品であり、大規模な企業取引を扱う場合や、データベースアーキテクトを目指して勉強しているのでない限り、必ずしも必要になるものではありません。

SQLとは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

SQL(Structured Query Language:構造化問合せ言語)は、リレーショナルデータベースにおいてデータの作成・更新・操作を行うために使われる言語です。比較的習得しやすい言語で、CREATE、SELECT、INSERT、JOIN、UPDATE、WHERE、DELETEといったステートメントを使いこなせば、リレーショナルデータベース内のオブジェクトを作成・操作するための標準的な作業のほとんどをこなせます。ベンダーごとに独自のSQL実装があり細部は多少異なりますが、一度どれか一つのバージョンを習得すれば、他のバージョンも容易に使いこなせるようになります。

クエリとは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

クエリとは、データベースに対して発する「質問」や与える「命令」のことです。シンプルなクエリの例としては「特定の地域の顧客をすべて抽出する」などが挙げられます。より複雑な例では「特定の従業員に割り当てられた顧客をすべて取得する」などがあり、この場合はデータベース内のテーブル間に作成されたリレーションシップが活用されます。正しく設計されたデータベースであれば、クエリが求める答えや情報を取得したり、クエリが指示するコマンドを実行したりできます。

関連記事:Excel VBAで簡単なデータベースを作成する方法

フォームとは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

フォームは、フロントエンドのユーザーとそのデータ入力作業を、バックエンドのテーブルから切り離すために作成されるデータベースオブジェクトです。主な目的は、アクセスしやすいシンプルなデータ入力環境を提供することにあります。フォームを使えば、データベース管理者はグラフィカルユーザーインターフェース(GUI)を構築してフロントエンドユーザーの入力作業を簡素化できるだけでなく、バックエンドのテーブルを変更から守ることができます。バックエンドのテーブルやリレーションシップをユーザーに直接触らせてしまうと、関係が書き換えられてクエリが動作しなくなる恐れがあるためです。フォームはこの問題を解決します。また、作成済みのフォームやデータベース内を移動するのに便利な「ナビゲーションフォーム」など、その他の種類のフォームを作成することもできます。

関連記事:Excelでフォーム付きデータベースを作成する方法

レポートとは?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

レポートとは、テーブル内の特定のフィールドや計算結果を印刷可能な形式でまとめたものです。1つのテーブルからフィールドや計算結果だけを選んで追加することもできますし、複数のテーブルから関心のあるフィールドを集めてレポートに組み込むことも可能です。平均値・最大値・最小値といった集計計算を加えたり、データをグループ化して表示したりすることもできます。

Accessはどこで活躍するのか?

リレーショナルデータベース管理システム(RDBMS)の基本概念を徹底解説!

Microsoft AccessはMicrosoftが提供するリレーショナルデータベース管理システムで、現在最も人気のあるデスクトップ向けデータベースソフトウェアです。広く利用されている表計算アプリケーションのMicrosoft Excelと、エンタープライズレベルのRDBMSであるMicrosoft SQL Serverの中間に位置する、絶好のツールといえます。Excelで正しく構造化されたテーブルはAccessにインポートでき、Access上でさらに加工することが可能です。また、AccessをSQL Serverに接続し、SQL Serverで作成したテーブルのフロントエンドとしてAccessを使うこともできます。

さらに、AccessではSQLステートメントを一切書かなくても、テーブル・クエリ・フォーム・レポートを作成し、非常に充実した実用的なデータベースを構築できます。おなじみのリボンインターフェースからこれらのオブジェクトを作成でき、デザインビューでクエリを作成すると、Accessが自動的にSQLを生成してくれます。生成されたSQLはSQLビューで確認・編集することも可能です。SQLを学ばなくてもAccessで十分に機能するデータベースは作れますが、専門的なニーズに応える高度なデータ中心アプリケーションを作ろうとするなら、SQLクエリを直接記述できる知識が非常に役立ちます。

また、VBA(Visual Basic for Applications)を活用すればデータベースをさらに強化でき、Accessプログラミングは高度な用途や組織の特殊なニーズに対応するうえで有用なスキルとなります。

ただし、そのためにはリレーショナルデータベースの基礎理論に関連する概念を理解し、マスターしておく必要があります。データベース作成の最終的な目標は、データを効率的に格納し、クエリに対して正しく必要な情報を返す中央リポジトリを構築することです。

以上がRDBMSの基本概念の概要です。

まとめ

Microsoft Accessやその他のリレーショナルデータベースの学習を始めるにあたり、正確にデータベースを設計するためにマスターしておくべき概念や用語がいくつかあります。書籍やチュートリアル、学習マニュアルで頻繁に目にする用語もあれば、データベースオブジェクトの作成を進める中で、リレーションシップの作成など特定の手法を繰り返し適用することになります。混乱を避け、リレーショナルデータベース管理システムのパワーを最大限に引き出すためにも、リレーショナルデータベース理論の基礎に親しんでおきましょう。基本をマスターすれば、あとは実践的な応用へとフルスピードで進むことができます。

現在Accessを使用している方、あるいはAccessやその他のリレーショナルデータベース管理システムの導入を検討している方がいれば、ぜひコメントでお聞かせください。

関連記事

  • Excelで学生データベースを作成する方法(簡単な手順)
  • Excelで顧客管理データベースを作成する方法(簡単な手順)
  • Excelで社員データベースを作成する方法(簡単な手順)
  • Excelで顧客データベースを維持・管理する方法
  • Excelで在庫管理データベースを作成する方法(3つの簡単な方法)
  • Excelで検索可能なデータベースを作成する方法(2つのクイックテクニック)
  1. Excelでリレーショナルデータベースを作成する方法(初心者向け簡単ステップ解説)

    リレーショナルデータベースとは、複数のデータテーブルに保存された情報同士の関係性を紐づけて管理する仕組みです。複数のワークシートにまたがる大量のデータセットを扱う際、Excelでの作業を大幅に効率化できます。リレーショナルデータベースを活用すれば、必要な情報を素早く検索・抽出できるほか、同じデータをさまざまな視点で表示することも可能になります。この記事では、Excelでリレーショナルデータベースを作成する手順を、ステップごとにわかりやすく解説します。 Excelでリレーショナルデータベースを作成する手順 まず2つのテーブルを作成し、その後テーブル間のリレーションシップ(関連付け)を構築します。

  2. 健全なデータベース管理システム(DBMS)が必要な7つの理由

    数週間も先延ばしにしていた家や部屋の掃除にようやく取りかかると、あちこちに散らかった物の山に直面します。そこで「誰でも物を決まった場所に戻せる仕組みを作ろう」と考えるはずです。カテゴリーを定義し、家庭内の物品をそれぞれの分類ごとに名前を付けて整理していく。それでも、計画と実行は別物であるように、分類の中には不整合が残ってしまうこともあるでしょう。 組織における貴重なデータの管理も、これとよく似ています。企業データベースとも呼ばれるこのデータ資産を、複数のデータベースとして体系的に作成・運用するための仕組みが「データベース管理システム(DBMS)」です。DBMSは、ユーザーやプログラマーに対して