AI個別技術と関連理論 13・データベース1

続いては、古くからある「データベース」と人工知能技術の結びつきについてです。新しいICT技術や人工知能の応用により、データベースのあり方も変わりつつあります。そのような「AI時代のデータベース」について見ていきます。

 

そもそもデータベースとは

そもそもデータベースとは何かというところから整理しましょう。

簡単に言えば、データベースとは「決められたルールにしたがって整理されたデータの集積」です。コンピュータとの結びつきが強いイメージがありますが、実は大昔からあるものでして、たとえば「戸籍」なんかは、洋の東西を問わず古代から、徴税の根拠として統治者・為政者が作ってきました。おそらく人類最初のデータベースです。

そういった紙ベース媒体によるものといえば、「辞書」なんかも間違いなくデータベースです。アルファベット順やあいうえお順に見出し語が並んでいます。「決められたルールにしたがって整理されている」わけです。

ではその整理が何のためかというと、検索できるようにするためです。検索してデータが参照できる(アクセスできる)からこそ、それはデータベースと呼べるのですね。

まとめると、「検索し、参照・利用できるデータの集まり」がデータベースです。

 

データ・モデル

続いてデータベースの「構造」についてです。どのような分野のデータなのか、どのように使われるデータなのかという「データ活用のあり方」によって、データを整理し管理するルール、形式が左右されてきます。このデータ構造を「データ・モデル」といいます。

「辞書」ならば単純にアルファベット順やあいうえお順で十分ですが、「タウンページ」は業種別にカテゴリー分けされたうえであいうえお順になっていますね。その方が助かります。

このように、集積されたデータを効率的にうまく活用できるようにルール化することが「データ・モデル」です。では、そろそろコンピュータやICT分野のデータベースの話に入っていきましょう。コンピュータで作成・管理・検索できるデータベースのデータ・モデルはこれまで各種考えられてきましたが、現在までのところ有力なものはリレーショナルデータベースです。

 

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

リレーショナルデータベース Relational Data Base (RDB) は、エドガー・F・コッドというIBMの研究者が1969年に考案した Relational Data Model、つまり「関係データ・モデル」にもとづいて設計されたデータベースです。

リレーショナルデータベースは「テーブル table」と呼ばれる表形式の構造(データ・モデル)を持ちます。Excelの表を思い浮かべていただければイメージがつかめるでしょう。Excelで「シート sheet」と呼ばれる1枚の表が、リレーショナルデータベースでは「テーブル」と呼ばれます。

そして、Excelでは上から順に数字の番号で並べられている「行」が、リレーショナルデータベースでは「レコード record」、同じく左から右へA、B、C、D……と並べられている「列」が「フィールド field」と呼ばれます。

1つのレコードは、まとめて1件のデータになります。そして、1件1件のデータにはたくさんの属性がありますね。その属性はフィールドに記載していきます。たとえば以下のような感じです。

 


このように構造化しておくと、顧客番号からでも、氏名や電話番号からでも、ひとつのデータが簡単に検索できるのです。

 

リレーショナルデータベース管理システム

上のようにデータを構造化して整理すると、データを有効に活用できるようになります。検索はもちろんですが、ほかの複数のテーブル、たとえば「巨大ネット通販サイト・ToneRiva (トネリバ)の商品売上記録」のテーブルと組み合わせて、顧客の好みを抽出してまとめることなども可能になります。

このような操作を可能にするのがリレーショナルデータベース管理システム Relational Data Base Management System (RDBMS)です。データベースの基本的な操作から、上記のような複雑な串刺し検索・データ抽出まで、RDBMSを通じてコマンドすることで行います。そして、RDBMSにコマンドを送るために用いられるのがSQLというデータベース言語です。

 

SQL

SQLは Structured English Query Language、「構造化された問い合わせ言語」です。データベースに対して「〇〇というデータをください」とか、「△△というデータを挿入してください」といった要求をRDBMSに与える(問い合わせる)ための言語ということです。つまり、データベースに要求を出すことをクエリ(問い合わせ)といいます。

以前はSQLには、手順を逐次実行するよう記述するプログラムリストを作成する機能はなく、C言語やJavaなど別の言語のプログラムに埋め込んで、そちらのプログラムからクエリを出してもらうしかありませんでした。しかし現在では、SQLにプログラミング機能が加わっています。それによって単なる対話の手段としてだけでなく、データベース管理システム上にSQLプログラムリストをインストールすれば、一連のルーティンをプログラムとして呼び出し、実行することができます。このような仕組みで動くプログラムはストアドプロシージャー stored procedureといいます。

リレーショナルデータベース管理システムにはMicrosoft SQL Server, MSDE, Oracle, MySQL, PostgreSQL,DB2/UDBなどがあります.これらは全てSQLに対応しています. このことからSQLは「データベース界の標準語」とも言われています。

 

では、次の記事で、リレーショナルデータベースがどんなふうに活用されるのか、簡単な例で見てみましょう。