KENスクールブログ | パソコン教室・パソコン講座なら個別指導のKENスクール

BLOGKENスクールブログ

ネットワーク

データベース_その1

データベースの基本について2回に分けてご紹介します。
今回は、データベースの概要を紹介していきます。

データベース

データベースとは、直訳すると「データ(Data)の基地(Base)」という意味になります。 データベースの概念を簡単に理解するために図書館をイメージしてみましょう。

図書館には膨大な量の資料や書籍があり、その分野は多岐にわたります。そして図書館の利用者は、それぞれ異なる調査目的を持って訪れます。
もし図書館にある膨大な量の資料や書籍が全く整理・分類されていないとしたら、どうなるでしょうか。利用者は目的の資料や書籍をどのように探し出せば良いかわからず、結局一つずつ資料を調べなくてはなりません。これではとても不便です。
実際には、資料や図書は分類・整理がされ、適切な場所に配架されているので、利用者は欲しい資料をすぐに見つけることができるようになっています。

データベースも、目的やテーマに沿って整理整頓されたデータの集まりであり、必要なデータをすぐに取り出すことができるようになっています。

身近なところでは、たとえばコンビニのレジやATMでもデータベースが利用されています。レジで打ち込まれたデータが本社のデータベースに送られて、商品の在庫を管理したり、売上金額を集計したりしています。また、ATMでは金額を入力すると、銀行のデータベースを参照して利用者の口座から入力した金額を引き落としてくれます。

RDBMS

データベースには、階層型データベースやネットワーク型データベースなど、いくつか種類があります。
その中の一つで現在最も利用されているのが、「リレーショナル型データベース」です。このリレーショナル型データベースを管理するシステムを、「RDBMS(Relational DataBase Management System)」といいます。

・RDBMSの種類
RDBMSは、オープンソースソフトウェアと商用製品に分かれ、さまざまなものが提供されています。
代表的なRDBMSを下記に示します。

リレーショナルデータベースの基本構造

リレーショナルデータベースでは、データの集合を「テーブル」という概念で管理します。テーブルは二次元の表で表され、「列」と「行」で構成されます(列は「カラム」や「フィールド」、行は「ロー」や「レコード」とも呼ばれます)。

リレーショナルデータベースにデータを格納するには、あらかじめテーブル名や列名、列ごとに格納できるデータの型(数値、文字列、日付など)、制約の定義を行います。テーブルの定義ができたら、1行ずつデータを格納(挿入)していきます。
また、テーブルに格納されているデータを参照する場合は、1つのテーブルを参照するだけでなく、複数のテーブルのデータを組み合わせて取り出すことができます。リレーショナルデータベースでは、複数のテーブル間でデータを関連付けることができます。

SQLを利用したデータベースの操作

データベースにデータを追加したり、変更、削除、問い合わせなどを行う場合、「SQL(Structured Query Language)」と呼ばれる言語を利用します。SQLの文法に従って作成された命令を、「SQL文」といいます。
LPICレベル1では、データベースを操作するための最低限のSQLを理解しておく必要があります。
今回は、最も基本的なデータの取得に使われる構文を紹介していきます。

テーブルの参照(SELECT文)

テーブルに格納されているデータを照会するには、「SELECT文」を使用します。

SELECTの書式

次の例1では、employeeテーブルから、「name」列だけを取り出しています。

SELECT文の実行例1

次の例2では、employeeテーブルから、「name」と「branch」の2つの列を取り出しています。

SELECT文の実行例2

employeeテーブルからすべての列を取り出したいときは、次の例3のように列名に「*(アスタリスク)」を指定します。

SELECT文の実行例3

条件に合ったレコードの取得(WHERE句)

では、テーブルから行を指定してデータを取り出すにはどうしたらよいでしょうか。
その場合には、検索条件を指定できる「WHERE句」を使うことで、該当する行を取得することができます。

検索条件には、「列名 = 値」や「列名 >= 値」のように、列と値を比較する条件式を記述します。

・WHERE句の書式

次の例1では、「age」列の値が「30」以上のレコードを取り出しています。
WHERE句を使ったSELECT文の実行例1

次の例2では、「branch」列の値が「Yokohama」であるレコードの、「name」列と「branch」列を取り出しています。

 

いかがでしたでしょうか。
次回は、引き続きSQLのその他の基本構文を紹介していきます。